在Windows上,我可以使用runas
将应用程序作为另一个帐户(而不是您当前登录的帐户)运行,如下所示:
runas /netonly /user:some_domain\account "utility.exe"
如何从PowerShell获取此
some_domain\account
?我检查了Get-Process和win32_process
WMI类,但没有发现任何有用的东西。更新资料
回复@briantist的答案:
对于@briantist的回答,我有些困惑。我使用本地帐户(我的计算机不在域中)登录到我的计算机,并以域帐户
runas
实用程序(此处为SQL Server Management Studio,也称为SSMS)。当我运行@briantist提供的脚本时,结果仅显示SSMS在我的本地帐户而不是域帐户上运行。但是在SSMS中,我可以使用函数suser_sname()
询问服务器我是谁,结果是some_domain\account
。对我来说有点奇怪。这是设计使然还是我在哪里错了?
最佳答案
获取进程具有-IncludeUserName开关:
get-process -IncludeUserName
专门针对Utility.exe:
get-process utility -IncludeUserName
关于security - 如何使用PowerShell获取进程的启动帐户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30034458/