获取 Active Directory 用户组信息

Deepseek提供支持

如何高效地从 Active Directory 中提取这些信息

  1. 获取用户组
   $groups = Get-ADGroup -Filter 'Name -like "somethig*"'

这一行代码使用 Get-ADGroup 命令,从 Active Directory 中筛选出名称以 “somethig” 开头的用户组。-Filter 参数的使用使得我们能够灵活地指定所需的组。

  1. 遍历每个组
   $output = $groups | ForEach-Object {         

这部分通过 ForEach-Object 循环,针对每个获取到的用户组进行处理,使得后续操作可以逐个应用。

广告
广告图片

  1. 提取组名
   $group = $_.Name                  

在处理每个组时,当前组的名称被存储在 $group 变量中,以便在后续步骤中引用。

  1. 获取组的成员
   Get-ADGroup $_ -Properties Member | 
   Select-Object -ExpandProperty Member | 

这里再次调用 Get-ADGroup,并指定要获取的成员属性。使用 Select-Object -ExpandProperty 可以直接得到成员列表,方便后续处理。

  1. 获取用户信息
   Get-ADUser -properties name,samaccountname,employeenumber | 
   Where { $_.Enabled -eq $True} | 

对于每个组成员,使用 Get-ADUser 提取用户的姓名、SAM 账户名和员工编号。Where 子句用于过滤出启用状态为 True 的用户,确保信息的有效性。

广告
广告图片

  1. 选择需要的输出字段
   Select Name,samaccountname,employeenumber,
   @{n = 'Group'; e = { $group }}

使用 Select-Object 指定输出的字段,除了用户的基本信息外,还添加了一个自定义字段 “Group”,它的值为当前组的名称。这使得输出结果更加清晰易读。

完整代码

$groups = Get-ADGroup -Filter 'Name -like "somethig*"'
$output = $groups | ForEach-Object {         
        $group = $_.Name                  
        Get-ADGroup $_ -Properties Member | 
        Select-Object -ExpandProperty Member | 
        Get-ADUser -properties name,samaccountname,employeenumber | 
        Where { $_.Enabled -eq $True} | 
        Select Name,samaccountname,employeenumber,
        @{n = 'Group'; e = { $group }}
}
广告
广告图片
温馨提示 : 非特殊注明,否则均为©李联华的博客网原创文章,本站文章未经授权禁止任何形式转载;来自:俄亥俄州·哥伦布 ,欢迎您的访问!
文章链接:https://www.lilianhua.com/get-active-directory-user-group-information.html
请先登录才能参与答题
距本场结束剩 00 00 00 00
轻量应用服务器 2核2G
200M峰值带宽,适用于网站搭建、Web应用、容器环境、电商独立站等
立即前往
扫码进入
扫描二维码购买
文澜千文

文澜千文

请登录以使用此功能。

皇冠(danisa)丹麦曲奇饼干454g罐装 休闲零食团购囤货送礼物  印尼进口 皇冠(danisa)丹麦曲奇饼干454g罐装 休闲零食团购囤货送礼物 印尼进口
Loading...