我试图做一个简单的PowerShell脚本,将允许我运行以下,而不会提示input密码:
remove-computer -credential ExampleDomain\ExampleName -Force -passthrough -verbose
但是,这个问题是我得到提示每次input密码,我只需要传递它的密码,而不是每次都要求。 这是我自己在实验室环境中使用的,所以我不担心以纯文本的forms存储,但当然欢迎提供更安全的build议。
同样在这个环境中,我以一个用户身份login,但使用不同的凭据集在域中进行身份validation,所以我不能使用任何“从存储凭据读取”types的解决scheme。
另外我也了解到,这有所作为,所以我会提到我被locking在环境中使用PowerShell V2。
-Credential
参数实际上是期待一个完整的PSCredential对象,而不仅仅是一个用户名(这就是为什么它会提示input密码) 。 所以让我们给它想要的。
$securePass = ConvertTo-SecureString "MySecretPassword" -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential ("ExampleDomain\ExampleName", $securePass) Remove-Computer -Credential $cred -Force -Passthrough -Verbose