最近、セキュリティ意識に芽生えたユーザーから引き受けたオシゴトの備忘録です。
コンピューターオブジェクトのメンテナンスの必要性
そもそもオブジェクトをメンテナンスしてる?
会社環境などでActiveDirectoryを使う場合、最近のセキュリティ事情から、ユーザーオブジェクトのメンテナンスはマメに行うユーザーが多くなったように思います。
ユーザーはネットワーク越しの認証でも使うので、当然の傾向かと思います。
その反面、ドメインに参加したコンピューターオブジェクトは放置されがちです。
ドメインから去ったコンピューターオブジェクトを使った悪用が、直感的には思い浮かばないのがその理由かな?と推測します。
その結果・・・
何年も経過すると、Computersフォルダは手に負えない状態になります(=◇=;)
コンピューターオブジェクトをメンテする必要ってある?
日々の運用だけに目を向けていると、メンテの必要はないと思います。
が、セキュリティのためと言われると話は別です。
Computersフォルダ(またはOU)は、本来ドメインに参加しているコンピューターのみが登録されます。
日々、ここをメンテしておくことで、得体のしれないコンピューターが参加した際に気づきを得ることができます。
だからセキュリティを考慮するのであれば、日ごろからメンテしておくべき、と考えます。
まぁ、実際はそんなヒマあるわけがないのですが(´・ω・`)
そんなわけで、運悪くコンピューターをまるで分からない管理者に現状を見つかった運用担当さんが、駆け込んでくるわけですね(^▽^;)
一定期間ログオン実績のないコンピューターオブジェクトの抽出方法
Windows ServerのPowerShellで、次のコマンドを実行します。
Search-ADAccount -AccountInactive -DateTime "2015/05/01" -ComputersOnly | Format-Table Name | Out-File Export.txt
今回は備忘録なので、項目1こずつ残しておきます。
事前準備
ActiveDirectory用のモジュールを読み込みます。
Import-Module ActiveDirectory
○月○日以降、ログオンしていないコンピューターオブジェクトの抽出
Search-ADAccountを使用します。
-DateTimeで○月○日以降を指定します。
Search-ADAccount -AccountInactive -DateTime "2016/01/01" -ComputersOnly
テーブル形式で出力する
Search-ADAccountはリスト形式で出力されます。
その後の加工などを考えると、表形式の出力が望まれます。
Format-Table 項目
上記例ではNameだけでしたが、DNや最終ログオン日、SIDなども出力可能です。
項目名は、Search-ADAccountを実行した結果を確認し、必要に応じて追加すればよいかな?と思います。
今回は、ただ報告したいという要望だったので、NameとLastLogonDate、Enabledの3つの出力結果で満足してもらえました。
ファイルに書き出し
出力するファイルを指定します。
Out-File Filepass
終わりに
何事も、日ごろからコツコツとメンテすることが大事ですね(;^_^A
Windows PowerShell実践システム管理ガイド 第2版
- 作者: 横田秀之,河野憲義,目時秀典
- 出版社/メーカー: 日経BP社
- 発売日: 2015/06/18
- メディア: Kindle版
- この商品を含むブログを見る