1000ユーザーの役職情報削除の補足

書き忘れたので補足。


PowerShellでActiveDirectoryを操作するとき、
ActiveDirectoryサーバー上で操作する必要はありません。


ActiveDirectoryに参加しているクライアントでOKです。
もちろん、編集など特別な権限が必要な操作は
その権限を持ったユーザーで操作する必要はありますが、
基本はリモート操作です。


あと、 ActiveDirectoryモジュールが必要なので、
リモートサーバー管理ツール(RSAT)をインストールする必要があります。
クライアントOSにあった適切なRSATをMicrosoft Downloadセンターから入手してくださいね。


RSATは参照目的でも便利なのでサーバー管理者は入れておくことをお勧めします。



1000ユーザーの役職情報を削除しなさい

ActiveDirectoryを管理していると、「1,000ユーザーの役職情報を削除しなさい」なんてオーダーが出る可能性はある。
理由は何でもいい。似たような状況に置かれたと考えてほしい。


Q.急いでいるんだけど、いつまでに完了できる?
A.ん~~1ユーザー30秒かからないとして500分程度。大体8時間
 ちょっと残業すれば今日中に終わると思います。


これ、あなたの答えですか?
先日までは私の答えもこれだったかもしれません。


でも、今の私なら、「それなら30分くらいもらえれば終わります」(余裕)
なぜなら私にはPowerShellという武器があるから。


まぁ、以前から便利なのは知ってたんですけどね、使う機会がなくてスクリプトとしては使っていなかったんですよ。やっても「Export-SPWeb」みたいな単発の命令ばっかりで~


じゃぁ、スクリプトっぽくいくよ~


Import-Module ActiveDirectory
$users = Get-ADUser -Filter *
ForEarch($user in $users)
{
Set-ADUser -Identity $user -Clear Title
}

あとはActiveDirectoryを編集できる権限で実行するだけ。
5分で書いて1分実行。
ついでに確認用のコマンドをちょっと打って


まぁ、20分は忙しそうなふりして遊びましょうか?


本当に動かすときは、編集対象に問題がないかとか、ちゃんと編集できた確認とか
やるべきことは色々あるけど、たった6行・・・
いや、最小限でいよく


Import-Module ActiveDirectory
Get-ADUser -Filter * | Set-ADUser -Clear Title

2行で終わるかも・・・
つぶしてもいい環境だったらこれでいいよね。


PowerShellの何がすごいかって、
今までの方法だと、サーバーに接続して・・・って言語すらまともに使えないのに~
って感じだったのが、それぞれのコマンドが勝手に必要な手順をこなしてくれるんですよね。
スクリプトやプログラム言語でActiveDirectoryからユーザー一覧を取得する。
これだけでも結構な行数のプログラムを書かなければならなかった?わけなんですが、
Get-ADuser -Filter *
この一行でActiveDirectoryサーバに接続して、取得して、出力するんですよ。


?


私が言いたいことは、8時間GUIで作業している管理者に
ちょっとした学習時間を確保することでその作業が30分程度に削減できるってことを知ってもらいたいだけ。



注意:このページのスクリプト、コマンドは動作確認を行っておりません。
あくまでイメージですので、動かないからと言って文句を言わないようにお願いします。



Viva ラーニングのSharePointコンテンツで既定の言語がまじめに動き出した?

相変わらず挙動が安定しないVivaラーニングさん。 既定の言語設定がまじめに仕事を始めたのかもしれません。 ちょっと確認したいことがあってラーニングを開くとコンテンツが一つだけになってしまいました。すべてのコンテンツが表示された状態から何も操作していないのに表示コンテンツ数が変わ...