我当前正在运行以下命令,但我通过foreachloop运行它们。我目前可以输出它们作为每个机器的csv只是一个列表,但理想情况下,我想输出它们到循环中的所有机器的csv,这有顶部列出的应用程序,然后在下面的计算机名称,版本等,这样我就可以追加csv和只有一个大的csv,我可以排序和过滤时,在excel中打开。
另外,如果应用程序版本不同于我的基线,我也希望能够发出警报,但不确定从哪里开始。
$InstalledApps = gwmi Win32Reg_AddRemovePrograms64 | Select DisplayName, Publisher, Version
$InstalledApps +=
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -Command {gwmi Win32Reg_AddRemovePrograms | Select DisplayName, Publisher, Version}
$InstalledApps = $InstalledApps | sort displayname | Get-Unique -AsString
$InstalledApps| Select DisplayName, Publisher, Version | ogv -PassThru | export-csv .\apps.csv谢谢
发布于 2018-11-01 21:22:25
Powershell v3。更高的版本。
尽可能使用CimInstance而不是WMI。
#Define a Table Array
$MasterTable = @()
#Define computer list
$Computerlist = "computer1", "computer22"
#Run Foreach to retrieve data from each computer remotely
Foreach ($computer in $Computerlist) {
$MasterTable += Get-CimInstance win32_product -Computername $Computer |
Select-Object @{Name = "Computername"; Expression = {$Computer}},
@{Name = "SoftwareName"; Expression = {$_.Caption}},
@{Name = "Publisher"; Expression = {$_.Vendor}},
@{Name = "Version"; Expression = {$_.Version}}
}
$MasterTable | export-csv .\apps.csv -NoTypeInformation -Append这将为您提供一个包含四列的CSV导出,其中包含所需的所有信息(包括运行Get-CimInstance的计算机名)。
如果愿意,可以在导出到MasterTable之前对CSV变量执行一些附加逻辑
发布于 2018-11-04 01:05:42
是的,这也可以使用WMI,但是我建议您考虑将WMI调用迁移到CimInstance,而不是使用powershellv.3或更高版本,因为WMI是遗留的,并且不像CimInstance那样真正对防火墙友好。但下面是使用WMI的代码。
#Define a Table Array
$MasterTable = @()
#Define computer list
$Computerlist = "computer1", "computer2"
#Run Foreach to retrieve data from each computer remotely
Foreach ($computer in $Computerlist) {
$MasterTable += Get-WmiObject -Class Win32_Product -Computername $Computer |
Select-Object @{Name = "Computername"; Expression = {$Computer}},
@{Name = "SoftwareName"; Expression = {$_.Caption}},
@{Name = "Publisher"; Expression = {$_.Vendor}},
@{Name = "Version"; Expression = {$_.Version}}
}
$MasterTable | export-csv c:\temp\apps.csv -NoTypeInformation -Appendhttps://stackoverflow.com/questions/53099688
复制相似问题