将已安装的域计算机应用程序版本导出到 CSV - Chrome

Export Installed domain computer application versions to CSV - Chrome

我正在尝试为我们网络上的工作站导出 Chrome 的安装版本。我已将以下脚本放在一起,但 运行 遇到导出到 CSV 时出错的问题。 任何建议将不胜感激。

Select-Object : Cannot convert System.Diagnostics.FileVersionInfo to one of the following types {System.String, System.Management.Automation.ScriptBlock}.
At line:22 char:14
            Select-Object $computer, $Version | export-csv -Path c:\ ...
     CategoryInfo          : InvalidArgument: (:) [Select-Object], NotSupportedException
     FullyQualifiedErrorId : DictionaryKeyUnknownType,Microsoft.PowerShell.Commands.SelectObjectCommand

$computerlist = get-content C:\temp\computerlist.txt
foreach ($computer in $computerlist){
    $test = 1
    Write-Host "Testing connection to $computer..." -ForegroundColor Magenta
    Try{
        Test-Connection -Count 1 -ComputerName $computer -ErrorAction Stop | out-null
        Write-Host "Connected!" -ForegroundColor Green
        }
    Catch{
        Write-Host "Could not connect to $computer" -BackgroundColor Red -ForegroundColor Black
        $test = 0
        $computer | out-file c:\temp\badlist.txt    
        }
    If ($test -eq 1){
        ForEach($computer in $computerlist){
            $computer = $computer 
             $Version = (Get-Item (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe').'(Default)').VersionInfo
             "$computer - $Version"
             Out-String -InputObject $Version
             Select-Object $computer, $Version | export-csv -Path c:\temp\Chromeversion$($date)-PS.csv   -NoTypeInformation -Append 

Select-Object $computer, $Version

没有按预期工作,因为 Select-Object expects property names (or ) 作为(位置隐含的)-Property 参数。

您正在传递 ,它们被解释为名称,以及 System.Diagnostics.FileVersionInfo 的实例(存储在 $Version) 中的值不被接受为 name,这是错误消息所指示的。

为了得到你想要的,构造一个[pscustomobject]如下:

[pscustomobject] @{ Computer = $computer; Version = $Version } | 
  Export-Csv -Path c:\temp\Chromeversion$($date)-PS.csv -NoTypeInformation -Append