从Array中删除Double PSObjects

时间:2017-06-22 14:13:11

标签: powershell

我从我的两个域控制器中读出所有计算机。获取过去50天之间所有在线计算机的列表。

有些计算机将列在两个变量中。如何删除/忽略双重条目,以便每次只获取一次对象?

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

1 个答案:

答案 0 :(得分:0)

使用-Property

Sort-Object -Property CN, IPv4Address, OperatingSystem, LastLogonDate -Unique

但是如果LastLogonDate不同,那么这不起作用。