0

我正在尝试自动检索 OS 体系结构,当我这样做时,我得到一个 Invalid Namespace 错误。

    foreach($i in $hosts){

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

    }

如果我使用 Get-WmiObject -ComputerName $ip Win32_OperatingSystem 并将 $ip 替换为合法的 IP,它会完美运行。我什至将 Write-Host 添加到 Get-WMIObject 的前面,以便显示将运行的整个命令。我运行了 Write-Host 的输出,命令成功完成。

错误:Get-WmiObject:无效命名空间在行:4 char:18 + Get-WmiObject <<<< -ComputerName $ip Win32_OperatingSystem + CategoryInfo:InvalidOperation:(:) [Get-WmiObject],ManagementException + FullyQualifiedErrorId:GetWMIManagementException,Microsoft。 PowerShell.Commands.GetWmiObjectCommand

$hosts 变量是一个带有两个 noteProperty 字段的 PSCustomObject。第一个是名称,第二个是用户。名称字段包含系统的 IP 地址。

4

1 回答 1

1

事实证明,IP 之后有尾随空格。我使用了 .trim() ,现在一切正常。

于 2013-08-09T14:35:16.050 回答