2016-06-23 76 views
0

Get-Adcomputerによって返されたオブジェクトが、DistinguishedNameプロパティが返された特定のグループに属しているかどうかを確認しようとしています。私はオンラインで何かを見つけていくつかのポインタを探しているようには見えません。この属性にはいくつかの異なるものが含まれており、特にOU値に興味があります。Powershell ADオブジェクトDistinguishedName属性

$computer = Get-AdComputer "$computerName" 
$computer.DistinguishedName 

これは、OUとCNにリンクされているいくつかの属性を返しますが、私はOUの一つがマッチ「Server」を属性場合だけで興味を持っています。この意志:あなただけの真/偽チェック

$computer = Get-AdComputer "$computerName" 
$dn = $computer.DistinguishedName 

$dn.Split(',') -match '^ou=.*server' 

またはあなたが全体のパスに

# split the distinguishedname into an array of CNs, OUs, etc. 
$split = $dn.Split(',') 

# setup match variable to signal that we found an object that matches what we are looking for. 
$match = $false 

# for each item in the array 
($split | % { 
    # only check this if we have not yet found a match 
    # if this line is an OU whose name contains the word 'server' 
    if (!$match -and $_ -match '^ou=.*server') { 
     # set match to true because we found what we were looking for 
     $match = $true 
    } 
    # if we have found a match, output this and all the rest of the objects to the pipeline 
    if ($match) { 
     $_ 
    } 
# now we have an array starting at the OU we were looking for 
# this join will put the pieces back together into a string so it looks right 
}) -join ',' 

ノートを取得するには、これを使用することができますを探しているなら、ここ

答えて

0

は、あなたが試みることができるものですあなたのオブジェクトのどれかに名前のカンマがある場合、おそらくうまくいかないでしょう。

+0

ありがとうございました。お二人のオプションについて簡単に説明してください。 –

関連する問題