c# - 来自当前用户的 PSCredentials

标签 c# powershell credentials

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

我目前正在使用 C# 开发调用 PowerShell 脚本的 WinForms 应用程序。它并非旨在成为 PowerShell 的所有功能的综合处理程序,而只是执行一小部分仅具有简单的、预先商定的参数类型的脚本。

一些脚本需要提升权限才能成功运行。没问题 - 似乎至少有两种方法可以解决这个问题:

<强>1。模仿。 应用程序根据这些凭据执行授权并调用 powershell。我很早就遇到了这个问题,因为模拟/提升的用户可能没有权限在用户的本地机器上调用 powershell 命令——因为本地机器可能没有适当的 ExecutionPolicy,因此提升的用户必须访问注册表以更改此设置。我无法改变权限。这让我走向:

<强>2。凭据作为变量。 简单的。脚本有一个变量,例如:

[PSCredential]$credential

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

我的问题是:有没有办法从当前登录的用户那里获取 PSCredential 对象,作为我的应用程序的某种默认设置?
我还没有看到任何建议可以做到这一点,所以如果有人能告诉我为什么会这样,我会很高兴听到它。如果有任何帮助,强制应用程序以管理员身份运行是可行的。

感谢您的宝贵时间。

最佳答案

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

关于c# - 来自当前用户的 PSCredentials,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27449166/

相关文章:

c# - long/int 到 UINT64 转换并返回到 C# 上的 long - 我什么时候可以丢失数据?

c# - MsBuild 以与 Visual Studio 2015 不同的顺序构建项目,但失败

c# - 适本地发出属性(property)

powershell - 用于配置 IIS 应用程序池的 DSC

c# - 安装到 GAC 的 DLL 的路径

regex - Powershell 替换正则表达式

wpf - 无法使用 powershell 安装 MSIX 软件包

c# - ReportingService2005 通过 WCF - 与模拟一起工作,但不与用户名/密码一起工作

ios - 无法在 URLSessionDelegate 中接收 NSURLAuthenticationMethodHTTPBasic

ubuntu - 新机器镜像启动后的 Packer 登录自动化?