おそらく、上記のいくつかは他のシステム管理者にとって有用でしょう。
ソースデータとしてWindows環境とActive Directoryドメインがあり、OSは主にWindowsXP-Server2003であることをすぐに予約する必要があります。 さて、サービスを提供した企業のほとんどは中規模(30〜500ユーザー)でした。
おそらく、どのユーザーがどのコンピューターで作業しているかを判断するという頻繁に遭遇するタスクから始めましょう。
この問題を解決するために、さまざまな手法が試されています。
- ユーザー名でマシンに名前を付ける(退屈です。数か月後、コンピューターの名前を変更するのを忘れ始め、システムが混乱に陥ります)
- 別のExcelのどこに行くことができるかを厳密に把握し、特定のマシンのみにログオンする権限を設定するなど。 (純粋な水のパラノイアは、クライアントの1つでした。非常に退屈で退屈です)
- bginfoのサードパーティユーティリティとSysinternalsのpsloggedonを使用して、あらゆる種類のHyenaおよびIdeal Administratorにアクセスします(ほとんどの場合、費用がかかり、常に正しく動作しないか、またはデスクトップ上のBgInfoの場合、あまりにも開かれているため、絶対に見られたくない情報が表示されますそれだけです。多分それはパラノイアです。しかし、営業部やレセプションにいる見知らぬ人の群衆が、画面を見ているだけでコンピュータ、ユーザー、IPなどの内部名を認識したくないのです。
その結果、「 VBSとユーザーで独自のlunaparkを構築 」し、ユーザーがログインおよびログアウトするときにドメインレベル全体でグループポリシーによってそれぞれ実行される2つの小さなログオンログスクリプトを作成しました。
ログオンオプション
Dim adsinfo, ThisComp, oUser
'
Set adsinfo = CreateObject("adsysteminfo")
Set ThisComp = GetObject("LDAP://" & adsinfo.ComputerName)
Set oUser = GetObject("LDAP://" & adsinfo.UserName)
' AD
' Department ,
Thiscomp.put "Department", "Logged on: " + oUser.cn + " " + CStr(Now)
ThisComp.Setinfo
' Department
oUser.put "Department", "Logged on: " + ThisComp.cn + " " + CStr(Now)
oUser.Setinfo
wscript.quit
LOGOFFオプション
Dim adsinfo, ThisComp, oUser
'
Set adsinfo = CreateObject("adsysteminfo")
Set ThisComp = GetObject("LDAP://" & adsinfo.ComputerName)
Set oUser = GetObject("LDAP://" & adsinfo.UserName)
' AD
' Department ,
Thiscomp.put "Department", "Logged off: " + oUser.cn + " " + CStr(Now)
ThisComp.Setinfo
' Department
oUser.put "Department", "Logged off: " + ThisComp.cn + " " + CStr(Now)
oUser.Setinfo
wscript.quit
コードの説明はおそらく必要ありません。スクリプトは初歩的なものです。スクリプトの長所についてのみ説明しますが、私の状況ではマイナス面を大幅に上回っています(これについても説明します)。
長所
- このようなスクリプトを使用すると、ADスナップインを構成して追加の列(この場合は部門)を表示するだけで十分です。ログインしているとき、またはコンピューターで作業している人がいない場合、最後に作業したのは誰か、ログアウトしたとき
- サードパーティのソフトウェアは関係ありません。システムの負荷(ユーザーのログイン時間)はごくわずかに増加します。
- AD内のユーザーコンピューターの古いオブジェクトの存在は、(最後のログインの日付までに)簡単かつ明確に監視されます。
- データはADに一元的に保存され、追加のストレージ(ファイル、フォルダー、データベースなど)は必要ありません。 データは、ユーザーオブジェクトとコンピューターオブジェクトに複製されます。 「同じコンピューターで異なるコンピューターに2回ログオンした」状況を追跡できます。
- 最も使用されていないのは(私たちと私が働いたすべての組織にとって)ユーザーとコンピューターオブジェクトに共通のADフィールドです。 フィールドが異なる場合、ADスナップインに追加の列の表示を追加する必要があるため、これはプラスです。
- 必要に応じてスクリプトを調整するのは簡単です(データを保存する他のフィールドを選択する、テキストファイルに追加で書き込む、個々のユーザーまたはコンピューターを処理から除外する(ターミナルサーバーなど)など)
短所
- エントリーの履歴、つまり 現在の状態のみが記録されます。 エントリの履歴が必要な場合は、一時的に数行のコードを追加してネットワークファイルにも情報を書き込むことができます。常に必要な場合は、別のアカウンティング方法を検討することをお勧めします。
- すべてのドメインユーザーに対して、ADオブジェクトのコンピューターおよびユーザーの部門フィールドに追加の書き込み\変更権限を発行する必要があります。 私の状況のマイナスは疑わしいですが、私はそれを否定しません-それはそうです。
継続する。
PS追加を忘れました。 動作モードでは、システムは次のようになります。