获取当前用户上下文

时间:2012-06-20 08:33:51

标签: powershell powershell-v2.0 impersonation

我遇到了从不同位置运行powershellscript的问题(c#application,webservice ...)。 我认为这是一个用户上下文问题,所以现在我试图找出正在运行的用户上下文PowerShell脚本。

是否有可能记录powershellscript的当前usercontext?

2 个答案:

答案 0 :(得分:9)

您可以使用WindowsIdentity class获取当前线程用户:

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

答案 1 :(得分:4)

如果您需要了解实际用户:

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

使用:

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

了解UserPrincipal的可用属性/方法。