URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

Active Directoryで使われていないユーザーとOUを削除する

 Active Directoryをちょっと変わった使い方をしている所からの相談で、勉強がてらにいろいろとPowerShellスクリプトを作っていました。
 その中の一つで、「OU内のドメインユーザーが全て無効になっていたらOUごと削除する」というもの。
 あまり他での使い道はないかな。

 起点になるOUの配下にあるOUを検索し、その中のユーザーが全て無効化されている場合はユーザー削除とOU削除をします。一つでも有効なユーザーがあれば何もしません。
 また、特定のOUは除外します。

$BaseOu = "OU=Root Div,DC=example,DC=local" $ChildOus = Get-ADOrganizationalUnit -Filter "*" -SearchBase $BaseOu -SearchScope Subtree :outer foreach ($ChildOu in $ChildOus) { if ($ChildOu.Name -eq "Root Div") {continue} if ($ChildOu.Name -eq "Exclude Div") {continue} $OuUsers = Get-ADUser -Filter "*" -SearchBase $ChildOu.DistinguishedName foreach ($OuUser in $OuUsers) { if ($OuUser.Enabled) { continue outer } } $OuUsers | Remove-ADUser -Confirm:$false Set-ADOrganizationalUnit -Identity $ChildOu.DistinguishedName -ProtectedFromAccidentalDeletion $false Remove-ADOrganizationalUnit -Identity $ChildOu.DistinguishedName -Confirm:$false } exit

 PowerShellだとActive Directory用のコマンドレットが揃っているので、あまり深く考えずに作れてしまうのですよね。AD運用も「手順書の通りに手作業」から脱却したいところ。


            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

プロフィール

1020@管理人

都内を彷徨っているインフラエンジニアとかいう雑用係。いつだって眠い…。

最近のつぶやき

@umkn1020 (08/05-14:47)
RT @itmedia_news: 練馬区で大規模停電 企業や在宅勤務者に大ダメージ https://t.co/AYfYqrt9Fe
@umkn1020 (08/05-11:57)
みんな楽しんでそうで何より(^^;) : [ITmedia News] 「Windows 365」の無料試用枠、1日で予定数に達して終了(再開予定あり) https://t.co/Vrc0ny9jHp
@umkn1020 (08/04-23:17)
夏休みじゃないけど、7月以降は浪費のペースが加速しててちょっと反省 : 夏休みに使うお金 過去最低に - Yahoo!ニュース https://t.co/NwvAV2q6kj
@umkn1020 (08/04-13:39)
シャープマスクって今は抽選に当たると最大10箱購入できるのか。買わんけどw
@umkn1020 (08/04-10:04)
ここ最近、何回か佐川に集荷をお願いしているけど、伝票に「集荷前 要電話連絡」と記載されていても実際に連絡来たことないなぁ

エントリーリスト

カテゴリーリスト

タグ