Powershell管理系列(三十三)PowerShell操作之查询AD账号对应的OU存放位置

本文提供在不同AD域环境下(2008R2、2012/2012R2)通过PowerShell脚本查找每个AD用户所属OU及具体路径的方法。包括使用Get-ADUser命令获取用户信息并解析其CanonicalName属性来提取OU信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:找出每个AD用户所对应的OU所在位置

步骤1:2008R2的AD域环境,命令如下

Import-Module activedirectory

$user=Get-ADUser -Filter * -Properties * -SearchBase "dc=XXX,dc=com" |select -ExpandProperty samaccountname

foreach ($i in $user) `

{

$a=Get-ADUser $i -Properties * |% {$_.CanonicalName}

$b=$a.Split("/")

Get-ADUser $i -Properties * |select samaccountname,@{n="OU";e={$b[$b.count-2]}},CanonicalName     

}

或者:

Import-Module activedirectory

$user=Get-ADUser -Filter * -Properties * -SearchBase "dc=XXX,dc=com" |select -ExpandProperty samaccountname

foreach ($i in $user) `

{

$a=Get-ADUser $i -Properties * |% {$_.CanonicalName}

$b=$a.Split("/")

Get-ADUser $i -Properties * |select samaccountname,@{n="OU";e={$b[-2]}},CanonicalName   

}

如下图:

wKioL1f3cRbhXeYHAAEDjRC50Z0853.png-wh_50


步骤2、2012/2012R2的AD域环境,命令如下

Get-ADUser -Filter * -Properties * -SearchBase "dc=XXX,dc=com,dc=cn" |select samaccountname,@{n="path";e={$a=$_.CanonicalName -split "/";$a[-2]}},CanonicalName 

如下图:

wKiom1f3cSHwid5kAAHtIb4rgnc542.png-wh_50


步骤3、找出每个AD账号对应的具体路径,命令如下

$user=Get-ADUser -Filter * -Properties * -SearchBase "dc=XXX,dc=com,dc=cn" |select -ExpandProperty samaccountname

foreach ($i in $user) `

{ `

$a=Get-ADUser $i -Properties * |% {$_.DistinguishedName} 

$b=$a -split "," 

$c=""

for ($j=1;$j -le $b.Count-2;$j++) {$c+=$b[$j]+","} 

$c=$c+$b[-1] 

Get-ADUser $i -Properties * |select Samaccountname,@{n="Path";e={$c}},DistinguishedName 

}

wKioL1f3y0KAr5PCAAEHq7GwvrM315.png-wh_50

步骤4、字符串处理简单实例,命令如下

#去除最后一个.后面的字符串,形成新的字符串

$a="www.baidu.com" -split "\."  #.加上\,转义字符的特殊处理,后面发现不加也不影响,同样的结果

$b=$c=""  #$b、$c初值都赋值为空

for ($i=0; $i -le $a.Count-3 ;$i++) {$b+=$a[$i]+"."} #取倒数第二个字符,并加上.

$b=$b+$a[-2] #加上倒数第二个字符串

$b

for ($i=0; $i -le $b.Count-1 ;$i++) {$c+=$b[$i]} #因字符串数目为1,所以只能取第一个值

$c

wKiom1f4Q0ezdyDrAAD91UAL4h0641.png-wh_50



本文转自 zhou_ping 51CTO博客,原文链接:http://blog.51cto.com/yuntcloud/1859125,如需转载请自行联系原作者


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值