我正在尝试获取我域中选定计算机的操作系统版本。我创建了一个 powershell 命令来执行此操作,但输出中缺少计算机名称。
这是命令
Get-ADComputer -Filter {name -Like "test"} | select "name" | foreach {$_.name} {Get-WmiObject -Class Win32_OperatingSystem -ComputerName $_.name} | Select-Object Description, Caption,SevicePackMajorVersion | out-gridview
我尝试添加其他选择对象,但它们都是空白的。我认为这是因为这个 wmiobject 根本不包含机器名称。
所以我的问题是,当我用管道输入名称时,$_.name
它是否也可以成为输出的一部分。我尝试($_.name)
在 select-object 命令中使用变体,但无济于事。
答案1
使用时,Get-WmiObject -Class Win32_OperatingSystem
您可以使用命令查看可用属性的完整列表Get-WmiObject -Class Win32_OperatingSystem | select-object *
。执行此操作将为您提供属性和值的表格。可能对您有帮助的属性是属性PSComputerName
。
因此,类似这样的内容应该包含您想要的详细信息。
Get-WmiObject -Class Win32_OperatingSystem -ComputerName . | select-object PSComputerName,Description,Caption,SevicePackMajorVersion