powershell将DNA分解成单独的OUT字符串

时间:2014-01-08 15:18:41

标签: powershell csv

我们有一份列出计算机的报告(CSV)。我想获取该报告并找到每台计算机的OU信息,然后分离OU组件以便更好地进行排序。我从CSV文件中读取foreach循环。然后做一台get-adcomputer来获取DN。 从那里我创建一个数组并将DN分成它的部分。

If(($lineItem.ObjectType -eq "WorkStation") -or ($lineItem.ObjectType -eq "Server"))
     {
     $dn = get-adcomputer -server "washdc.xyz.com" -filter 'name -eq $computer' | Select -expand DistinguishedName
     $ou = $dn.Substring($Computer.Length + 7)
     $domain = "Washdc"
     $ou = $ou -replace ",DC=washdc,dc=xyz,dc=com",""
     $ou = $ou -replace "ou=",""
     $Ouarray = $ou.split(",")
         For ($i=0; $i-le $ouarray.length-1;$i++) not sure what to do here?

我想为每个OU创建一个变量(比如$ OU1,$ OU2等等),因为$ i增加了。最终目标是反转OU列表,以便以自上而下的格式输出...显示OU7,OU6,Ou5,一直到0。我是否太复杂了?

1 个答案:

答案 0 :(得分:2)

AD提供了一个名为CanonicalName的计算属性,它可以按照您想要的顺序为您提供对象的AD位置:

get-adcomputer -server "washdc.xyz.com" -filter 'name -eq $computer' -property CanonicalName | Select -expand CanonicalName 

请注意,这是一个计算属性,因此它不会在ADSIEdit中显示为对象的属性。