Come si forza un aggiornamento all'appartenenza al gruppo di un utente in Windows 7?


27

Sto scrivendo un'applicazione Web che utilizza l'autenticazione .NET di Windows e si basa sull'appartenenza al gruppo di un utente per autorizzarli in varie aree del sito Web. In questo momento sono su una macchina di sviluppo che NON fa parte di un dominio e non sta usando AD, invece sto solo usando gruppi di utenti locali. In generale questo funziona bene così com'è.

Tuttavia, mentre collaudo l'applicazione, devo aggiungere e rimuovere ruoli nel mio account utente per verificare che le cose funzionino. Quando aggiungo un ruolo, non sembra propagarsi fino a quando non esco da Windows e accedo nuovamente.

È possibile forzare un aggiornamento per l'appartenenza al Gruppo senza disconnettersi?


3
Vuoi dire disconnettersi dalla stazione o dal sito Web?
Dan,

Buon punto, ho aggiornato la mia domanda per chiarire. Devo disconnettermi dal mio account utente di Windows (disconnettersi da Windows) ed accedere di nuovo.
Kingdango,

Impone aggiornamenti di sistema alle appartenenze ai gruppi. Dopo aver eseguito il comando task uccidi di nuovo explorer, quindi esegui normalmente explorer. avrai quindi un nuovo token di sicurezza anche nella tua nuova istanza di explorer.

Risposte:


25
taskkill.exe /F /IM explorer.exe
runas /user:%USERDOMAIN%\%USERNAME% explorer.exe

Questo ucciderà Explorer, quindi riaprirà con il tuo account utente ... Ti chiederà la tua password e ti darà un nuovo token, aggiornando così la tua iscrizione.


1
Questo sembra funzionare, ma ho scoperto che le connessioni alle unità mappate si interrompono.
SomeGuy

2
non funziona per me in Windows 10 Pro
Dave Cousineau il

Vedi anche: woshub.com/… . Per computer klist -lh 0 -li 0x3e7 purge, per utente klist purge. NB: Non ho provato quei comandi da solo; basta ripetere le informazioni dall'articolo collegato.
JohnLBevan,

10

Questo è difficile da eseguire su scala di sistema, ma è possibile con singoli file eseguibili uccidendo il loro processo e rilanciandolo sotto le credenziali dell'utente.

Quando accedi, ricevi tra l'altro un token che riflette l'appartenenza al tuo gruppo. L'unico modo per aggiornare questo token è accedere.


Se questo è il caso, è un po 'ostacolare i miei test. Grazie per l'intuizione ... Spero che un altro utente abbia una risposta migliore, ma suppongo che il tuo rappresentante 15k + sappia di cosa stai parlando.
Kingdango,

2
@kingdango è sempre possibile utilizzare runasper eseguire il processo come un utente diverso dal proprio e manipolare l'appartenenza al gruppo dell'utente di test. Ogni volta che chiudi e riavvii il processo utilizzandolo runas, dovresti creare una nuova sessione, che dovrebbe riflettere l'appartenenza al gruppo modificata. Non l'ho provato, ma in teoria dovrebbe funzionare in questo modo.
MDMarra,

È difficile a causa del mio ambiente di sviluppo, ma vale la pena esplorarlo. Grazie per la risposta rapida e ponderata.
Kingdango,

4

Ho avuto una situazione simile di un sito Web che si basava sull'appartenenza di un utente ad AD per consentire l'accesso al sito Web. Una cosa da considerare è fare in modo che il server Web esegua l'autenticazione / query sul server AD con le credenziali fornite; se il server Web ha accesso ad AD e richiede semplicemente al server se l'utente è nel gruppo XYZ, otterrà un elenco direttamente da AD, non dal token di accesso dell'utente che richiede l'accesso / disconnessione per ottenere un nuovo token con i privilegi adeguati.

So che la tua macchina di sviluppo in questo momento dalla descrizione non ha quell'accesso ma sembrava che intendi quando lo distribuisci hai bisogno di questa funzionalità.

Se fai affidamento sul token, dovrai disconnetterti e riconnetterti.


Grazie per la risposta premurosa. Questo è un buon modo per risolvere il problema. In situazioni normali sono più che felice di aspettare che l'utente riceva il controllo di accesso aggiornato, anche se ciò significa che è necessario disconnettersi e accedere nuovamente alla propria macchina. È solo lo scenario di prova in cui questo può essere un peso, ma in realtà non è un grosso problema. Onestamente, mi ci è voluto più tempo per cercare una scorciatoia. :-)
Kingdango,

1
Può tornare utile, a seconda dello scenario. Se il server sta interrogando direttamente il controller di dominio, ciò significa che le modifiche "migrano" quasi immediatamente, quindi se qualcuno sta ottenendo l'accesso interrotto o aggiunto non richiede un ciclo di accesso / disconnessione client. Lo rende un po 'più semplice per il personale IT.
Bart Silverstrim,

3

C'è un modo con script per farlo completamente attraverso la riga di comando; puoi usare klist .

klist purge

Purging tickets destroys all tickets that you have cached, so use this attribute with caution. It might stop you from being able to authenticate to resources. If this happens, you will have to log off and log on again.Non [Purge](https://technet.microsoft.com/en-us/library/hh134826.aspx?f=255&MSPPError=-2147217396)regrab i gettoni però? o getta via quelli esistenti senza lasciarti niente? Se non disponi di token, il riavvio di explorer (o qualsiasi processo abbia bisogno di un token) li recupera automaticamente?
Brad,

Rigenera il token quando richiedi nuove risorse. L'ho usato abbastanza frequentemente quando provavo ad aggiornare i gruppi di sicurezza per utenti remoti e workstation quando aggiungevo l'appartenenza ai gruppi ai loro oggetti AD.
Nixphoe,

oh bello (ed esplosione ho incasinato la formattazione in quel commento .... hai avuto l'idea)
Brad

-2
  • Apri Task Manager
  • Kill Explorer.exe (ognuno)
  • Fai clic su File> Nuova attività (Esegui ...)
  • Digita CMD
  • Nel prompt dei comandi digitare "RunAs / user: \ explorer.exe

Fatto.


2
No, sbagliato. Si prega di leggere la domanda.
HopelessN00b,

4
@ HopelessN00b Sembra proprio che sia sostanzialmente la risposta accettata.
Brad,

1
@Brad Che non ha nulla a che fare con se è giusto o sbagliato. MDMarra ha ragione (come lo è Bart), questa (e la risposta accettata) sono sbagliate. Questo processo non impone al sistema di aggiornare le appartenenze ai gruppi.
HopelessN00b,

1
@ HopelessN00b hai ragione, come ho scoperto più avanti nel corso della giornata. Il riavvio è stato l'unico modo per aggiornare le iscrizioni. Entrambe le risposte sono sbagliate, purtroppo.
Brad,

1
Disconnettersi e riconnettersi dovrebbe fare il trucco, non è necessario riavviare. Le iscrizioni ai gruppi vengono applicate al momento dell'accesso.
Charlie Wilson,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.