0

OS アーキテクチャの取得を自動化しようとしていますが、そうすると無効な名前空間エラーが発生します。

    foreach($i in $hosts){

         $ip = $i.name
         Get-WmiObject -ComputerName $ip Win32_OperatingSystem

    }

Get-WmiObject -ComputerName $ip Win32_OperatingSystem を取り、 $ip を正当な IP に置き換えると、完全に機能します。さらに、Get-WMIObject の前に Write-Host を追加して、実行されるコマンド全体を表示できるようにしました。Write-Host からの出力を実行したところ、コマンドは正常に完了しました。

エラー: Get-WmiObject : 無効な名前空間 行:4 文字:18 + Get-WmiObject <<<< -ComputerName $ip Win32_OperatingSystem + CategoryInfo : InvalidOperation: (:) [Get-WmiObject], ManagementException + FullyQualifiedErrorId : GetWMIManagementException,Microsoft. PowerShell.Commands.GetWmiObjectCommand

$hosts 変数は、2 つの noteProperty フィールドを持つ PSCustomObject です。1 番目は名前で、2 番目はユーザーです。name フィールドには、システムの IP アドレスが保持されます。

4

1 に答える 1

1

IP の後に末尾の空白があったことが判明しました。私は .trim() を使用しましたが、今ではすべて正常に動作します。

于 2013-08-09T14:35:16.050 に答える