如何在表中列出ActiveDirectory中的所有计算机及其OU?

时间:2016-02-19 08:20:05

标签: powershell active-directory

我想知道是否可以使用其OU名称列出Active Directory中的所有计算机?像这样:

Name  |        OU         |
---------------------------  
WS1   |  Administratrion  |
WS2   |  Finances         |
WS3   |  IT               |

我能想到的最好的是:

Import-Module ActiveDirectory  
Get-ADComputer -Filter * -Properties * | FT Name,DistinguishedName -a

产生以下输出:

Name  |                     OU                      |
-----------------------------------------------------
WS1   |  CN=WS1,OU=Administratrion, DC=test, DC=nl  |
WS2   |  CN=WS1,OU=Finances, DC=test, DC=nl         |
WS3   |  CN=WS1,OU=IT, DC=test, DC=nl               |

但这并不是我想要的。

1 个答案:

答案 0 :(得分:1)

删除专有名称的通用名称部分,然后查找OU:

Get-ADComputer  -Filter * |
  Select-Object Name, @{n='OU';e={
    $_.DistinguishedName -replace '^cn=.*?,(ou=.*)', '$1' |
      Get-ADOrganizationalUnit | Select-Object -Expand Name
  }} |
  Format-Table -AutoSize