2017-04-19 77 views
1

我与我的脚本中提取我的活动目录CSV导出脚本对Active Directory用户

Import-Module ActiveDirectory 
Get-ADUser -Filter * -properties * | Select SAMaccountname, givenname, surname, DistinguishedName | Export-Csv c: \ users \ administrator \ desktop \ users.csv -notypeinformation -Encoding UTF8 

的用户在这个剧本我使用它返回的CN,该OU和DC中的distinguishedName命令。我的目标是在创建.csv时仅保留第一个OU并删除其余部分。的脚本返回什么

示例:我想要什么

"SAMaccountname","givenname","surname","DistinguishedName" 
"Jean-Yves.R","Jean-Yves","Raymond","CN=Jean-Yves Raymond,OU=Communication,OU=Direction Générale,OU=Elan & Co,OU=Domain Controllers,DC=ELAN-G1,DC=local" 

例子:

"SAMaccountname","givenname","surname","DistinguishedName" 
"Jean-Yves.R","Jean-Yves","Raymond","Communication" 

TY :)

+0

使用滤波器参数,并指定要查询(通信)的OU。 – DragonZero

+0

...或者只是拆分DN属性? – Clijsters

+0

你有一个例子可以给我提供过滤器吗? ty ^^ – Chrys

回答

1

这会给你想要的OU财产。

Get-ADUser -Filter * -properties * | Select SAMaccountname, givenname, surname,@{Name='OU';Expression={$($_.DistinguishedName).Split(",")[1].Replace("OU=","")}} 

编辑:

为了应对用户OU:

Get-ADUser -Filter * -properties * | Select SAMaccountname, givenname, surname,@{Name='OU';Expression={$($_.DistinguishedName).Split(",")[1].Replace("OU=","").Replace("CN=","")}} 
+0

太棒了!如果用户在OU创建中,它可以完美工作,但如果用户只是在“用户”中,它会向我显示:“Juny.R”,“Juny”,“Rab”,“CN = Users”应该删除它“ CN =“ – Chrys

+0

@Chrys在这种情况下,只需添加另一个替换。你可以将它们链接在一起。 – Matt

+0

@Chrys查看编辑。 –

0
Get-ADUser -Filter * -properties * | Select SAMaccountname, givenname, surname,@{l='DistinguishedName';e={([adsi]"LDAP://$($_.DistinguishedName)").Parent}} 

它使用Select语句中计算属性通过LDAP获取DistinguishedName的Parent属性。

+0

Hello :)它回报我:“Jean-Yves.R”,“Jean-Yves”,“Raymond”,“LDAP:// OU =通信,OU =方向Générale,OU = Elan& Co,OU =域控制器,DC = ELAN-G1,DC =本地“ – Chrys

+0

您确定您完全按照上述方式复制它吗? –

相关问题