在 powershell 中导出上次 windows 更新到 CSV

Export last windows update to CSV in powershell

我目前正在尝试将以下结果导出到 CSV

    $windowsUpdateObject = New-Object -ComObject Microsoft.Update.AutoUpdate
    $windowsUpdateObject.Results

将其添加到运行它的所有 PC 的报告中,然后将其导出为 CSV 的最佳方法是什么?

到目前为止我的脚本是这样的

$machines = Get-Content 
C:\Users\******\Documents\Scripts\Last_Update\Machine_List.txt
$report = @()
$object = @()

    foreach ($machine in $machines ) 
{ 
    $windowsUpdateObject = New-Object -ComObject Microsoft.Update.AutoUpdate
    $windowsUpdateObject.Results
    $report += $results
}

$report | Export-csv 'C:\Reports\Reboot.csv'

$windowsUpdateObject.Results 中获取完整的结果,每次迭代都存储在一个变量中。 但是我在 foreach 代码的任何地方都没有看到您提到了机器名称。所以它在本地获取信息(迭代是根据文件中存在的机器数量进行的。但是内容获取是在本地进行的)。

您应该使用 Invoke-Command 以便 运行 在远程系统中。

我为存储结果做了修改。

$machines = Get-Content "C:\Users\******\Documents\Scripts\Last_Update\Machine_List.txt"
$report = @()
$object = @()

foreach ($machine in $machines ) 
{ 
    $windowsUpdateObject = New-Object -ComObject Microsoft.Update.AutoUpdate
    $report += $windowsUpdateObject.Results
}

$report | Export-csv 'C:\Reports\Reboot.csv' -Append -Force

希望对您有所帮助。