我正在尝试自动检索 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 地址。