使用Powershell取出属于某些指定组的用户并导出为csv

知识这东西就像雪球,越滚越大,今天看到了这篇自己1年多前写的博文,简直弱爆了。于是更新一下程序:

2016-6-15更新,短短几行代码,就拿到了组和组成员,其中还用到了递归,以处理组成员是组的情况:

Get-ADGroup -Filter * -SearchBase "ou=test-ou,ou=vb-group,dc=corp,dc=vb" | foreach {
    [PSCustomObject]@{'GroupName'=$_.name;'Members'=$null}
    Get-ADGroupMember -Identity $_.name -Recursive | foreach {
        [PSCustomObject]@{'GroupName'=$null;'Members'=$_.name} 
    }
}

 

以下是一年多前写的:

cd 'F:\ACL\HZ ACL'
$report = New-Item -Path .\ACL-APAC.CSV -ItemType file -Force
Add-Content -Path .\ACL-APAC.CSV -Value "GroupName,EmpNo,Name"

#方法一:(后写)
Import-Csv .\Groups.CSV | ForEach-Object {
    #下面这句获得组的名称,然后追加输出到CSV文件
    Get-ADGroup -Filter * -SearchBase $_.GroupName | select -ExpandProperty Name | Out-File $report -Encoding ASCII -Append
    #下面这个循环:将一个组中的每个成员的samAccountName, displayName存入变量$users
    ForEach-Object {
        $users = Get-ADGroup -Filter * -SearchBase $_.GroupName | Get-ADGroupMember | Get-ADUser -Properties samAccountName, displayName #| select -Property samAccountName, displayName
        #下面这个循环:将每个成员的samAccountName, displayName追加输出到CSV文件
        ForEach($user in $users) {
            "," + $user.samAccountName + "," + $user.displayName | Out-File $report -Encoding ASCII -Append
        }
    }
}
<#方法二:(先写)
Import-Csv .\Groups.CSV | ForEach-Object {
#下面是groupname的循环
    Get-ADGroup -Filter * -SearchBase $_.GroupName | select -ExpandProperty Name | Out-File $report -Encoding ASCII -Append
        #下面是group里成员的循环
        ForEach-Object {
            $MemberSummary = Get-ADGroupMember -Identity $_.GroupName | select -Property SamAccountName
                #下面是列出每个用户的完整属性
                ForEach ($Member in $MemberSummary) {
                    $MemberDetail = Get-ADUser -Identity $Member.SamAccountName -Properties Name, displayName
                        #下面是最终生成的CSV中真正的员工号,姓名那一行内容
                        ForEach-Object {
                            "," + $MemberDetail.Name + "," + $MemberDetail.DisplayName | Out-File $report -Encoding ASCII -Append
                            }
                }
               
        }
       
}
#>

 

转载于:https://www.cnblogs.com/IvanChen/p/4487735.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值