我有一些代码可以从Active Directory中的特定位置导出所有帐户,这些帐户尚未登录90天并将其导出到电子表格中。
我们有一些帐户适用于长假的人,所以我们不想列出这些帐户。之前我们使用过滤器使用'comment'属性过滤掉了这些过滤器,当有'el'时,它会忽略这些属性。
您能否告诉我如何将此过滤器添加到以下代码中。
$Date=get-date
$Days=90
$DIR='TEST.test.uk/TEST/Users & Desktops/NormalUsers'
Get-QADUser -SearchRoot $DIR -sizeLimit 0 | where {
$_.lastlogontimestamp -and
(($Date-$_.lastlogontimestamp).days -gt $Days)
} | Select-Object logonName, DisplayName, Comment | export-csv users90.csv
我已经尝试将$_.comment -ne "el" -and
添加到哪里但不起作用。
请帮忙。
答案 0 :(得分:1)
您无法过滤不存在的内容。 $_.Comment
很可能为null,因为它未包含在Get-QADUser的默认属性集中。我可以从Documentation看到您需要使用-IncludedProperties Comment
Get-QADUser -SearchRoot $DIR -sizeLimit 0 -IncludedProperties Comment
现在您的Where-Object
子句应按预期工作。不确定您要求的其他属性,但您始终可以使用Get-QADPSSnapinSettings
检查默认列表