Lunatic Sol

IT Tips

リモートサーバー管理ツール for Windows 7

2009-05-26 15:55:57 | Windows
Windows 7 (RC) をインストールしました。

で、すっかり失念していたのですが、Hyper-V Server のリモート管理用の管理コーンソールをインストールしなければ!と思ったのですが、Windows Server 2008のHyper-Vをリモートから管理する(ドメイン編)を見ても、Vista と 2008 用のものしかなく、困り果てました。


で、いろいろ調べてみたら、ようやく発見。

Remote Server Administration Tools for Windows 7 Release Candidate (RC)

製品版がリリースされたらきっとリンク切れになるかと思いますが、RC 版の人はきっとこれでハッピーになれるでしょう。

2010/09/13 Update:
案の定リンク切れになっていたので製品版のリンクに変更

Windows 7 用のリモート サーバー管理ツール

その後は、

コントロールパネルプログラムと機能Windows の機能の有効化または無効化

を選択し、

リモートサーバー管理ツール / 役割管理ツール / Hyper-V ツール



をチェックすれば、管理ツールの中に Hyper-V マネージャー が表示されるようになります。

VPC : intelppm.sys でブルースクリーン

2009-05-14 22:51:09 | Windows
Virtual PC のイメージ(VHD)を Hyper-V 上で使えるようにと、Virtual Machine Additions をアンインストールしてみました。

その後、intelppm.sys でブルースクリーンが発生するようになり、まぁ大変な状態。

いろいろ調べてみたら、レジストリを操作すれば解決することが判明。

これだ!1,2,3

http://blogs.msdn.com/virtual_pc_guy/archive/2005/10/24/484461.aspx

struct モジュール : pack と unpack

2009-05-08 10:41:10 | Python
たいてい、ファイルの先頭 n バイトはファイルを識別するための情報に使われていたりします。C 言語でいうところの構造体を使って、最初の4バイト (DWORD) にてファイル種別、次の4バイト (DWORD) にて○○というようなものでしょうか。

これが固定長であればいいのですが、x バイト目にサイズが書いてあって、そのサイズ分を先頭に確保したりしているような場合がありますが、そのような場合細かく分析する必要があります。

Python で、そのような情報を取得する必要があったのですが、以下の情報がそのものでした。struct モジュール (まさに C言語の構造体 - structure をモジュール名にしていますね) の unpack / pack を使うのがこれになります。

http://d.hatena.ne.jp/fgshun/20080524/1211623204

node.nodeType

2009-05-08 10:35:42 | XML
最近 XML (DOM) を python でいじってますが、例えば

if node.nodeType == node.TEXT_NODE:


としたときの node.nodeType のリストがわからなかったりします。

まとまったものを見つけたのでメモ

https://developer.mozilla.org/En/DOM/Node.nodeType


node.ELEMENT_NODE == 1
node.ATTRIBUTE_NODE == 2
node.TEXT_NODE == 3
node.CDATA_SECTION_NODE == 4
node.ENTITY_REFERENCE_NODE == 5
node.ENTITY_NODE == 6
node.PROCESSING_INSTRUCTION_NODE == 7
node.COMMENT_NODE == 8
node.DOCUMENT_NODE == 9
node.DOCUMENT_TYPE_NODE == 10
node.DOCUMENT_FRAGMENT_NODE == 11
node.NOTATION_NODE == 12

InfoPath の添付ファイル

2009-05-08 02:28:25 | Windows
InfoPath は XML ファイルですが、添付ファイルを扱うことができます。この添付ファイル、XML を見てみると Base64 なのかなということが伺えますが、なぜか先頭の数バイトが同じになります。

なぜかなと思ってたら、以下のことがわかりました。

http://support.microsoft.com/kb/892730/en-us

[  A  ][  B  ][  C  ][  D  ]
[  E  ][  F  ][  G     .....
.............][N][N]


A - 4byte - InfoPath Signature 0xC7 0x49 0x46 0x41
B - 4byte - Size 0x14
C - 4byte - Version 0x01
D - 4byte - Reserved 0x00
E - 4byte - ファイルサイズ
F - 4byte - ファイル名サイズ
G - 可変長 - ファイル名 (Unicode)
N - 1byte - Null (x2)

要は、これらのデータがファイルの先頭に結合された上で Base64Encode されていたということです。

戻したければ、Base64Decode した上で、上の情報を削除してあげればオリジナルのバイナリデータにする必要があるということですね。