Frage Wie erzwingen Sie eine Aktualisierung der Gruppenmitgliedschaft eines Benutzers in Windows 7?


Ich schreibe eine Webanwendung, die .NET Windows-Authentifizierung verwendet und auf die Gruppenmitgliedschaft eines Benutzers angewiesen ist, um sie für verschiedene Bereiche der Website zu autorisieren. Im Moment bin ich auf einer Dev-Maschine, die NICHT Teil einer Domain ist und AD nicht verwendet, sondern benutze nur lokale Benutzergruppen. Im Allgemeinen funktioniert das so, wie es ist.

Beim Testen der Anwendung muss ich jedoch Rollen in meinem Benutzerkonto hinzufügen und entfernen, um zu überprüfen, ob die Funktionen funktionieren. Wenn ich eine Rolle hinzufüge, scheint sie sich nicht zu verbreiten, bis ich mich aus Windows abmelde und mich erneut anmelde.

Ist es möglich, eine Aktualisierung der Gruppenmitgliedschaft zu erzwingen, ohne sich abmelden zu müssen?


24
2017-11-30 15:21


Ursprung


Willst du dich von der Station oder der Website abmelden? - Dan
Guter Punkt, ich habe meine Frage geklärt um zu klären. Ich muss mich von meinem Windows-Benutzerkonto abmelden (Fenster abmelden) und mich erneut anmelden. - kingdango
Es erzwingt Systemaktualisierungen für Gruppenmitgliedschaften. Nachdem Sie die Befehlsaufgabe kill explorer erneut ausgeführt haben, führen Sie den Explorer normal aus. Sie werden dann auch ein neues Sicherheitstoken in Ihrer neuen Explorer-Instanz haben.


Antworten:


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

Dies wird den Explorer beenden und dann mit Ihrem Benutzerkonto wieder öffnen ... Es wird Sie nach Ihrem Passwort fragen und Sie erhalten ein neues Token, um Ihre Mitgliedschaft zu aktualisieren.


20
2018-01-16 21:14



Dies scheint zu funktionieren, aber ich habe festgestellt, dass alle zugeordneten Laufwerkverbindungen unterbrochen werden. - SomeGuy
funktioniert nicht in Windows 10 Pro für mich - Dave Cousineau
Siehe auch: woshub.com/.... Für Computer klist -lh 0 -li 0x3e7 purge, für Benutzer klist purge. NB: Ich habe diese Befehle nicht selbst ausprobiert; nur Informationen aus dem verlinkten Artikel wiederholen. - JohnLBevan


Dies ist im systemweiten Umfang schwierig durchzuführen, ist jedoch mit einzelnen ausführbaren Dateien möglich, da deren Prozess abgebrochen und unter den Anmeldeinformationen des Benutzers neu gestartet wird.

Wenn Sie sich anmelden, erhalten Sie unter anderem ein Token, das Ihre Gruppenzugehörigkeit widerspiegelt. Die einzige Möglichkeit, dieses Token zu aktualisieren, besteht darin, sich anzumelden.


11
2017-11-30 15:31



Wenn das der Fall ist, ist das ein Mist, es wird meine Tests etwas erschweren. Danke für die Einsicht ... Ich hoffe, dass ein anderer Benutzer eine bessere Antwort hat, aber ich schätze, durch Ihre 15k + rep wissen Sie, wovon Sie reden. - kingdango
@kingdango könntest du immer benutzen runas Führen Sie den Prozess als einen anderen Benutzer als Ihren eigenen aus, und bearbeiten Sie die Gruppenmitgliedschaft dieses Testbenutzers. Jedes Mal, wenn Sie den Prozess schließen und neu starten runas es sollte eine neue Sitzung erstellen, die sollte spiegeln die geänderte Gruppenzugehörigkeit wider. Ich habe das nicht getestet, aber theoretisch sollte es so funktionieren. - MDMarra
Das ist schwer wegen meiner Entwicklungsumgebung, aber es lohnt sich, es zu erforschen. Danke für die schnelle und nachdenkliche Antwort Mark. - kingdango


Ich hatte eine ähnliche Situation auf einer Website, die auf die Mitgliedschaft eines Nutzers in AD angewiesen war, um sich auf der Website einzuloggen. Eine Sache, die in Betracht gezogen werden sollte, ist, dass der Webserver die Authentifizierung / Abfrage an den AD-Server mit den von ihm gelieferten Anmeldeinformationen durchführt; Wenn der Webserver Zugriff auf AD hat und den Server nur danach fragt, ob der Benutzer in der Gruppe XYZ ist, erhält er eine Liste direkt von AD und nicht vom Login-Token des Benutzers, für den die Anmeldung / Abmeldung erforderlich ist Token mit den richtigen Privilegien.

Ich kenne deine dev-Maschine im Moment aus der Beschreibung, habe aber keinen Zugang, aber es klang wie du meinst, wenn du es verwendest, brauchst du diese Funktionalität.

Wenn Sie sich auf das Token verlassen, müssen Sie sich ab- und wieder anmelden.


4
2017-11-30 15:38



Danke für die nachdenkliche Antwort. Das ist ein guter Weg, um das Problem zu lösen. In normalen Situationen bin ich mehr als glücklich zu warten, bis der Benutzer eine aktualisierte Zugriffskontrolle erhält, selbst wenn dies bedeutet, dass er sich abmelden und sich erneut an seinem Rechner anmelden muss. Es ist nur das Testszenario, wo dies eine Last sein kann, aber es ist wirklich nicht so eine große Sache. Ehrlich gesagt, habe ich mehr Zeit gebraucht, um eine Abkürzung zu recherchieren. :-) - kingdango
Je nach Szenario kann es auch nützlich sein. Wenn der Server den Domänencontroller direkt abfragt, bedeutet dies, dass Änderungen fast sofort "migriert" werden. Wenn also jemand den Zugriff abbricht oder hinzufügt, benötigt er keinen Client-Anmelde- / Abmeldezyklus. Dies erleichtert IT-Mitarbeitern die Arbeit. - Bart Silverstrim


Es gibt eine skriptgesteuerte Möglichkeit, dies vollständig über die Befehlszeile auszuführen. Sie können verwenden klist.

klist purge

1
2017-12-22 18:56



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. Tut [Purge](https://technet.microsoft.com/en-us/library/hh134826.aspx?f=255&MSPPError=-2147217396) Regrab die Tokens obwohl? oder schmeißt es einfach die vorhandenen weg und lässt dich mit nichts zurück? Wenn Sie keine Token haben, wird der Relaunch-Explorer (oder welcher Prozess auch immer einen Token braucht) automatisch neu geordnet? - Brad
Es wird das Token neu generieren, wenn Sie neue Ressourcen anfordern. Ich habe dies recht häufig verwendet, als ich versuchte, Sicherheitsgruppen für Remote-Benutzer und -Workstation zu aktualisieren, wenn ich ihren AD-Objekten Gruppenmitgliedschaften hinzufügte. - Nixphoe
Oh schön (und sprengen, ich habe die Formatierung in diesem Kommentar durcheinander gebracht .... Sie bekommen die Idee) - Brad


  • Öffnen Sie den Task-Manager
  • Töte Explorer.exe (jeweils)
  • Klicken Sie auf Datei> Neue Aufgabe (Ausführen ...)
  • Geben Sie CMD ein
  • Geben Sie in der Eingabeaufforderung "RunAs / user: \ explorer.exe" ein

Erledigt.


-2
2017-08-09 17:54



Nein, falsch. Bitte lesen Sie die Frage. - HopelessN00b
@ HopelessN00b Dies sieht so aus, als ob es im Grunde genommen die akzeptierte Antwort wird. - Brad
@Brad Das hat nichts damit zu tun, ob es richtig oder falsch ist. MDMarra hat Recht (wie Bart), das (und die akzeptierte Antwort) sind falsch. Dieser Prozess erzwingt nicht das Aktualisieren von Gruppenmitgliedschaften. - HopelessN00b
@ HopelessN00b du hast Recht, wie ich später am Tag herausgefunden habe. Der Neustart war die einzige Möglichkeit, Mitgliedschaften zu aktualisieren. Beide Antworten sind leider falsch. - Brad
Abmelden und zurück sollten den Trick machen, kein Neustart nötig. Gruppenmitgliedschaften werden bei der Anmeldung angewendet. - Charlie Wilson