1
我正在從我的兩個域控制器讀取所有計算機。在過去的50天內獲取所有在線的電腦列表。從數組中刪除雙重PSObjects
某些計算機將在兩個變量中列出。我怎樣才能刪除/忽略重複的條目,這樣我只能得到每個對象一次?
sort -unique
只返回一個單一PSObject
# Computer von DC1 auslesen
$DC1 = Invoke-Command -Session $BBDC1 {
Get-Adcomputer -filter * -property * | ? { $_.LastLogonDate -gt ((Get-Date).adddays("-50")) } |
Select CN, IPv4Address, OperatingSystem, LastLogonDate | Sort CN
}
# Computer von DC2 auslesen
$DC2 = Invoke-Command -Session $BBDC2 {
Get-Adcomputer -filter * -property * | ? { $_.LastLogonDate -gt ((Get-Date).adddays("-50")) } |
Select CN, IPv4Address, OperatingSystem, LastLogonDate | Sort CN
}
$computers = $DC1 + $DC2 | sort -Unique
域控制器之間複製計算機對象?您正在讀取PowerShell提供的lastlogontimestamp的格式化值,它是已經在DC之間複製的計算機對象屬性,因此這不應該成爲查找最新版本的問題嗎? – thepip3r
我想更好的問題是,你試圖達到什麼目標?你排序的原因很有趣,因爲複雜的對象正在被返回,並且它不會排序整個對象。您必須標識要排序的特定屬性:sort -unique屬性lastlogontimestamp – thepip3r