我正在尝试运行一个查询,该查询将查找所有已停用365天并且不属于我的资源帐户OU的已禁用AD帐户。
除了排除外,一切正常。我认为我遇到的问题是找出Where-Object语句在逻辑中的位置,但到目前为止,无论我把它放在哪里,它都会被彻底忽略。
这是我的剧本:
#load AD module
import-module activedirectory
$oldDate = [DateTime]::Today.AddDays(-365)
$OUDN = "OU=Resource accounts,OU=Domain Users,DC=mydomain,DC=org"
Get-ADUser -filter {(Enabled -eq $False) -AND (LastLogonDate -lt $olddate)} | Where-Object { $_.DistinguishedName -notlike "*,$OUDN" } -Properties DisplayName,Name,LastLogonDate,Modified,info,description,sAMAccountName | Select sAMAccountName,Name,description,LastLogonDate,Modified | Export-CSV c:\Reports\dis365.csv
答案 0 :(得分:0)
我尝试运行您的脚本,在我看来,排除应该正常工作。我不得不删除“-Properties”参数,因为它不存在,但是有一个“-Property”参数。
但是,如果您尝试从过滤结果中选择一个参数子集,我建议您将它们添加到where语句后的select语句中。
我跑的命令如下:
{{1}}