Powershell管理系列(三十三)PowerShell操作之查询AD账号对应的OU存放位置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Powershell管理系列(三十三)PowerShell操作之查询AD账号对应的OU存放位置相关的知识,希望对你有一定的参考价值。
-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750
需求:找出每个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
}
如下图:
步骤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
如下图:
步骤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
}
本文出自 “周平的微软技术交流平台” 博客,请务必保留此出处http://yuntcloud.blog.51cto.com/1173839/1859125
以上是关于Powershell管理系列(三十三)PowerShell操作之查询AD账号对应的OU存放位置的主要内容,如果未能解决你的问题,请参考以下文章
Powershell管理系列(三十)PowerShell操作之统计邮箱的用户信息
Powershell管理系列(三十五)PowerShell操作之以管理员权限运行脚本
Powershell管理系列(三十四)PowerShell操作之Send-MailMessage
Powershell管理系列(三十九)PowerShell查询和解锁AD账号