使用PowerShell凭证而不被提示输入密码
我想重新启动一台属于域的远程计算机。我有一个管理员账户,但我不知道如何从powerhell中使用它。
我知道有一个 "Restart-Computer "cmdlet,而且我可以传递证书,但如果我的域是 "mydomain",我的用户名是 "myuser",我的密码是 "mypassword",使用它的正确语法如何?
我需要安排重启,这样我就不用输入密码了。
141
3
Get-Credential "的问题是,它总是提示需要密码。有一个方法可以解决这个问题,但它涉及到将密码作为一个安全字符串存储在文件系统中。
下面的文章解释了这是如何工作的。
总之,你创建一个文件来存储你的密码(作为一个加密的字符串)。下面一行将提示你输入密码,然后把它作为一个加密的字符串存储在
c:\mysecurestring.txt
中。你只需要做这一次。只要你在PowerShell命令中看到一个
-Credential'参数,就意味着你可以传递一个
PSCredential'。所以在你的例子中。你可能需要一个不同的
-Authentication
开关值,因为我不知道你的环境。有另一种方法,但...
如果你不想让你的密码出现在脚本文件中,请不要这样做。 (在脚本中存储密码并不是一个好主意,但我们中的一些人就是喜欢知道怎么做。)
好了,这就是警告,下面是代码。
$cred
将有John Doe的证书,密码是"ABCDEF"。另一种方法是将密码准备好供使用。
关于存储证书,我使用了两个函数(通常是在一个从我的资料中加载的模块中)。
还有这个。
你这样使用它。
如果证书文件不存在,第一次会提示你,这时它将把证书存储在一个XML文件中的加密字符串中。当你第二次运行该行时,xml文件就在那里,并会自动打开。