从Get-ADUser结果中排除特定OU

时间:2018-03-08 20:35:18

标签: powershell

我正在尝试运行一个查询,该查询将查找所有已停用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

1 个答案:

答案 0 :(得分:0)

我尝试运行您的脚本,在我看来,排除应该正常工作。我不得不删除“-Properties”参数,因为它不存在,但是有一个“-Property”参数。

但是,如果您尝试从过滤结果中选择一个参数子集,我建议您将它们添加到where语句后的select语句中。

我跑的命令如下:

{{1}}