收集某OU下所有用户

利用脚本收集某个OU下的所有的用户并且记录是否被启用,同时直接导入上一篇博文自定义的ps模块

Import-module activedirectory
. .\'def.ps1'
$path="ou=终端公司广东分公司,ou=第三方人员,ou=省公司,dc=dcloud,dc=gmcc,dc=net"
$userinfo=(dsquery user $path -limit 0)
$total=$userinfo.count
$userlist=@()
$out=@()
for($i=0;$i -lt $total;$i++)
{
    $userlist+=$userinfo[$i].split(',')[0].split('_')[1]
}
foreach($i in $userlist)
{
    $en_dis=(check_user_enable -accountname $i)
    # $result="" | Select-Object -Property Name,Stat
    $result = New-object PSObject
    $result | Add-Member NoteProperty -Name 'Name' -Value $i
    $result | Add-Member NoteProperty -Name 'State' -Value $en_dis
    $out+=$result
}
$out | Export-csv -NoTypeInformation -Encoding UTF8 "result2.csv"

利用def.ps1中的check_user_enable方法可以直接判断用户状态并且返回结果
把所有结果写入result对象后导出到csv文件

你可能感兴趣的:(powershell)