ドメインに属するリモート コンピューターを再起動したいと思います。管理者アカウントは持っていますが、PowerShell からそれを使用する方法がわかりません。
コマンドレットがありRestart-Computer
、資格情報を渡すことができることはわかっていますが、たとえばドメインがmydomain
、ユーザー名がmyuser
、パスワードがの場合、mypassword
それを使用するための正しい構文は何ですか?
パスワードを入力しなくても済むように、再起動をスケジュールする必要があります。
ベストアンサー1
問題はGet-Credential
、常にパスワードの入力を求められることです。ただし、これを回避する方法はありますが、パスワードをファイルシステム上に安全な文字列として保存する必要があります。
次の記事では、これがどのように機能するかについて説明します。
要約すると、パスワードを(暗号化された文字列として)保存するファイルを作成します。次の行はパスワードの入力を要求し、それをc:\mysecurestring.txt
暗号化された文字列として保存します。これは 1 回だけ実行する必要があります。
read-host -assecurestring | convertfrom-securestring | out-file C:\mysecurestring.txt
-Credential
PowerShell コマンドで引数が表示されている箇所は、 を渡すことができることを意味します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
環境がわからないため、異なるスイッチ値が必要になる場合があります。