来自当前用户的PSCredentials

ne1*_*10s 6 c# powershell credentials

我已经成为SO的成员一年了,这是我的第一个问题!

我目前正在C#中开发一个调用PowerShell脚本的WinForms应用程序.它并非旨在成为PowerShell所有功能的综合处理程序,而只是仅使用简单的预先约定的参数类型执行少量脚本.

某些脚本需要提升权限才能成功运行.没问题 - 似乎至少有两种方法:

1.冒充. 应用程序执行授权并在这些凭据下调用powershell.我很早就遇到了问题,因为模拟/提升的用户可能没有权限在用户的本地计算机上调用powershell命令 - 因为本地计算机可能没有相应的ExecutionPolicy,因此提升的用户必须访问注册表以更改此权限.我没有改变权限.这导致我走向:

2.凭证作为变量. 简单.脚本有一个变量,例如:

[PSCredential]$credential
Run Code Online (Sandbox Code Playgroud)

应用程序可以通过提示用户输入此帐户的用户名和密码来提供.

我的问题是:有没有办法从当前登录的用户获取PSCredential对象,作为我的应用程序的某种默认值?
我没有看到任何暗示可以做到这一点的事情,所以如果有人可以淹没我为什么会这样,我会很高兴听到它.如果这有任何帮助,强制应用程序以管理员身份运行是可行的.

谢谢你的时间.

ne1*_*10s 1

确实没有办法在不提示用户输入的情况下获取当前用户的凭据。一方面,从实例的“SecureString”密码属性获取明文密码非常简单PSCredential