---------- スクリプトはここから始まります--------------

---------- スクリプトはここから始まります--------------

使用されなくなった AD グループをいくつかクリーンアップしています。AD グループの 1 つは、メンバーがこのグループをプライマリ グループとして設定している (誰かが誤って設定したと推測します) ため、削除できませんでした。誰がこのグループをプライマリとして設定しているかを簡単に確認する方法はありますか?

答え1

問題のグループの primaryGroupToken 値を取得する必要があります。

  1. adsiedit を使用して、削除するグループを調べます。primaryGroupToken 属性の値をメモします。
  2. 次の「カスタム検索」を使用して、Active Directory ユーザーとコンピューターに保存されたクエリを作成します。ここで、XXX は primaryGroupToken で見つかった値です。

    (&(オブジェクトカテゴリ=人)(オブジェクトクラス=ユーザー)(プライマリグループID=XXX))

  3. クエリを更新して誰が現れるか確認する

あるいは、すべてのユーザーがプライマリ グループとして Domain Users のメンバーであることが予想される場合は、次のようにクエリを定義します (513 は Domain Users の一般的な値です)。

(&(objectCategory=person)(objectClass=user)(!primaryGroupID=513))

追加リンク:

http://support.microsoft.com/default.aspx?scid=kb;en-us;321360 http://support.microsoft.com/default.aspx?scid=kb;en-us;297951

素晴らしい質問ですね!

答え2

特権を与えるだけで

Active Directory内のWindowsグループを削除するには

  1. メモ帳を開く

  2. 以下のテキストをコピーしてメモ帳に貼り付けます

  3. ファイルを .ps1 拡張子で保存します。

---------- スクリプトはここから始まります--------------

バージョン2

2010年4月19日

指定されたユーザーを変更するスクリプト

1.CSVから指定されたユーザーを取得する

ユーザーグループメンバーシップを削除する

2.マネージャーのプロパティをクリアする

3.GALから隠れる

4.無効なOUに移動する

5.csvの名前を完了日に変更し、完了に移動する

$groupmembershiplog="c:\removeADAttributes\group_membership_log.csv" $erroractionpreference = "SilentlyContinue" $termfile=Test-Path -Path "C:\removeADAttributes\termed_employees.csv" If ($termfile -eq "True") { $inputcsv="C:\removeADAttributes\termed_employees.csv" $completeddir="C:\removeADAttributes\completed\" $date=Get-Date -format d

CSV インポート $inputcsv | foreach オブジェクト { $username=$_.account

グループをファイルにエクスポート

$groups=(Get-QADUser $username).memberof Add-Content $groupmembershiplog $username","$groups

グループを削除

$groups | Get-QADGroup | where {$_.name -ne "domain users"} | Remove-QADGroupMember -Member $name Set-QADUser -Identity $username -objectattributes @{"Manager"="$null"} $currentuser=Get-QADUser -Identity $username -SizeLimit 1 $currentOU=$currentuser.parentcontainer $currentOU = $currentOU.Split('/') $currentOU = $currentOU[1] Move-QADObject -identity $username -NewParentContainer "domainname.com/$ou/Disabled Accounts" }

CSV インポート $inputcsv | foreach オブジェクト { $username=$.account Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin Set-Mailbox -Identity $username -HiddenFromAddressListsEnabled $true } import-CSV $inputcsv | foreach-object { $username=$.account Add-Content "C:\removeADAttributes\removeADAttributes_log.csv" $date","$username }

Move-Item $inputcsv -Destination $completeddir $todaydate=$date.replace("/","_") $newfilename=$todaydate+".csv" Rename-Item "C:\removeADAttributes\completed\termed_employees.csv" -NewName $newfilename

} else { $date=Get-Date -format d Add-Content "C:\removeADAttributes\removeADAttributes_log.csv" $date",用語ユーザーなし、用語ユーザーなし" exit }

---------- スクリプトはここで終了-------------

このスクリプトが役に立つことを願っています

答え3

これは古いスレッドだとは思いますが、同じ問題を抱えている人のために。とにかくグループを削除する場合は、より簡単な方法があります。

  • グループを開き、メンバータブに移動します。
  • すべてのユーザーを選択
  • ユーザーを削除します。
  • 残っているユーザーの 1 人が、グループをプライマリとして持っています。私の場合は、名前のアルファベット順が最も小さいユーザーがプライマリでした。
  • そのユーザーのプライマリグループを変更する
  • グループを削除するか、繰り返して、このグループをプライマリとする他のユーザーを見つけます。

関連情報