Get-ADUser 无法正常运行

Get-ADUser not functioning correctly

我创建了一个脚本,用于列出 OU 中不属于特定组成员的所有用户。这会将结果保存到文本文件中。在我从文本文件中获取用户名并在 Active Directory 中搜索之前,我认为这工作正常。原来用户是我试图过滤掉的组的成员。这是代码 -

Get-ADUser  -SearchBase "OU=Users 2004,OU=Cyngor,DC=gwynedd,DC=rhwydwaith"  -Filter {( memberof -ne "CN=CTX AppSense,OU=Rheoli,OU=Grwpiau,OU=TC Enviroment,DC=gwynedd,DC=rhwydwaith")}  -Properties Name | select Name  | Export-CSV "C:\Users.txt"

我不明白为什么这不能正常工作。有什么建议吗?

谢谢。

memberOf 是一个多值属性,即可分辨名称列表。使用 -notcontains 运算符检查是否不包含特定的专有名称:

$ou = 'OU=Users 2004,OU=Cyngor,DC=gwynedd,DC=rhwydwaith'
$dn = 'CN=CTX AppSense,OU=Rheoli,OU=Grwpiau,OU=TC Enviroment,DC=gwynedd,DC=rhwydwaith'

Get-ADUser -Filter * -SearchBase $ou -Properties Name, MemberOf |
  ? { $_.MemberOf -notcontains $dn } |
  select Name  |
  Export-Csv 'C:\Users.txt' -NoType

请注意,memberOf 属性中未列出用户的主要组。如果代码还应该处理主要组,您需要为此添加一个检查:

$ou = 'OU=Users 2004,OU=Cyngor,DC=gwynedd,DC=rhwydwaith'
$dn = 'CN=CTX AppSense,OU=Rheoli,OU=Grwpiau,OU=TC Enviroment,DC=gwynedd,DC=rhwydwaith'

Get-ADUser -Filter * -SearchBase $ou -属性名称,成员|
  ? { $_.MemberOf - 不包含 $dn <b> - 和 $_.PrimaryGroup -ne $dn</b> } |
  select 姓名 |
  导出-Csv 'C:\Users.txt' -NoType