【发布时间】:2021-04-02 12:01:50
【问题描述】:
我正在尝试对计算机列表运行命令以查找有关计算机上程序的信息。然后我想以以下格式在 CSV 上导出该信息:
计算机名称、McAfee Agent、版本、安装日期
我想获取这些计算机的列表以及程序版本号和安装日期。
此命令有效,但不适用于导出:
Get-WmiObject win32_product -ComputerName SYSTEMName01 | Where name -Match "McAfee Agent" | Select Name, Version, Installdate
我在这里尝试使用以下代码,但这不起作用,因为它会在 Powershell 中填充信息,然后给我一个:
- “RPC 服务器不可用”红色文本。
- 并且导出的 CSV 文档只给了我一个填充行的程序名称及其版本号和安装日期。但它不会填充它查看的计算机名称,也不会在 .txt 文档中列出其他计算机。
$computers = Get-content -Path "C:\nice\List-of-systems.txt"
Get-WmiObject win32_product -ComputerName $computers | Where name -Match "McAfee Agent" | Select Name, Version, Installdate |
Export-Csv -Path "C:\nice\computers-mcafee-status.csv"
【问题讨论】:
-
什么是不起作用?你的
C:\nice\List-of-systems.txt是什么样的? -
它看起来像在另一个下面列出一个我可以ping通的网络上的系统名称。没有 IP 地址还是您想要图片参考?
-
你没有导出计算机名,你需要
-Append到文件中。 -
目前您的脚本将在第一个错误处停止 - 如果您希望它检查所有计算机,您需要编写它以解决连接中的任何错误。
-
这是一个您最好使用
foreach ($system in $computers) {Get-WMIObject ... -ErrorAction Ignore}处理计算机列表的地方 - 这样做可以让您获得所有可访问的计算机,同时跳过那些无法访问的计算机响应 WMI 调用。
标签: powershell csv