【问题标题】:How to get list of Active Directory group names beginning with "ABC_" in PowerShell?如何在 PowerShell 中获取以“ABC_”开头的 Active Directory 组名称列表?
【发布时间】:2020-01-20 10:12:01
【问题描述】:

我是 PowerShell 新手,我正在尝试获取以相同命名约定开头的 Active Directory 项目列表,例如,我有许多以“ABC_Group1”、“ABC_Group2”、“ABC_Group3”开头的组。

我知道:

get-adgroup "ABC_Group1"

将列出该特定组

'get-adgroup -filter * | sort name | select Name' 

将列出所有组,但我不知道如何过滤以仅查找以“ABC_”开头的特定组

然后我想列出它的成员。

【问题讨论】:

  • 在 where 条件下使用 ABC_* 作为通配符和匹配运算符。
  • @RanadipDutta 我是 powershell 新手,您能否提供更多详细信息。我不确定如何使用它。
  • 我已标记为答案。你可以使用它。

标签: powershell active-directory


【解决方案1】:

您可以使用带 Where 条件的通配符搜索。在较新的 PS 版本中,where 子句可以用作Filter

Import-Module ActiveDirectory

Get-ADGroup -Filter {Name -like 'ABC_*'}  -Properties * | select -property SamAccountName,Name,Description,DistinguishedName,CanonicalName,GroupCategory,GroupScope,whenCreated

由于 OP 也要求获取该组的成员,因此这里有一段代码可以帮助您:

Get-ADGroup -Filter {Name -like 'ABC_*'} -SearchBase "DC=YourDC" | Get-ADGroupMember -Partition "DC=YourDC"

Get-ADGroup 'Group Name' -Properties Member | Select-Object -ExpandProperty Member

或者使用点符号:

(Get-ADGroup 'Group Name' -Properties Member).Member

希望这会有所帮助。

【讨论】:

  • 感谢这项工作,你知道我如何能够列出我们选择的这些组中的成员吗?
  • @A.Codes:是的。你修改你的问题,同时我会修改答案
【解决方案2】:

我做了一些研究并玩弄了代码,结果是,

Get-ADGroup -Filter "name -like '*ABC_*'" | sort name 列出所有具有“ABC_”的组

但是,这也意味着它将列出诸如“Group_ABC_”之类的目录。但是,我只想列出以“ABC_”开头的目录

【讨论】:

    【解决方案3】:

    那么,去掉 ABC 前面的“*”还不够吗?

    所以'*ABC_*' 会变成'ABC_*',因此是 Get-ADGroup -Filter "name -like 'ABC_*'" | sort name

    我强烈建议您阅读正则表达式,您不需要它来完成这项任务,但它可以让您在字符串和类似情况下的模式匹配方面变得更加轻松

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 2020-06-28
      • 2017-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多