Вы можете преобразовать вашу строку в 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