none
ドメイン参加時に、コンピュータアカウントを適切なOUに自動で振り分けたい RRS feed

  • 質問

  • クライアントOS:Windows7、サーバOS:WindowsServer 2008 R2のActiveDirectory環境

    適用するGPOの種類ごとに、複数のOUがあります。

    例えば、WindowsUpdateのポリシーを適用するOU、適用しないOUと区別しています。

    クライアントがドメインに参加した時のデフォルトは、computersコンテナであるが、あるOUにリダイレクトする設定となっています。

    このOUではない別のOUに移動させたい場合は、現状手動で移動しています。

    これを自動化にしたいのですが、可能でしょうか。

    以下の方法を考えたのですが、どのようにすれば実現できるかおわかりでしょうか。

    <考えた方法>

    ドメインに参加するとき、イベントログに「ID4741」をトリガーにジョブを実行することを考えたのですが、

    そのトリガーとなったイベントの内容を表示・出力させることができるのかどうかというところでつまずいています。

    イベントの内容を出力することができれば、そこでコンピュータアカウント名が取得できるので、やりたいことは実現できるのですが、、、

    よろしくお願いします。

    2016年6月17日 11:23

回答

  • チャブーンです。

    おっしゃる要件(コンピュータごとにOUの置き場所を指定したい)を適えるもっとも確実な方法は、「最初から該当OUにコンピュータオブジェクトを作っておく」ことです。ドメイン参加時に生成したオブジェクトを「その場で移動」といったことは非現実的ですし、トラブルを招来しますので、避けた方が賢明です。

    背景として「管理者権限でコンピュータオブジェクトを作成すると、管理者しかドメイン参加できない」ので、参加時に新規作成を採用されているかもしれません。このような場合、スクリプトを使えば「指定したユーザだけドメイン参加させるコンピュータオブジェクトを事前に作成」させることが可能です。過去にこのような質問にお答えしたことがありますので、以下の過去ログを参照なさってください。

    https://social.technet.microsoft.com/Forums/ja-JP/cf7783fb-a2d5-47a6-adee-321c6ce95661/newadcomputer-?forum=powershellja


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    2016年6月17日 11:56
    モデレータ
  • 定期的に既定のOU内のコンピューターオブジェクトを確認してMove-ADObjectで移動するタスクをスケジュールしてみてはいかがでしょうか。ただ、コンピューターアカウント名にルールがあるといった前提は必要です(「考えた方法」も同様かと思いますが)。

    なおイベントをトリガーとするスクリプトの例は

    「__InstanceCreationEvent Where TargetInstance ISA 'Win32_NTLogEvent」

    あたりで検索すると、それらしいのがHITします(タスクスケジューラーの「イベント時」トリガでも同様かと思います)。

    これらの例をざっと見たところ、イベントの内容がメッセージであれば「SourceEventArgs.NewEvent.TargetInstance」の「message」が目的のもののようです。

    以上、参考まで。

    • 編集済み やき(Yaki) 2016年6月17日 13:52 イベントの内容表示について追記
    • 回答の候補に設定 佐伯玲 2016年7月1日 5:31
    • 回答としてマーク 佐伯玲 2016年7月5日 2:07
    2016年6月17日 13:40

すべての返信

  • チャブーンです。

    おっしゃる要件(コンピュータごとにOUの置き場所を指定したい)を適えるもっとも確実な方法は、「最初から該当OUにコンピュータオブジェクトを作っておく」ことです。ドメイン参加時に生成したオブジェクトを「その場で移動」といったことは非現実的ですし、トラブルを招来しますので、避けた方が賢明です。

    背景として「管理者権限でコンピュータオブジェクトを作成すると、管理者しかドメイン参加できない」ので、参加時に新規作成を採用されているかもしれません。このような場合、スクリプトを使えば「指定したユーザだけドメイン参加させるコンピュータオブジェクトを事前に作成」させることが可能です。過去にこのような質問にお答えしたことがありますので、以下の過去ログを参照なさってください。

    https://social.technet.microsoft.com/Forums/ja-JP/cf7783fb-a2d5-47a6-adee-321c6ce95661/newadcomputer-?forum=powershellja


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    2016年6月17日 11:56
    モデレータ
  • 定期的に既定のOU内のコンピューターオブジェクトを確認してMove-ADObjectで移動するタスクをスケジュールしてみてはいかがでしょうか。ただ、コンピューターアカウント名にルールがあるといった前提は必要です(「考えた方法」も同様かと思いますが)。

    なおイベントをトリガーとするスクリプトの例は

    「__InstanceCreationEvent Where TargetInstance ISA 'Win32_NTLogEvent」

    あたりで検索すると、それらしいのがHITします(タスクスケジューラーの「イベント時」トリガでも同様かと思います)。

    これらの例をざっと見たところ、イベントの内容がメッセージであれば「SourceEventArgs.NewEvent.TargetInstance」の「message」が目的のもののようです。

    以上、参考まで。

    • 編集済み やき(Yaki) 2016年6月17日 13:52 イベントの内容表示について追記
    • 回答の候補に設定 佐伯玲 2016年7月1日 5:31
    • 回答としてマーク 佐伯玲 2016年7月5日 2:07
    2016年6月17日 13:40
  • こんにちは、吉本 さん
    フォーラムオペレータの佐伯 玲 です。

    ご参考になる情報が寄せられているのではないかと思いましたので私のほうから「回答としてマーク」とさせていただきました。
    フォーラムはユーザー同士の情報交換を行う場ですのでご質問後は返信をご確認いただきご返答ください。
    また現在並行してご質問中のスレッドが他にもあるようですのでそちらもご確認ください。
    ご参考になった際には「回答としてマーク」と設定いただき質問を締め切るようお願い致します。

    宜しくお願い致します。

    TechNet Community Support 佐伯 玲

    2016年7月5日 2:07