将安装的软件从多个远程系统导出到csv

时间:2018-05-18 16:53:44

标签: powershell

如果我需要来自本地PC的信息,我的脚本会(有点)做它应该做的事情。我有它到达txt文件的计算机列表。该脚本将读取列表并显示计算机列表的“正在处理:...”,但导出仅显示本地系统。即使我从txt文件中删除了本地PC,导出到csv仍然只显示本地系统。它确实创建了正确的列并相应地填充。我只需要从远程系统中提取数据。由于脚本将由多人使用,因此变量允许txt文件和输出文件在他们的系统上。

Function Export-InstalledSoftware {
    Process {
        if (Test-Connection -ComputerName $_ -count 1 -quiet)
            {
            echo "Processing: $env:COMPUTERNAME"    
                Get-ItemProperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*,HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* `
                    | Select-object @{n='ComputerName';e={$env:COMPUTERNAME}},@{n='DisplayName';e={$_.displayName}},@{n='Publisher';e={$_.Publisher}},@{n='DisplayVersion';e={$_.DisplayVersion}} `
                    | Sort displayName `
                    | Export-CSV C:\Users\$(get-content env:username)\Desktop\"SoftwareQuery_"$(get-date -f yyyy-MM-dd)".csv" -NoTypeInformation -Encoding ASCII
            }
        }
    }

Get-Content "C:\Users\$(get-content env:username)\Desktop\systems.txt" -readcount 1 | Export-InstalledSoftware

0 个答案:

没有答案