2012-06-20 11 views
6

Ich habe Probleme mit dem Ausführen eines Powershellscript von verschiedenen Orten (C# -Anwendung, Webservice ...). Ich denke, dass es ein Benutzerkontextproblem ist, also versuche ich nun herauszufinden, unter welchem ​​Benutzerkontext das Powershell-Skript läuft.get Aktueller Benutzerkontext

Gibt es eine Möglichkeit, den aktuellen Benutzerkontext des Powershellscript zu protokollieren?

Antwort

4

Wenn Sie die tatsächlichen Benutzer wissen müssen:

[reflection.assembly]::LoadWithPartialName("System.DirectoryServices.AccountManagement") 
[System.DirectoryServices.AccountManagement.UserPrincipal]::Current 

Verwendung:

[System.DirectoryServices.AccountManagement.UserPrincipal]::Current | gm 

zu kennen die verfügbaren Eigenschaften/Methoden von UserPrincipal.

6

Sie können die WindowsIdentity class verwenden die aktuellen Thread Benutzer zu erhalten:

[Security.Principal.WindowsIdentity]::GetCurrent()