我想重新启动属于某个域的远程计算机。我有一个管理员帐户,但我不知道如何从 powershell 使用它。
我知道有一个 Restart-Computer
cmdlet,并且我可以传递凭据,但如果我的域是 mydomain
,则我的用户名是 myuser
,我的密码是 mypassword
使用它的正确语法是什么?
我需要安排重新启动,这样我就不必输入密码。
最佳答案
Get-Credential
的问题是它总是提示输入密码。不过,有一种方法可以解决这个问题,但它涉及将密码作为安全字符串存储在文件系统上。
以下文章解释了其工作原理:
总之,您创建一个文件来存储您的密码(作为加密字符串)。以下行将提示输入密码,然后将其作为加密字符串存储在 c:\mysecurestring.txt
中。您只需执行一次:
read-host -assecurestring | convertfrom-securestring | out-file C:\mysecurestring.txt
无论您在 PowerShell 命令中的何处看到 -Credential
参数,都意味着您可以传递 PSCredential
。所以在你的情况下:
$username = "domain01\admin01"
$password = Get-Content 'C:\mysecurestring.txt' | ConvertTo-SecureString
$cred = new-object -typename System.Management.Automation.PSCredential `
-argumentlist $username, $password
$serverNameOrIp = "192.168.1.1"
Restart-Computer -ComputerName $serverNameOrIp `
-Authentication default `
-Credential $cred
<any other parameters relevant to you>
您可能需要不同的 -Authentication
开关值,因为我不知道您的环境。
关于powershell - 使用 PowerShell 凭据而不提示输入密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6239647/