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