获取 Active Directory 用户组信息

AI摘要
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应用、容器环境、电商独立站等
立即前往
扫码进入
扫描二维码购买
文澜千文

文澜千文

请登录以使用此功能。

暴肌独角兽代餐饼干无添加蔗糖全粗粮早餐饱腹高纤杂粮饼干休闲零食整箱1kg 暴肌独角兽代餐饼干无添加蔗糖全粗粮早餐饱腹高纤杂粮饼干休闲零食整箱1kg
Loading...
OpenClaw

OpenClaw 龙虾

AI AGENT GATEWAY
在您的服务器部署 OpenClaw,打造专属极速 AI 助手。
零门槛一键部署环境
支持 QQ/飞书/微信 渠道
跨平台指令分发执行
立即安装