У меня есть сценарий PowerShell, использующий модуль poshwsus, как показано ниже:
$FileOutput = "C:\WSUSReport\WSUSReport.csv"
$ProcessLog = "C:\WSUSReport\QueryLog2.txt"
$WSUSServers = "C:\WSUSReport\Computers.txt"
$WSUSPort = "8530"
import-module poshwsus
ForEach ($Server in Get-Content $WSUSServers)
{
& connect-poshwsusserver $Server -port $WSUSPort | out-file $ProcessLog -append
$r1 = & Get-PoshWSUSClient | select @{name="Computer";expression={$_.FullDomainName}},@{name="LastUpdated";expression={if ([datetime]$_.LastReportedStatusTime -gt [datetime]"1/1/0001 12:00:00 AM") {$_.LastReportedStatusTime} else {$_.LastSyncTime}}}
$r2 = & Get-PoshWSUSUpdateSummaryPerClient -UpdateScope (new-poshwsusupdatescope) -ComputerScope (new-poshwsuscomputerscope) | Select Computer,NeededCount,DownloadedCount,NotApplicableCount,NotInstalledCount,InstalledCount,FailedCount
}
Что мне нужно сделать, это экспортировать выход CSV, включая результаты со столбцами (например, «внутреннее объединение»):
Computer, NeededCount, DownloadedCount, NotApplicableCount, NotINstalledCount, InstalledCount, FailedCount, LastUpdated
Я пытался использовать приведенную ниже строку в foreach, но она не сработала, как я ожидал.
$r1 + $r2 | export-csv -NoTypeInformation -append $FileOutput
Буду признателен, если вы поможете или посоветуете.
РЕДАКТИРОВАТЬ -> Вывод, который я получил:
ComputerName LastUpdate
X A
Y B
X
Y
Так что без ошибок, первые две строки из $ r2, последние две строки из $ r1, это не присоединение к таблицам, как я ожидал.
Спасибо!