パスワードの入力を求められずに PowerShell 資格情報を使用する 質問する

パスワードの入力を求められずに PowerShell 資格情報を使用する 質問する

ドメインに属するリモート コンピューターを再起動したいと思います。管理者アカウントは持っていますが、PowerShell からそれを使用する方法がわかりません。

コマンドレットがありRestart-Computer、資格情報を渡すことができることはわかっていますが、たとえばドメインがmydomain、ユーザー名がmyuser、パスワードがの場合、mypasswordそれを使用するための正しい構文は何ですか?

パスワードを入力しなくても済むように、再起動をスケジュールする必要があります。

ベストアンサー1

問題はGet-Credential、常にパスワードの入力を求められることです。ただし、これを回避する方法はありますが、パスワードをファイルシステム上に安全な文字列として保存する必要があります。

次の記事では、これがどのように機能するかについて説明します。

プロンプトなしで PSCredentials を使用する

要約すると、パスワードを(暗号化された文字列として)保存するファイルを作成します。次の行はパスワードの入力を要求し、それをc:\mysecurestring.txt暗号化された文字列として保存します。これは 1 回だけ実行する必要があります。

read-host -assecurestring | convertfrom-securestring | out-file C:\mysecurestring.txt

-CredentialPowerShell コマンドで引数が表示されている箇所は、 を渡すことができることを意味します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環境がわからないため、異なるスイッチ値が必要になる場合があります。

おすすめ記事