如何在远程计算机软件版本查询结果中显示计算机名称?
修改PowerShell脚本以显示远程计算机名称
要让查询结果同时显示对应的远程计算机名称,只需利用Get-WmiObject返回对象自带的__SERVER属性(该属性记录了目标计算机的名称),在select语句中加入这个属性即可,还可以给它重命名为更直观的列名:
修改后的脚本(重命名列名)
$pcname1 = 'TestServer1','TestServer2','TestServer3' Get-WmiObject -Class Win32_Product -ComputerName $pcname1 | Where-Object Name -eq 'VMware Tools' | Select-Object @{Name='ComputerName'; Expression={$_.__SERVER}}, Name, Version
简化版本(直接使用原属性名)
如果不需要重命名列名,也可以直接选择__SERVER属性:
$pcname1 = 'TestServer1','TestServer2','TestServer3' Get-WmiObject -Class Win32_Product -ComputerName $pcname1 | Where-Object Name -eq 'VMware Tools' | Select-Object __SERVER, Name, Version
补充说明:Win32_Product类在查询过程中可能触发MSI安装包的自我修复操作,若想避免这个问题,建议改用查询注册表路径HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*(32位软件对应HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*)的方式获取已安装软件信息,但这属于额外优化,上述修改已能满足你显示计算机名称的需求。
内容的提问来源于stack exchange,提问作者Morriosn Jim
相关产品推荐
相关产品推荐

