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 (07/03-18:57)
RT @kamo_hiroyasu: 「人口の1割は複文が処理できないのだから、そのつもりで行動しろ」と助言することが時々あるのですが、「何もしなければ、42万人死亡する」を「42万人死亡する」と誤読して「外した」と煽る人がわらわらと湧いてきたことで、説得力が増しました。
@umkn1020 (07/03-18:49)
RT @taijijiji: 外資企業が日本市場でhiring難しいとは聞いていましたがこれほどとは。。日本人の転職の心理的ハードルの高さ、英語ポジションへの苦手意識が伺える。。英語は実質的な語学スキルよりも「やっていける自信がない」「怖い」「どうせ落とされる」というメンタリテ…
@umkn1020 (07/03-13:03)
RT @yuutosi_hiyuu: 声だして笑った https://t.co/EjqAUuT3z0
@umkn1020 (07/02-16:02)
Smart LifeでIFTTT使えなくなっていたのか…
@umkn1020 (07/01-17:23)
RT @rioriost: だーかーらー、HAクラスタをすぐ組もうとしない!w オンプレの発想をそのまま持ってくるんじゃなく、クラウドに合ったやり方を学びましょうよ。 できるよ、IaaSでHAクラスタも組めるよ。 でも、スタンバイノードのコストを払い続けるの、なんかおかし…

エントリーリスト

カテゴリーリスト

タグ