【发布时间】:2010-10-12 18:26:40
【问题描述】:
我有一个 Powershell 脚本,它将通过自动化工具针对多台服务器运行。
它在 Windows 机器上运行良好,因为远程调用使用该工具的服务帐户,无需在代码中提示或公开任何凭据。
此脚本还可以使用 SharpSSH 包通过 SSH 在 Linux 机器上运行。 SharpSSH 不会自动使用 Powershell 用户的凭据,但需要用户名和密码、RSA 密钥文件或 PSCredential 对象。
我无法使用 Get-Credential 提示输入凭据,因为它是通过自动化工具运行的。我不想在代码中公开用户名和密码,也不想有一个 RSA 密钥。我想从当前 Powershell 用户(服务帐户)构造一个 PSCredential 对象。
尝试[System.Net.CredentialCache]::DefaultNetworkCredentials 显示空白,[System.Security.Principal.WindowsIdentity]::GetCurrent() 未提供我需要的对象或信息。
有没有人可以从当前用户创建PSCredential 对象?或者可能是针对这个问题的完全不同的替代方案?
非常感谢!
【问题讨论】:
标签: powershell credentials remote-access sharpssh