次のタスクを実行できるスクリプトを作成するように指示されています。例:私たちはドメインABCを持っています。powershell - 複数のユーザーをチェックし、重複したユーザーを除外してカウントを追加します。
ピーターはAのメンバーとBグループである
A、B、C、Dの
という名前の4つのセキュリティグループがあります。 DavidはBグループとCグループのメンバーです。 JohnはAグループのメンバーです。 BグループもメンバーAグループです。A、Bグループの合計ユーザー数を検索します。すでにグループに入っているユーザーは、カウントで除外されます。これは、重複ユーザーカウントを除外することを意味します。上記に基づいて、スクリプトにはAの合計数が表示されます& B = 3ユーザー代わりに5ユーザー。私は、AとBグループのユーザ数をカウントするスクリプトを作成しようとしました。また、AグループとBグループのいずれのグループも存在しています。 JohnがAとBに存在する場合、スクリプトはちょうど1カウントを追加します。また、DavidがBグループにいるがAグループにいない場合は、1カウントが加算されます。
編集:あなたの助けを借りてコードを修正した後、エラーはありません。ただし、表示される結果は空です。
$groups = $A_group, $B_Group
$gm = @()
foreach ($group in $groups) {
$gm += Get-ADGroupMember $group |
where {$_.objectclass -eq 'user'} |
select SamAccountName
}
($gm.samaccountname | Select -Unique).Count
Write-Output $total = ($gm.samaccountname | Select -Unique).Count
あなたは$ total変数をどこで定義しますか? – guiwhatsthat
*正確に*コードが「うまくいかない」のですか?期待された結果は何でしたか?実際の結果はどうでしたか?間違いはありましたか?彼らは何を言いましたか? –
'$合計=($ gm.samaccountname |選択 - ユニーク).Count; Write-Output $ total' –