Visual Studio 2010 発売日&価格

4/12にローンチされたのでMSDNを探していたんですが、日本語版はまだのようです。[2010/04/13 16:30時点]
<追加 Date=2010/04/13 19:20>
MSDN提供は4/20でした。
</追加>
正式な発売日と参考価格が掲載されていたのでメモ。
えっと、個人的にはTFS2010の価格が気になっていたのですが、
TFS2010 新規パッケージ:68,000円
はいい感じなのですが、
CALが68,000円(@_@;)
え~、ちょっと考えさせて下さい。(-_-;)

SCVMMでのバーチャルマシン移動

SCVMMが使えると、仮想環境の運用は相当楽ですねぇ。
Hyper-Vホスト同士での移動でも、SCVMMがなければ
 エクスポート→ファイルコピー→インポート→仮想ネットワークの変更
という感じですが、SCVMMがあると、バーチャルマシン一覧内から移動先ホストにドラッグするだけでBITS(バックグラウンド インテリジェント転送サービス)での移動(SCVMMの表記としては「移行」)が実行できます。
ところが、
 ・移行元と移行先の仮想ネットワーク名が異なる
 ・移行先ホストにバーチャルマシン格納先が複数存在する(D:\Hyper-VとE:\Hyper-Vとか)
という状態で、ドラッグによる移行を行うと
 ・仮想ネットワークに接続されない
 ・移行先ホストの「配置」プロパティの先頭に指定されているパスに移行される
という動作になります。
仮想ネットワークは再指定するだけなのですが、格納フォルダが異なる場合、同一マシン内で移行させてもBITSでの移動となってしまい、無駄な時間がかかります。
一発できれいに移行させたい場合には、ドラッグではなく、バーチャルマシンを右クリックし「移行」を選択します。
すると、バーチャルマシンの移行ウィザードが起動され、
 ・移行先ホスト
 ・格納パスの選択
 ・ネットワークの選択
が事前に指定できます。
ドラッグでもウィザード起動してほしいですね。

VMConnectのショートカットキー

最近、いろいろな環境を作るのにHyper-Vを使っています。
ただ、サーバへリモートデスクトップ接続した状態でHyper-Vマネージャーから仮想マシンに接続したときに、統合サービスがインストールされていないとマウスが仮想マシンのウィンドウにキャプチャされ、ショートカットキーを押さないと抜け出せません。(Windows Server 2008 R2とWindows 7はOSセットアップ時から統合サービスが組み込まれている状態なので、この事象は発生しません)
昔使用していたVirtualServer2005だと、デフォルトがAltキーでしたが、Hyper-V(VMConnect)ではAlt+Ctrl+←キーに変更されています。
普通はこの組み合わせで問題ないのですが、会社の環境(ノートPCにディスプレイをつけてマルチディスプレイ状態。OSはWindows7でHyper-Vマネージャーをインストール)でこのショートカットキーを使用すると・・・
画面が回転するぅ~~~~~(@_@;)
PS2キーボード+PS2マウス→USB変換コネクタを使用しているのでそのせいかもしれませんが、ノートPCのキーボードでもなったような・・・。
ちなみに、対策はShiftキーをまぜて「Alt+Ctrl+Shift+←」とすると問題なく使えます。

SCVMM2008R2からVMWareの管理

TechNetにいろいろありました。
「VMM での VMware Infrastructure 3 環境の管理」
どうも、ESX Server上のゲストOSをHyper-Vに移行する(ゲストOSの動作環境をHyper-Vに移行する)パターンと、VMWare Infrastructure 3(VI3)環境の管理用にVMWare VirtualCenter ServerをVMMに追加するパターン(ゲストOSの動作環境はVMWareのままで、管理だけをSCVMMで行う)があるようです。
VMWare用にリアルマシン用意したいけど、ガマンガマン(-_-;)

SCVMM2008R2のインストール

先日MCP試験070-403(System Center Virtual Machine Manager、構成)を受験したものの、もう少しのところで不合格でした。
ちょいとやる気がでたのと、セカンドショット対応のチケットだったので、もう一回受験しようかと。
実際に使ってみないとよくわからないので、実際に使ってみようとHyper-V環境内で
 ・Active Directoryサーバ
 ・VMMサーバ兼VMMライブラリサーバ
 ・VMM セルフサービスポータルサイト用サーバ
 ・VMM管理コンソール用クライアント
を一気に作成。
管理対象Hyper-VはAD/SCVMMを作りこんだホストOSに、VirtualServer2005R2もゲストOS内に構築という無茶苦茶な環境。
恥ずかしい
さすがにVMWare ESX Serverを作りこむマシンまでは持ってないのでそこは机上ということで。
全体的にインストールはすんなりできるんですが、何点か引っかかったのでメモ。
○各種VMM関連サーバ
 インストーラがサーバ間で通信するためのポートについてファイアウォール設定を自動変更してくれますが、サーバの再起動かファイアウォールの無効→有効(or 再起動)をしたほうがよいかもです。
 →セルフサービスポータルにアクセスできないことがありました。
○セルフサービスポータルサイト
 ・IIS7の場合、以下のコンポーネントの追加が必要
  ・[Webサーバ]-[アプリケーション開発]-[ASP.NET]
  ・[管理ツール]-[IIS6管理互換]-[IIS6 メタベース互換]

  ・[管理ツール]-[IIS6管理互換]-[IIS6 WMI互換]
 ・セルフサービスポータルサイトの通信ポートとしてポート80を使う場合、インストール前にDefault Web Siteを削除しておく必要がある。
  インストール時にポート競合のエラーとなって、インストールできません。
○管理コンソール
 セルフサービスポータルサイトがあるので不要かと思ってましたが、最低限1台は必須でした。(理由はこの後)
○セルフサービスポータルサイトへのアクセス権について
 セルフサービスポータルサイトにアクセスするためには、ユーザロールとして「ポータルアクセス」を追加しないとログインできません。
 →この作業を行うために、管理コンソールが必須になります。
これから、権限の設定とかSystem Manager Operation Manager(OpsMgr)2007とかWindowsシステム・リソース・マネージャ(WSRM)とかPerformance and Resource Optimization(PRO)とかの設定の確認です。
関連アプリがありすぎて、ややこしいです。(;一_一)

WMI Explorer

WMIのクラスを簡単に検索できるツールです。
ちなみに、どんな名前空間があるかを簡単に調べる方法は・・・
 1.サーバーマネージャー(Windows Server 2003では「コンピュータの管理」)を起動
 2.「WMIコントロール」を右クリックし、「プロパティ」を選択
 3.「WMIコントロールのプロパティ」画面の「セキュリティ」タブを選択
画面内の「名前空間ナビゲーション」でツリー構造として見ることができます。

VirtualServer2005とHyper-VをWMIで・・・

仮想マシンの起動とかをリモートからWMIで行おうとしましたが、VirtualServerはちょっと難しいですね。
Hyper-Vなら、「\\[RemoteHostName]\root\virtualization」 名前空間内のクラス「Msvm_ComputerSystem」を使えばOKですが、
VirtualServerだと、
 ・名前空間が「\\[RemoteHostName]\root\vm\virtualserver」であり、Hyper-Vと異なる
 ・その中に「VirtualMachine」というクラスが存在するが、仮想マシンがOFFだと列挙対象外になる。
  (実行中の仮想マシンしか列挙対象にならない)
という感じです。
VBScriptで
  Set objVS = CreateObject("VirtualServer.Application")
  Set colVMs = objVS.VirtualMachines
  For Each objVM in colVMS
   [何か処理]
  Next
とすれば状態がOFFな仮想マシンも列挙対象にはなるのですが、これだとリモートでは制御できないので(T_T)

Windows7のVirtualPC更新

3/17にKB977206が公開され、ハードウェア仮想化支援機能(hardware-assisted virtualization:HAV)が搭載されていないPCでもWindows7でVirtualPCが使えるようになりました。
条件としては
 1.Windows7 Enterprise/Professional/Ultimateのみ対象
 2.サポート対象となるゲストOSがWindows XP Service Pack 3のみ
となっています。
気になるのは2.。"XP MODE"と記載されていないということは、自分でインストールした場合もOKということですかね。
Vista/Windows7とかが対象外ですが、さすがにHAVがないと動作がキツいんでしょうね。
既知の問題としてホストOS(Windows7)とゲストOS(Windows XP)の間でファイルのコピペができない様子。
回避策は統合機能でホストOSとの共有ドライブを使用すること。
個人的には、ホストOSにLoopback Adapterを入れてホストOS~ゲストOS間接続専用としているので全く問題なし。
MSとしては、VirtualPCを使うことになろうとも、ホストOSをWindows7に移行したいというところでしょうか。

CreateProcessの第1引数って

「WindowStationとDesktopと」の関連で、CreateProcess()の引数を調べてました。
(dwCreationFlagsとか)
手元に「Advanced Windows 第5版(上)」があったので、そちらも参照してました。
(そういえば、昔(第3版だったかな?)は1巻だけだったのに、最近は上下巻に分かれてるんですね)
その中で、昔から気になっていた「第1引数」の正体が・・・・
「このpszApplicationName(MSDNではlpApplicationNameってなってます)パラメータによって実現される機能は、WindowsのPOSIXサブシステムをサポートするためにCreateProcess関数に追加されたものです」
ってことは、第1引数は気にするなと。
っていうか、
第1引数として『追加』ってどういうこと!!
普通、『追加』って言えばケツにつけるでしょ。