【发布时间】:2018-03-09 01:51:26
【问题描述】:
上下文:在 PowerShell 中工作,需要 PSCredential 对象,具有 WindowsIdentity 类型的对象。
假设您使用以下方法获取 WindowsIdentity 类型:
"[Security.Principal.WindowsIdentity]::GetCurrent()"
您需要 PSCredential 对象来进行网络调用,例如 Invoke-RestMethod。
除了调用通常的 Get-Credential 并提示用户输入用户名和密码之外,我们是否可以实际使用当前的安全上下文来创建凭据对象?例如,我们可以将 WindowsIdentity 对象转换为 PSCredential(如果不是直接 - 然后通过一系列步骤?)。
如果没有,那么关于从当前安全上下文创建 PSCredential 对象的任何其他想法(不指定用户名或密码 - 或存储加密的用户名和密码,因为这也需要在密码更改时更新)?
以前可能有人问过类似的问题,但我找不到尝试将 WindowsIdentity 转换为 PSCredential 类型的方法 - 或者任何关于为什么设计可能会阻止这种情况的明确答案。如果这根本不可能 - 不支持它的原因可能是什么?您是否看到任何可行的解决方法? (我尝试添加标签:PSCredential,但此标签尚不存在,并且我没有足够的声誉来创建它:我想添加该标签:也许社区中的某个人可以添加它。谢谢)
【问题讨论】:
标签: powershell windows-identity