web-dev-qa-db-ja.com

ADグループの一時的なメンバーシップ

組織全体でのexeの実行を制限します。ただし、正当化と承認に基づいて、ユーザーを(特定の)ADグループに24時間追加します。

現在、X時間後にこれらのADグループからユーザーを削除するプロセスは手動です。何らかの方法で自動化しようとしています。しかし、AD 2003内でこれを処理するネイティブな方法があるかどうか疑問に思っていました。これを処理する唯一の方法はスクリプト(powershell/vbs)を書くことですか?

12
Anoop

すべてのドメインコントローラーがWindows Server 2003以降であると想定すると、ネイティブのActive Directoryの 動的オブジェクト 機能をスクリプトなしで実行できます

ユーザーアカウント「Bob」が24時間「経理」グループに属している必要があるとします。

  • "Bob in Accounting 24 Hours"グループを作成し、作成時に entry-TTL を24時間(グループをActive Directoryに残す期間)に指定します。

  • 「Bob in Accounting 24 Hours」を「Accounting」グループのメンバーとして追加します

  • 「Bob」ユーザーアカウントを「Bob in Accounting 24 Hours」グループのメンバーとして追加します

「Bob」ユーザーアカウントの次のログオン時に、「Bob in Accounting 24 Hours」グループのネストされたグループメンバーシップを介して「Accounting」グループのメンバーになります。 24時間の終わりに、すべてのドメインコントローラーは "Bob in Accounting 24 Hours"グループをガベージコレクションし、 "Bob"は "Accounting"のメンバーではなくなります。

トリックは、動的でないオブジェクトは作成後に動的に変換できないことです。ただし、グループネストを使用すると、この場合の制限を回避できます。

グループの作成時にentry-TTLを設定する必要があるため、「Active Directoryユーザーとコンピューター」以外のツールを使用してグループを作成する必要があります。 このブログエントリのスクリプト は、最初の場所(ユーザーオブジェクトを作成するために構築されている)かもしれませんが、代わりにldifdeまたはcsvdeを使用して作成も。

23
Evan Anderson

これはいくつかの方法で処理できますが、ADにネイティブなものはありません。

  1. スクリプトを作成し、タスクスケジューラに配置します。現在のリストを使用して、ネットワーク上のどこかにテキストファイルまたはCSVをクエリします。実行時にそのリストにない人を削除してもらいます。

  2. System Center Orchestratorなどを使用してRunbookを作成し、ユーザーをグループに追加して、X時間後に自動的に削除します。

  3. Outlookのリマインダーを作成して手動で人を連れ出す:)

6
MDMarra