• WSH 5.7 :スクリプトホストの変更で問題

    以前、blog で XP および 2000, 2003 用の Windows Script Host 5.7 をご案内しました。

    Windows Script Host ( WSH ) 5.7 (英語版) が公開されています
    http://blogs.technet.com/junichia/archive/2007/09/04/windows-script-host-wsh-5-7.aspx

    が、つい最近以下のドキュメントが公開されました。

    Windows Script 5.7 Update
    http://www.microsoft.com/technet/scriptcenter/newswire/wsh57.mspx

    上記によれば、スクリプトホストの設定コマンドのパラメタが 「」 になってしまっているとのこと。

    意味がわかりずらいですね。

    規定では、スクリプトホストは Wscript に設定されています。このとき、Wscript.Echo などでメッセージを表示すると、ポップアップが表示され、OKボタンをクリックして閉じる必要があります。

    バッチ処理を行う場合には、これでは不便であるため、通常は、以下のコマンドでスクリプトホストを CScript に変更します。

    cscript //h:cscript

    こうすることで、メッセージに出力先をコマンドプロンプト上に設定することができます。

    しかしながら、今回リリースされた 5.7 では、//h: オプションが逆になってしまっており、

    Wscript に設定する場合

    cscript //h:cscript

    CScript に設定する場合

    cscript //h:wscript

    にする必要があるとのこと。
    確かに、日本語版 XP にインストールして試してみたところ、逆になっています。

    # 不謹慎ながら、笑ってしまいました。

    ご注意ください。

    ちなみに、Vista では問題ありませんでした。

     

  • WinRM が XP や 2003 でも使えるようになりました ( WS-Management 1.1 日本語版リリース )

    既に高添の blog でも SCVMM の話題の中で触れられているのですが、1か月前までは英語版しかリリースされていなかった WS-Management 1.1 について 9月28日付で日本語版がリリースされました。

    WS-Management Version 1.1 日本語版ダウンロード
    http://www.microsoft.com/downloads/details.aspx?FamilyID=845289CA-16CC-4C73-8934-DD46B5ED1D33&displaylang=ja

    WS-Management がリリースされたということはどういうことか?

    はい、そうです。Windows XP や 2003 でも、WinRM が使えるようになったということなのです。

    Windows Server 2003 R2 や、Vista もしくは 2008 をお使いの方は WinRM について認識いただいているかと思いますが、2003 および XP 使いの方に、ごくごく簡単に書いてしまいますと、

    WinRM を使用すると HTTP/HTTPS を使用して WMI が使える

    のです。

    従来、WMI を使用するには DCOM を使う必要がありました。そのため、port 135 が閉じられていてWMIが使えなかったなんて経験はありませんか?もしかしたら、自宅のルーターのログに、大量の Port 135 へのアタックを見たことがある方もいらっしゃるかもしれません。Port 135 は RPC( Remote Procidure Call )のポートですので、何かとアタックを受けることが多いのは事実であり、さすがにインターネットに対して 135 をオープンするというのは勇気がいることです。

    WinRM が実装されていれば、WMI ににアクセスするのに DCOM を必要としません。仮にインターネット上から社内ローカルネットワーク上のコンピュータを管理しようとした場合、HTTP/HTTPS で通信ができてしまうわけです。

    自宅のコンピュータから PowerShell を使用して、センターに置いてあるサーバーをメンテナンスするという可能性も考えられます。

    もちろん、WMI ですから、VBScript だって使えます。

    以下のページでは、VBScript を使用した WinRM のサンプルコードが掲載されていますので参考になさってください。 

    WinRM: Remote Management Across the Internet
    Now Available For Windows XP and Windows Server 2003

    今後 WinRM について情報を収集し、発信していきたいと思います。

     

  • VBScript Quick Reference 2007.06 版

    VBScript Quick Reference というものがリリースされております。

    VBScript Quick Reference download
    http://www.microsoft.com/downloads/details.aspx?FamilyID=9c80b0df-b9b4-4fcb-b513-02f8f40049e8&DisplayLang=en

    英語ですが、忘れがちな書式をちょっと調べたいときに非常に便利です。ワードドキュメント2ページに、わかりやすくまとめてあります。

     
    クリックすると大きな画像で表示されます

    クリアファイルの間や、部屋の壁はもちろんのこと、ご自宅のトイレに貼っていただければお子様の情操教育にも役立ちます。

    姉妹品として、Powershell Quick Reference もございます。

    Powershell Quick Reference download
    http://www.microsoft.com/downloads/details.aspx?familyid=DF8ED469-9007-401C-85E7-46649A32D0E0&displaylang=en

  • NO PC SHOULD BE WITHOUT IT - MS-DOS 5 Promotion Video

    いきなりなんのことやら?というタイトルですが、MS オーストラリアの IT Pro エバンジェリストである Jeff Alexander 氏の blog に MS-DOS 5.0 と Windows 386 のプロモーションビデオが紹介されていました。

    以下は blog の記事へのリンクですが、以下の記事で紹介されているプロモーションビデオは YouTube への直リンになりますので、会社内からアクセスされる方はご注意ください。

    Jeff Alexander's Weblog - MS-DOS 5.0 and Windows 386 Promo Videos!
    http://blogs.technet.com/jeffa36/archive/2007/09/17/ms-dos-5-0-and-windows-386-promo-videos.aspx

    ご覧頂くとわかるのですが、うーん、懐かしいです。
    もちろん、DOS もそうなのですが、ラップにのせて新製品を紹介することが ナウい と思われていたであろうカルチャーが...なんともはや時代を感じます。

    「今度の OS は グラフィカルシェルが搭載されていてドラッグアンドドロップができるし、しかも UNDELETE ができるんですよ!」

    と直接的な表現でプロモーションができた時代ですね。

    多くを語ると墓穴を掘りそうなので、ここでやめます。

  • 2008:auditpol で使用可能な subcategory の一覧を取得する

    28日は久しぶりの IT Pro 道場でした。私は、高添スピーカーの補助としてオペレータを勤めたわけですが、操作担当といえども案外緊張するものです(笑)。

    で、道場終了後にご質問をいただきましたので、この場を借りて回答させていただきます。

    なお、監査については高添のblogでも触れられていますのでご一読ください。

    http://blogs.technet.com/osamut/archive/2007/07/15/active-directory.aspx
    http://blogs.technet.com/osamut/archive/2007/07/15/windows-server-2008-active-directory.aspx

    質問

    auditpol で使用可能なsubcategoryの一覧を参照するにはどうしたらよいですか?

    回答

    /list パラメタを使用して category および subcategory 一覧を参照することができます。 

    ご質問の subcategory を参照するには、以下の通りに入力して実行します。 

    auditpol.exe /list /subcategory:*

    実行したところ以下のような一覧を取得することができました。

    システム  ←  category
      セキュリティ状態の変更  ← subcategory
      セキュリティ システムの拡張
      システムの整合性
      IPsec ドライバ
      その他のシステム イベント
    ログオン/ログオフ
      ログオン
      ログオフ
      アカウント ロックアウト
      IPsec メイン モード
      IPsec クイック モード
      IPsec 拡張モード
      特殊なログオン
      その他のログオン/ログオフ イベント
    オブジェクト アクセス
      ファイル システム
      レジストリ
      カーネル オブジェクト
      SAM
      証明書サービス
      生成されたアプリケーション
      ハンドル操作
      ファイルの共有
      フィルタリング プラットフォーム パケットのドロップ
      フィルタリング プラットフォームの接続
      その他のオブジェクト アクセス イベント
    特権の使用
      重要な特権の使用
      重要でない特権の使用
      その他の特権の使用イベント
    詳細追跡
      プロセスの作成
      プロセス終了
      DPAPI アクティビティ
      RPC イベント
    ポリシーの変更
      ポリシーの変更の監査
      ポリシーの変更の認証
      ポリシーの変更の承認
      MPSSVC ルールレベル ポリシーの変更
      フィルタリング プラットフォームのポリシー変更
      その他のポリシー変更イベント
    アカウント管理
      ユーザー アカウント管理
      コンピュータ アカウント管理
      セキュリティ グループ管理
      配布グループの管理
      アプリケーション グループ管理
      その他のアカウント管理イベント
    DS アクセス
      ディレクトリ サービス アクセス
      ディレクトリ サービスの変更
      ディレクトリ サービスのレプリケーション
      詳細なディレクトリ サービス レプリケーション
    アカウント ログオン
      資格情報の確認
      Kerbaros Service Ticket Operations
      その他のアカウント ログオン イベント
      Kerberos Authentication Service

    本日高添の道場でも触れられていた通り、"ディレクトリ サービスの変更" を使用すると、Active Directoryに加えられた変更前変更後の値を監査ログで取得することができます。"ディレクトリ サービスの変更" を有効にするには、上位の category と 下位の subcategory の両方を有効にする必要があります。

    auditpol /set /category:"DS アクセス"
    auditpol /set /subcategory:"ディレクトリ サービスの変更"

    この機能、いいですよね。

    少々残念なのは、それぞれが別々のイベントとして報告されるということと、イベントIDが同じであるということ...。ちなみに、イベントID 5136 で報告されます。

    WMI を使用してイベントログを監視しているような場合、是非とも変更前と後の値を取り出したいですよね。でも、イベントIDが同じなので、ちょいと判断ロジックを工夫しないと難しそうです。必ず「変更前」→「変更後」と報告されるのならばよいのですが、大量に変更を行った場合、「変更前」がしばらく続いて、その後「変更後」が出現する可能性もあります。

    もしそうだとすれば、変更されたオブジェクトをプログラム中でキャッシュしておき、変更後イベントとのマッチングを行う必要があります。うーん...ちょっと面倒かも...

    もうひとつ考えられる方法としては、「変更前」だけ取得して、変更後の値は直接ADに参照しに行くか...ただしこの場合に注意しなければならないのはイベントが発生したドメインコントローラに見に行かなければならないということ。でないと、複製が完了していない可能性があり、古い値を参照してしまうかもしれません。それに、ADに負荷をかけてしまうことにもなるのか...。

    うまく両者を取り出すことができれば、プロビジョニングにも流用できそうですし、ちょっと夢が広がりますね。メタバースを用意しなくても、ADを直接管理簿として使用するということも考えられます。

    あ、ILM を否定しているわけではありません。手軽にやるならば、そんな方法もあるんじゃないかということです。

    イベントの発生順序については今後検証してみますので、またここで報告します。