SYDI プロジェクトは、ネットワーク管理者がネットワークを文書化するのを支援することを目的としたオープンソースプロジェクトです。一連の VBScript ファイルでシステムデータを収集し、XML として取得して、さまざまな別の形式に変換します。プロジェクトのホームページには、さらに多くの情報があります。当社は、IT 管理ツール awdit(現在ベータ版)のデータを取得するために SYDI を使ってきましたが、その過程で、標準の SYDI スクリプトにいくつかの問題を見つけ、解決しました。オープンであり続けるため、変更点は GitHub 上の SYDI のフォークにパッチとして反映し、ネイティブクライアントを個人利用および社内業務での利用向けに無料で公開しています。
更新された SYDI サーバーコレクタースクリプト
更新された SYDI サーバーコレクタースクリプトは、こちらからダウンロードできます。バージョン 2.3 をベースに、日付処理への対応を改善し、awdit にデータを送信するアップロード機能を追加しました。ただ、当社にとってはるかに使いやすい選択肢を用意しました……
x86 と x64 に対応した、SYDI 互換の awdit コレクタースクリプト
awdit collector for Windows ツールはデータを収集し、元の SYDI スクリプトと同様に、SYDI XML 形式で保存またはアップロードできます。ただし、当社のネイティブバイナリ版には、元の VBScript に比べて次の利点があります。
- マルチスレッドによる、はるかに高速なデータ収集
- より小さく実行しやすい、ネイティブでセキュアなデジタル署名付きの .exe 形式。新しいマシンでさらに高速に動作するオプションの x64 バイナリも用意
- インストール済みソフトウェアの日付を、読みやすい形式により適切に正規化(ただし、レジストリにはまだ多くのばらつきがあります)
- レジストリに日付がない場合は、インストールされたファイルからおおよその日付を取得し、値が概算であることを示すために日付の前にチルダ(~)を付加
- XML 出力をきれいに整形
- 仮想化システムでのいくつかの不具合を解消
- アプリケーションのアーキテクチャを、
regapplicationまたはmsiapplicationタグの新しいarchitecture属性で報告 - インストールのロケールと言語設定を新しい
language属性で報告 - プロダクトキーをより確実に収集
- 引数を簡素化。エクスプローラーでファイルをダブルクリックしたときにも表示
- 新しい TSR(terminate and stay resident)モード。コレクターを実行したままにしておき、設定に従って数日ごとに新しい XML を自動生成可能
- 悪質なスパイウェアやマルウェア、外部への勝手な通信などは一切なし
加えた変更はいずれも、元のスクリプトや XSLT との互換性を損なっていないため、これまで VBScript 版を実行していた環境でも新しいクライアントを使えます。最もシンプルな使い方としては、次のように awdit コレクターを使ってマシン上に XML を出力できます。
$ awdit-collector-win-x86.exe --file=my-machine.xml
ダウンロード
このスクリプトについてのご意見をぜひお寄せください。お待ちしています。
- awdit Collector for Windows(x86、x64 バージョン 0.61)
ネットワーク経由でコレクターを実行する
awdit または SYDI のコレクタースクリプトをネットワーク経由で実行する方法はいくつかあります。サーバーでは TSR モードがうまく機能しますし、上級ユーザーはグループポリシーを使ってツールの定期的な起動をスケジュールできます。当社が学んだベストプラクティスも今後共有する予定です。それまでの間、おそらく最も簡単な方法を以下に詳しく説明します。ドメイン上でグループポリシーエディターを使うと、ドメイン内のすべてのクライアントに、ログオン処理の一部として該当するスクリプトファイルを強制的に実行させることができます。
- ドメインコントローラー上で「Group Policy Editor」を開き、既定のドメインポリシーを読み込みます(より適切な場合は、新しいドメインポリシーを作成します)
- 「ユーザーの構成」|「Windows の設定」|「スクリプト (ログオン/ログオフ)」を展開し、右ペインの「ログオン」をダブルクリックします。
Addボタンをクリックし、「スクリプト名」ボックスにrun-sydi-network.vbsファイルのパスを参照して指定するか、貼り付けます。




