使用PowerShell模拟用户

时间:2015-04-30 07:44:12

标签: c# powershell powershell-v2.0 powershell-v3.0 impersonation

是否可以使用Powershell脚本进行模拟。像C#直接功能一样

   dwSessionId = WTSGetActiveConsoleSessionId()
    WTSQueryUserToken(dwSessionId, ref hUserToken)

powershell中是否有任何函数执行与上述相同的任务。

我想获得“登录并运行桌面交互式会话”的当前用户的令牌。

1 个答案:

答案 0 :(得分:1)

似乎不可能开箱即用。

  

Windows API不会公开您需要的信息,这就是原因   Powershell无法与他们联系。它的故意特征   安全子系统。这种方法的唯一方法是Linux   机器可以信任呼叫机器,例如将它们连接到一台机器上   Active Directory(或任何kerberos设置)。

     

除此之外,您还需要存储并传递此信息   不知。

     

您可以将RSA密钥存储在用户的密钥库中,然后将其解压缩   运行时(使用.NET Crypto / Keystore库),因此您不存储   关键代码的关键。关键本身就是这样   受操作系统保护,仅在主叫用户可用时才可用   认证。你还有一件事需要安装,但可能是   实现你的目标的唯一途径。

- 引自here

使用此方法+ qwinsta命令来获取活动会话将以某种方式为您提供所需的信息。