我正在尝试自动检索操作系统体系结构,当我收到无效命名空间错误时。
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。第一个是名称,第二个是用户。 name字段包含系统的IP地址。
答案 0 :(得分:1)
事实证明IP之后有空格。我使用.trim(),现在一切正常。