我有这个代码,它一直告诉我它无法比较我的变量,因为它们不是同一类型,不能实现IComparable。
$times = Get-ADComputer -Filter '*' -Properties PasswordLastSet | Select-Object PasswordLastSet
$maximum = [DateTime]0
foreach($item in $times){
if($item -gt $maximum){
$maximum = $item
}
}
Write-Host $maximum
这似乎是一个非常简单的剧本,但我在这个问题上摸不着头脑。
答案 0 :(得分:2)
您可以通过其中一个属性sort一个对象列表,然后select排序列表中的第一个(或最后一个)元素:
Get-ADComputer -Filter '*' -Properties PasswordLastSet |
Sort-Object PasswordLastSet -Descending |
Select-Object -First 1
如果您只需要DateTime
值,您也可以在排序前扩展属性:
Get-ADComputer -Filter '*' -Properties PasswordLastSet |
Select-Object -Expand PasswordLastSet |
Sort-Object -Descending |
Select-Object -First 1
或之后:
Get-ADComputer -Filter '*' -Properties PasswordLastSet |
Sort-Object PasswordLastSet -Descending |
Select-Object -First 1 -Expand PasswordLastSet