1

PowerShell の AD モジュールを使用して Active Directory を検索しようとしています。特定のユーザーが特定のグローバル グループに属しているかどうかを判断しようとしています。問題は、-match「smith_p」を含む「smith_pl」など、別のユーザー名を含むユーザー名がある場合に意味を使用していることです。ユーザー「smith_p」がグループに含まれていることが示されます。

だから私の質問は次のとおりです:ユーザーがADモジュールを使用してグローバルグループに属しているかどうかに応じて、$Trueまたはリターンを取得するより良い方法はありますか?$False

そうでない場合

の代わりに使用できるように、出力を$ListOfmembers配列に取得する方法はありますか?-eq-match


スクリプトの一部:

$ListOfmembers = dsquery group domainroot -name $globalgroup | 
                 dsget group -members | 
                 dsget user -samid -L

$checkMember = $False
#Search if the user is in output the list
If($ListOfmembers -match $Logonname){
    $checkMember = $True
}

ListOfmembers 出力:

samid: user05_t

samid: user23_s

samid: Admin

samid: user45_s

dsget succeeded

どんな助けでも大歓迎です、乾杯。

4

3 に答える 3

1
$member = Get-ADGroupMember group1 -Recursive | where {$_.samaccountname -eq 'user1'}
if($member) {'user 1 is a member of group1'}
于 2013-06-05T14:59:59.507 に答える
0

QAD をチェックアウトする必要があります: http://www.quest.com/powershell/activeroles-server.aspx

$user get-qaduser samAccountName $user.memberof

于 2013-06-05T22:09:14.747 に答える