gpt4 book ai didi

error-handling - Get-WMIObject输出和错误处理

转载 作者:行者123 更新时间:2023-12-03 08:23:58 24 4
gpt4 key购买 nike

尝试从PowerShell扫描中获取一些应在所有工作站上存在的软件的输出。

Get-Content -Path f:\desktop\Machines.csv |
ForEach-Object {Get-WmiObject -Class Win32_Product -ComputerName $_} |
Where-Object -FilterScript {$_.Name -like "*Adobe Reader*"} |
Select-Object -Property PSComputerName,Name,Version |
Export-Csv -Path f:\desktop\Results.csv -NoTypeInformation

问题是那些没有安装软件的机器在输出文件中没有任何信息。我经常在ISE控制台中收到RPC Server不可用的错误,但是该信息并没有将其写入输出文件。

我想我实际上是在寻找具有或不具有该软件以及任何错误消息的输出报告机器,以尝试到达要检查的机器。

最佳答案

如果结果为空,则将过滤器和选择内容移到ForEach-Object内,并创建一个自定义对象。

Get-Content 'F:\desktop\Machines.csv' | ForEach-Object {
$o = Get-WmiObject -Class Win32_Product -ComputerName $_ |
Where-Object {$_.Name -like "*Adobe Reader*"} |
Select-Object PSComputerName,Name,Version
if ($o) {
$o
} else {
New-Object -Type PSObject -Property @{
'PSComputerName' = $_
'Name' = 'Adobe Reader'
'Version' = $null
}
}
} | Export-Csv 'F:\desktop\Results.csv' -NoType

但是请注意, Win32_Productconsidered harmful。建议改用注册表查询。

关于error-handling - Get-WMIObject输出和错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48433002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com