我遇到了从不同位置运行powershellscript的问题(c#application,webservice ...)。 我认为这是一个用户上下文问题,所以现在我试图找出正在运行的用户上下文PowerShell脚本。
是否有可能记录powershellscript的当前usercontext?
答案 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
的可用属性/方法。