【问题标题】:Impersonate user with powershell使用 powershell 模拟用户
【发布时间】:2015-07-09 19:28:03
【问题描述】:

是否可以使用 Powershell 脚本进行模拟。就像 C# 直接的函数一样

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

powershell 中是否有任何功能可以执行与上述相同的任务。

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

【问题讨论】:

    标签: c# powershell powershell-2.0 powershell-3.0 impersonation


    【解决方案1】:

    似乎不可能开箱即用。

    Windows API 不会公开您需要的信息,这就是为什么 Powershell 无法访问它们。它的一个故意的特点 安全子系统。唯一可行的方法是 Linux 机器信任呼叫机器,例如将它们加入 Active Directory(或任何 kerberos 设置)。

    除此之外,您还需要存储和传递这些信息 不知何故。

    您可以将 RSA 密钥存储在用户的密钥库中并在 运行时(使用 .NET Crypto/Keystore 库),因此您无需存储 与代码有关的关键。这样钥匙本身就是 受操作系统保护,仅在调用用户时可用 认证。您还需要安装一件事,但可能是 实现目标的唯一方法。

    -引用自here

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

    【讨论】:

      猜你喜欢
      • 2010-09-05
      • 2021-12-17
      • 2019-03-30
      • 2021-10-25
      • 2021-10-29
      • 1970-01-01
      • 2010-10-19
      • 1970-01-01
      • 2012-12-22
      相关资源
      最近更新 更多