にADユーザグループメンバーシップを比較する場合のコマンド:PowerShellは、私はこのような何かをするためのロジックを把握しようとしているベースライン
- クエリの特定のOU内のすべてのADグループが
- クエリのすべてのユーザー任意のユーザが任意のユーザがグループのどれに属している場合の情報
- 初期グループクエリ内の1つのまたは複数のグループ、出力に属している場合、特定のOUに
- クエリのすべてのユーザーのグループが
- をメンバーシップ初期のグループクエリでもその情報を出力する
私はこのサイトを掘り下げて、ほとんどの部分で動作するスクリプトを見つけましたが、ユーザーのグループメンバーシップを元のものと比較する方法が残っています私が引っ張っているグループクエリー。 compare-objectコマンドレットを使用できるように見えますが、パラメータには2つのオブジェクトが共通するグループの数を把握できるようなものは含まれていないようです。
私はオンラインで見つけるのコードは以下の通りです:
$groups = Get-ADGroup -Filter * | where {$_.distinguishedname -like "*,OU=TUNE_TEST_GROUPS,OU=TUNE_TEST,DC=tune,DC=priv"}
$users = Get-ADUser -Filter * | where {$_.distinguishedname -like "*,OU=TUNE_TEST_USERS,OU=TUNE_TEST,DC=tune,DC=priv"}
foreach ($User in $Users) {
$userGroups = Get-ADPrincipalGroupMembership $User
if ($userGroups.Count -gt 1) {
"{0} is a member of the following {1} groups:" -f $User.SamAccountName, $userGroups.Count
foreach ($group in $userGroups) {
"`t{0}" -f $group.Name
}
} elseif ($userGroups.Count -lt 1) {
"{0} is a member of the following {1} groups:" -f $User.SamAccountName, $userGroups.Count
foreach ($group in $userGroups) {
"`t{0}" -f $group.Name
}
}
}
これに伴う問題は、私はライン1 Iでグループクエリの名前のユーザーグループ名を比較する方法を持っていないということです
ユーザーがそのリストの1つ以上のグループに所属していると判断することもできません。私は同じカウント方法を使用できるかどうかはわかりません。
実際に、私はただの中にネストされた場合/ else文でそれらを介して、CSVやループに両方の初期グループとユーザーのクエリをエクスポートすることができるかもしれないと思いますforeachループ。これを試してみましょう。 –