0

我目前需要使用 Powershell 从 XML 文件中检索数据。该数据将用于在 AD 中构建用户 DN。我需要 PS 脚本做的就是检索每个用户的帐户名,然后用他们的 OU 结构创建一个字符串值。

XML 示例

<user>
<accountname>SmithJ</accountname>
....
....
....
<OrgUnit>
<Org>
<OrgDescription>Admin Clerks</OrgDescription>
</Org>
<Org>
<OrgDescription>Administration Services(UK)</OrgDescription>
</Org>
<Org>
<OrgDescription>Global Admin</OrgDescription>
</Org>
<Org>
<OrgDescription>Contoso</OrgDescription>
</user> 

OU 结构在每个用户条目中都是自下而上的,因此此用户 SmithJ 位于“Admin Clerks”OU 中。

我需要 powershell 生成的示例:

帐户名称

史密斯

目标OU

,OU=Admin Clerks,OU=Administration Services(UK),OU=Global Admin,OU=Contoso

理想情况下,这将导出为带有 AccountName 列和“TargetOU”列的 CSV,并在下面填充用户数据。

我是 powershell 的新手,我目前正在自己​​的时间学习它。

有人可以告诉我我是否正确地接近这个,到目前为止我有

[xml]$userfile = Get-Content C:\Users.xml

foreach( $user in $userfile.user) 

{
Write-Output $AN.accountname
}

foreach( $user in $userfile.user.OrgUnit.Org)

{

$TargetOU = ",OU=" + $User.OrgDescription | Write-Host -NoNewline  

}  

任何帮助或建议将不胜感激。

亲切的问候

约翰

4

1 回答 1

0

好吧,只是为了构建目标 OU 字符串,我会这样做:

'OU=' + (($userfile.user.OrgUnit.ChildNodes | Select -expand OrgDescription) -join ',OU=')
于 2013-09-20T15:46:49.457 回答