私はこれを機能させることができないようで、この問題をグーグルで検索する方法を理解できないため、ここで髪を引っ張っています。Powershell2.0を実行しています。これが私のスクリプトです:
$computer_names = "server1,server2"
Write-Output "Invoke-Command -ComputerName $computer_names -ScriptBlock {
Get-WmiObject -Class Win32_LogicalDisk |
sort deviceid |
Format-Table -AutoSize deviceid, freespace
}"
Invoke-Command -ComputerName $computer_names -ScriptBlock {
Get-WmiObject -Class Win32_LogicalDisk |
sort deviceid |
Format-Table -AutoSize deviceid, freespace
}
最後のコマンドはエラーを出します:
Invoke-Command : One or more computer names is not valid. If you are trying to
pass a Uri, use the -ConnectionUri parameter or pass Uri objects instead of
strings.
しかし、Write-Outputコマンドの出力をシェルにコピーして実行すると、問題なく動作します。Invoke-Commandが受け入れるものに文字列変数をキャストするにはどうすればよいですか?前もって感謝します!