Условный выбор полей с сервера WSUS на основе даты LastUpdatedStatusReport - PullRequest
0 голосов
/ 07 октября 2019

Я использую модуль poshWSUS 2.3.1.6 и у меня есть запрос, подобный приведенному ниже:

& Get-PSWSUSClient | select @{name="Computer";expression={$($_.FullDomainName)}},@{name="LastUpdated";expression={$($_.LastReportedStatusTime)}} | export-csv -NoTypeInformation -append $FileOutput

Моя проблема заключается в том, что для некоторых компьютеров нет сообщаемого времени состояния, поэтому LastReportedStatusTime равно 1/1/0001 12:00:00 AM. Я хочу в поле: LastSyncTime для этих компьютеров. В основном мне нужно что-то вроде

expression= if (LastReportedStatusTime > '1/1/0001 12:00:00 AM') then {$($_.LastReportedStatusTime)}} else {$($_.LastSyncTime)}}  

, но я не смог найти правильный синтаксис. Я ценю, если вы можете помочь.

1 Ответ

1 голос
/ 07 октября 2019

Вы можете преобразовать вашу строку в datetime:

if ([datetime]$_.LastReportedStatusTime -gt [datetime]'1/1/0001 12:00:00 AM') {
    $_.LastReportedStatusTime
} else {
    $_.LastSyncTime
}

Здесь я предполагаю, что $ _. LastReportedStatusTime возвращает не саму дату, а строку. Он должен работать с приведением только одной стороны выражения if к datetime, поскольку powershell должен попытаться преобразовать и другую часть. Но мне нравится быть явным в этом виде преобразований.

Или для проверки версии на основе строки, если они совпадают вместо этого:

if ($_.LastReportedStatusTime -eq '1/1/0001 12:00:00 AM') {
    $_.LastSyncTime
} else {
    $_.LastReportedStatusTime
}

Нет WSUS для проверки, но дляверсия datetime, которая должна делать эту работу:

& Get-PSWSUSClient | select @{name="Computer";expression={$_.FullDomainName}},@{name="LastUpdated";expression={if ([datetime]$_.LastReportedStatusTime -gt [datetime]"1/1/0001 12:00:00 AM") {$_.LastReportedStatusTime} else {$_.LastSyncTime}}} | export-csv -NoTypeInformation -append $FileOutput
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...