2012年12月8日土曜日

『たっぷり遊ぼう!ソーサリアン』 のプレゼントが来てた

無料配信のお知らせ他、長年の感謝の意を込めて期間限定キャンペーン開催に告知された通り、現在、ソーサリアン for iOSは無料でダウンロードできる。すでに購入しているユーザーには2,800円分のアイテムがプレゼントされる。

さっきApp Storeを覗いたら、ソーサリアン for iOSのアップデート(1.0.5)通知が来てた。アップデートし、数か月振りに起動してみたら…。
「ストック」の中にプレゼントが届いておりましたよ。
Figure.1 「ストック」の中

2012年9月12日水曜日

logstash 1.1.1で複数のサーバからApacheログを収集する

前回の続き。
前回は同一サーバ上のApacheログを直接読み込んでlogstashに貯め込む構成を作ったので、今回は次のステップとして、複数サーバのApacheログをlogstashで収集する構成を作ってみる。
…といっても、まずはひとつのサーバ上で試してみることとする。

公式ページのCentralized Setup with Event Parsingを参考にする。

動作させるコンポーネントとデータの流れは、こんな感じ。
Figure.1 logstashのアーキテクチャ

2012年9月11日火曜日

logstash1.1.1でApacheのログを集めてみる

先日のfluentd+MongoDBに続き、OSSのログ収集&検索ソリューション、logstashを試してみた。
前提と仕様
今回はひとまず、同一サーバ上のApacheのログを収集し検索することを目標とする。
環境はCentOS 5.5。

2012年9月7日金曜日

PMシンポジウム2012参戦レポ(1日目)

9月6日、PMシンポジウム2012(1日目)に行ってまいりました。
参加したセッションについてPostしておきます。
内容を詳細に書くのはとりあえず控えておいて、要点と感想を簡単に。
Posted in 

fluentd+MongoDBで集めたApacheログの検索システムをRailsで試作

Apacheのアクセスログをfluentdで集めてきてMongoDBに突っ込んで、Webで検索するシステムの試作品を作ったので、作業ログを残す。
WebにはRuby on Railsを使うことにした。
Ruby on Railsのインストール手順は、本Postでは省略。
前提と仕様
今回はテスト用のため、fluentdで集めるのは同一サーバ上のApacheのアクセスログのみ。
環境はCentOS 5.5。
とりあえず、検索条件としてクライアントIPアドレスと期間を指定できるようにしてみる。検索条件の入力省略も許容する。
クライアントIPアドレスには正規表現を使えるようにする。

2012年7月13日金曜日

ownCloud 4.0.4+MySQLで日本語ファイル名を扱うとクライアントアプリが落ちる現象を解決

現象のあらまし
タイトル通りなのだが、MySQLを使うようセットアップしたownCloudに対して、Windows版のクライアントアプリを利用して日本語(マルチバイト文字)を含むファイルを保存しようとすると、クライアントアプリがクラッシュしてしまう。
Figure.1 ownCloudアプリがクラッシュ

2012年7月9日月曜日

ownCloudのDBをSQLiteからMySQLに変更

dsp74118の補完庫: 自前でDropBoxもどきを作れるownCloudを入れてみた の続き。
導入した時、「少人数で使うし、DBはSQLiteでいいだろー 」と思っていたのだが、今朝になってやたらとSQLiteのアクセス制御に起因すると思われるエラーを吐きまくるようになった。
少し調べてみたが、どうもownCloud側の作り(SQLite周り)があまりよくないっぽいので、SQLiteをやめてMySQLを使うことにした。

2012年7月6日金曜日

BitLocker/Bitlocker To Goの自動ロック解除についてちょっと研究

BitLockerを常用するなら自動ロック解除は必須
Windows 7やWindows Server 2008には内蔵ドライブを暗号化するBitLockerと、外付ドライブ(HDD/USBメモリ)を暗号化するBitLocker To Goの2つの機能が備わっている(ただし、Windows7ではEnterprise EditionとUltimate Editionのみ)。
BitLockerでは、暗号化したドライブはロック状態になり、ロックを解除しなければ読み書きできない仕様であるが、PCを起動するたびにいちいち手動でロックを解除するのは猛烈に面倒なので、自動的にロックが解除されてシームレスに利用できることが望ましい。
幸いにも(?)、BitLockerには、そのままずばり「自動ロック解除」という名前の機能がある。こいつの挙動について色々調べたのでまとめてみた。
なお、本稿はVistaのBitLockerは対象外である。

2012年7月3日火曜日

2012年6月15日金曜日

ubuntu 11.04のgdm/Xのnolisten tcpを消す

ubuntuのgdmはデフォルトでnolisten tcpが有効なので、このままではxdmcpで接続できない。
で、こいつを無効化するのにどこをいじればよいかというと、
/usr/share/gdm/gdm.schemas
の DisallowTCP を false にする必要がある。
フォーラムにも記事があった。
[SOLVED] disabling nolisten tcp in 11.04 gdm/X - Ubuntu Forums

後は、xdmcpをEnableにして。
$ sudo vi /etc/gdm/custom.conf
[xdmcp]
Enable=true
gdmをリスタートすればよい。
$ sudo service gdm restart

2012年6月14日木曜日

Outlookの階層型アドレス帳が遅かったら、他サイトのADと通信しているのが原因かも。

階層型アドレス帳がクソ重い
本拠地にExchange Server 2007がある環境で、遠隔サイトより「Outlook2007で階層型アドレス帳を使うと、ちょお遅いんですけど」という申告があった。ツリーを展開するだけで数十秒固まるという深刻な状況とのこと。
(ちなみに遠隔サイトにもドメインコントローラは存在する)。

パケットを取ったりして調査した結果、遠隔サイトのOutlook2007にて階層型アドレス帳を操作すると、自サイトのドメインコントローラではなく本拠地のドメインコントローラ(グローバルカタログ=GC)に対して通信を行っていることが判明した。

Figure.1 デフォルト設定では、Outlookは本拠地のGCと通信する

2012年6月13日水曜日

続: Vimperatorプラグイン"bookmarktoolbar-hint.js"を Firefox 12.0で動くように直した

先日の続き。

直したソースをgithubにPushし、マージしていただいた。
その後、コミッタのanekos氏より「ブックマークツールバーの数が2桁以上の時の挙動がおかしい」とコメントをいただいた(私のバグではなく、元からあったバグ)ので、これも直した。

以上、宣伝でした。

2012年5月28日月曜日

WindowsのDNSサーバのAレコードの消失等を監視するPowerShellスクリプト

このエントリは、ほぼ自分用です。
設定ファイルの仕様など、かなり手抜きなので、コピペでの利用はおすすめしません。

WindowsのDNSサーバに静的に登録したAレコードが、なぜか動的レコードに突然変わったり、気がついたら消えているという現象に悩まされた(NETLOGONサービスが悪さをしている模様?)。
原因は追究できていないのだが、とりあえずレコードの状態を監視しようということでPowerShellスクリプトを書いた。

2012年5月10日木曜日

Vimperatorプラグイン"bookmarktoolbar-hint.js"を Firefox 12.0で動くように直した

2012/6/13追記:githubにPushしました。こちら参照。

勝手に載せていいのかどうか分からんけど公開。問題あるようでしたらTwitterかコメントでご連絡ください。
githubのアカウントを持ってないのでhttp://vimpr.github.com/へのコミットは(とりあえず)しないつもりだけど、したほうがいいのかな。

SkyDriveとDropboxとジャンクション

SkyDrive仕様変更キタ!
SkyDriveが先日(2012年4月24日)の仕様変更により、クライアントアプリによる自動同期に対応したので、これを機に、今DropBoxに入れているファイルのバックアップ先として使ってみようと思い立った。
当稿は、その検証(試行錯誤)の記録である。

2012年5月2日水曜日

ファイラーから呼び出すFireFileCopyをElevation Powertoysで昇格する

ファイラーから呼び出すFireFileCopyの昇格をコントロールする
前回の続き。
私の環境では、ファイル操作にFireFileCopyを使っている(あふから呼び出す)。
こいつも状況によって一般権限と昇格した権限を使い分ける必要がある。フォルダリダイレクションの対象になっているフォルダ(system32とかProgram Filesとか)の下にファイルをコピーする場合には、昇格した権限を使う必要があるからである。

そこで私が用意したのが、下記2つのスクリプト。
ffc.vbsは、一般権限でFireFileCopyを起動するためのスクリプト。
ファイルのコピー先(Toオプション)がリダイレクション対象であった場合は警告ダイアログを出すようになっている。
ffcElevate.vbsは、昇格した権限でFireFileCopyを起動するためのスクリプト。FireFileCopyは32bitアプリケーションなので、64bit OSでのSystem32のリダイレクトに対する考慮を入れてある。
(「毎回ffcElevate.vbsを使えばいいじゃん!」と思うかもしれないが、ファイルコピーのたびにUACのダイアログが出たらたまらん。)

Elevation Powertoysで64bit Windows/UAC環境下のファイラーやランチャーを強化

2012.07.02 64bit版Console2に関する記述を修正しました。
2012.05.07 誤記など少し修正しました。
ファイラー派にとってUACは邪魔者!
私はランチャーにCraftLaunch(旧版2.x)を、ファイラーにあふwを使っている。
Vista以降のWindowsにはUAC(User Access Control)というウザいセキュリティを強化する機能が搭載され、デフォルトで有効になっているわけだが、こいつとファイラーやランチャーとの相性があまりよくない。
通常、アプリケーションを昇格した権限で起動するには、アイコンを右クリックして「管理者として実行」を選択しなければならないが、この操作をコマンドラインから実行する方法が用意されていないためである。
("runas"で権限昇格できると勘違いしている人がたまにいるけど、できませんよ。)
Figure.1 ファイラで右クリックし「管理者として実行」を選ぶのはダサい
ファイラーやランチャー自体を昇格した権限で起動してしまえば、そこから呼び出すアプリはすべて昇格権限で起動するのでラクチンだが、セキュリティ的には最低である。
また、タスクスケジューラを使う技(アプリをタスクとして登録し、"最上位の特権で実行する"を有効にし、schtasks /runで実行する)もあるが、あまりスマートな方法とは言い難い。

2012年4月16日月曜日

PC上の全ユーザのOutlookプロファイルを削除するスクリプト

必要だったので作った。
VBScriptで、かなり手抜きだけど、今後のために残しておく。
ロジックは、HKEY_USERS(HKU)の下に各ユーザのハイブをロードし、 \Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles の下をごっそり削除するという単純なもの。
加えて、ログオン中のユーザのレジストリ(既にHKUにロードされているハイブ)の同エントリも削除する。

関数DeleteRegEntryはMSのKBから拝借。

2012年3月25日日曜日

Active Directory レプリケーションが片方向だけエラーになる場合の対応手順

レプリケーションエラーの対応メモ(主に自分用)。
はじめに。
ADはマルチマスタなので、各ドメインコントローラが互いに双方向にデータのレプリケーションを行う。
いま面倒を見ているシステムにて、「片方向は問題なくレプリケーションできるが、反対方向のレプリケーションがある日突然エラーになる」という現象が起きている。これまで何度もこの障害に見舞われており、正直見飽きたぐらい。

2012年3月19日月曜日

FastEver Snapって、盗撮に使えるんじゃね?

※買ってないアプリについて勝手な想像で記事にしたので、間違い等がありましたらご指摘ください。

街中での盗撮が捕まるのって、ほぼ100%現行犯だと思うんだけど、証拠もなしに逮捕はできないだろうから、取り押さえたらまずカメラ(=携帯端末)に保存されている写真を確認するんではないかと。でも、FastEver Snapは、取った写真を端末に保存することなく、即時EverNoteに送信してしまうので、端末のデータフォルダをどんなに探しても盗撮写真は出てこない。容疑者は「ほらみろ、盗撮なんかしてないでしょ」とドヤ顔、それどころか名誉毀損で逆に相手を訴えることすらできそうだ。

一部のカメラアプリに「盗撮防止機能」って付いてるけど、これってどの程度信用できるのやら? なおFastEver Snapには盗撮防止機能は無さそう。

2012年3月18日日曜日

Exchange 2007のグローバル アドレス一覧とオフラインアドレス帳について(2)

前回の続き。

オフラインアドレス帳とは
Exchange 2007にはオフライン アドレス帳というものがある。
これは、Outlookの「Exchange キャッシュ モード」がOnの場合に使われるもので、グローバル アドレス一覧のローカルキャッシュである。毎回Exchange Server上のアドレス帳を見に行かなくても済むので、サーバの負荷軽減や、アドレス帳の表示レスポンス改善に効果がある。
ローカルキャッシュといいつつも、データはExchange Server上で生成され、拡張子oabのファイルとしてクライアントにダウンロードされる仕組みになっている。
Outlookクライアントでアドレス帳画面より「グローバル アドレス一覧」を選択すると、oabファイルがダウンロードされるまではExchange Server上のグローバル アドレス一覧を見に行き、oabファイルのダウンロードが完了すると以後はそちらを見に行く。
当たり前の話だけど、Exchange キャッシュ モードがOffの場合には常にExchange Server上のグローバル アドレス一覧が参照される。
Figure.1 グローバル アドレス一覧(参考画像)

Exchange 2007のグローバル アドレス一覧とオフラインアドレス帳について(1)

グローバル アドレス一覧とは何か
グローバル アドレス一覧は、Exchange組織内の全Exchange Serverからメールアドレスを集めて来たリストである。
Exchange Serverを立てると、'既定のグローバル アドレス一覧'というのが自動的に作られる。こいつには組織内の全メールアドレスが入っている。そのため、一般的には'グローバル アドレス一覧'と言えば、全ユーザのアドレスを参照できるアドレス帳として利用されるケースが多い。
グローバル アドレス一覧は複数作成できる
しかし実は、ひとつのExchange組織内には'既定のグローバル アドレス一覧'以外にも複数のグローバル アドレス一覧を作成することができる。
グローバル アドレス一覧の作成には、Exchange管理シェルのNew-GlobalAddressListコマンドを使う。こいつの-RecipientFilterパラメータを使うと、作成するグローバル アドレス一覧に含むメンバを絞ることができる。
例えば部署単位でグローバルアドレス一覧を作ることにより、他部署のユーザのアドレスをOutlookのアドレス帳に表示させない、といったことが可能だ。
RecipientFilterの書式の詳細はここでは割愛するが、例えば"(<プロパティ名> -eq '<文字列>')"などと書く。フィルタに使えるプロパティの一覧はExchange 2007 SP1 および SP2 の -RecipientFilter パラメータでフィルタ可能なプロパティに載っている。部署名で絞る場合は例えば下記のようになる。
New-GlobalAddressList -Name '情シス' `
 -RecipientFilter "(Department -eq '情報システム部')"

2012年3月12日月曜日

SORCERIAN for iOS について。


2012/3/12 不老不死の記述について多くの方からご指摘をいただきましたので、記事を修正しました。皆様、ありがとうございました!
2012/12/8 Ver.1.0.3での修正点を記事末尾に追記しました。

配信日当日にダウンロードし、のんびり遊んでいた。
ひとまず、4人の不老不死キャラを作り、初期バンドルのシナリオ5本をクリアしたので、レビューというか感想を述べておこうと思う。
ブログに感想を書こう書こうと思いつつなかなか時間が取れなかったのだが、先日のVer1.02が糞アップデートだったので、居ても立っても居られず筆を取った次第。ちなみに私は3月11日現在、1.02へのアップデートはしていない。

2012年2月28日火曜日

SyntaxHighlighterェ…

Exchange管理シェルのコードのハイライトはイマイチ、というか未対応だね。仕方ないか。

PowerShellでExchange Serverのユーザメールボックスのサイズを調べる

Exchange Serverのメールボックスのサイズを調べるには、Exchange管理シェルのGet-MailboxStatistics の TotalItemSize プロパティを使う。
こいつを使う機会があったのだが、なんか動きがおかしかったのでその記録と、備忘のためのメモとしてこのエントリをポストしておく。

まずは基本編
特定のユーザのメールボックスサイズを調べるとしよう。
Get-MailboxStatisticsには引数-Identityがあるので、これにユーザのDNを与えれば結果が得られそうだが、私の手元の環境ではなんだかよくわからないがエラーになってしまった。
Exchangeの環境をいくつも持ってるわけではないので、この環境固有の問題なのか、引数の与え方が悪いのか、世間的に常識なのかは分からなかった。
引数-Serverを指定するとどうにかうまく動いたので、サーバ上の全ユーザの情報を取り出してから、where-objectで任意のユーザの情報を抽出することとした。
Get-MailboxStatistics | Get-Member をするとMailBoxGuidってのがいたので、Get-Mailboxで目的のユーザのメールボックスのGUIDを調べて突き合わせれば目的は達成できそう。
$allstats = Get-MailboxStatistics -Server <servername>
$name = Get-Mailbox -Filter { <filterstring> }
$allstats | `
 Where-Object { $_.MailBoxGuid -eq $name.ExchangeGuid } | `
 fl TotalItemSize
という感じ。
応用編
filterstringで複数のユーザを引っ掛けた場合は、foreachでぐるぐるまわしてあげたらいい。
$allstats = Get-MailboxStatistics -Server <servername>
$names = Get-Mailbox -Filter { <filterstring> }
foreach($name in $names) {
 $name.SamAccountName
 $allstats | `
 Where-Object { $_.MailBoxGuid -eq $name.ExchangeGuid } |`
  fl TotalItemSize
}
Get-Mailboxのフィルタ条件は腐っていてイマイチ使い物にならないので、実際の利用シーンでは、さらにGet-ADUserなどと組み合わせる必要があると思われる。
ちなみに今回はcustomAttributeN(Nは1~15)でのユーザ抽出が目的だったので、上のコードで事足りてしまった。

Hyper-Vマネージャで「既に他の仮想ネットワークにバインドされているため、'(NIC名)' にバインドできません」

事の発端
某所のHyper-Vホストマシンで、NICをデバイスマネージャから削除するというヒューマンエラーが発生した。
なぜこのようなオペミスが起きたのかはさておき(俺じゃないよ!)、復旧の時少しハマったのでメモ。

デバイスマネージャでNICを再検出させ、ドライバを入れて復旧。
次に、Hyper-Vの仮想ネットワークの設定が消えているので再投入を行った。
ところが、仮想ネットワーク マネージャで仮想ネットワークを作成する際に、接続の種類を「外部」にし、当該NICを指定して「OK」をクリックすると、"既に他の仮想ネットワークにバインドされているため、'(NIC名)' にバインドできません"というエラーが発生。設定消えてるのに、そんなわけないだろ?

解決策
新しい仮想ネットワークの変更を適用中にエラーが発生しました の巻 - デザイン事務所のプログラマーが書くブログ こちらを参考にさせていただいた。
ローカル エリア接続のプロパティで一度「Microsoft 仮想ネットワーク スイッチ プロトコル」を外し、再度Hyper-Vマネージャで仮想ネットワークの設定をすると解消。
なお、その後ローカル エリア接続のプロパティを見ると、「Microsoft 仮想ネットワーク スイッチ プロトコル」にチェックが自動的についている。
解決したからよいが、一体なんなんだこれ。

「ローカル エリア接続のプロパティ」のチェックボックスをCLIで変更できない

みんなおなじみ、Windowsの「ローカル エリア接続のプロパティ」。

このダイアログには
  • Microsoft ネットワーク用ファイルとプリンター共有
  • インターネット プロトコル バージョン 6 (TCP/IPv6)
  • インターネット プロトコル バージョン 4 (TCP/IPv4)
などの項目がありチェックをつけたり外したりできるが、なんと、コマンドプロンプトやバッチ、PowershellなどのCLIでこの設定を個別に変更する方法は用意されていない。

マシン全体でIPv6の有効化/無効化、IPv4の有効化/無効化はできるが、個別のNIC単位で設定するには、GUIを使うしかないのだ。

じゃあ、Server Coreだったらどうすんのか?

なんと、がんばってレジストリをいじくり回す以外に設定変更手段がない。
ソースは How to Disable IPv6 in Windows 2008 Full and Core editions - ENIAC KB←この辺。
Microsoft、正気か。

※もしServer Coreでの容易な設定変更方法をご存知の方がいらっしゃったら是非ご教授願いたい。

2012年1月29日日曜日

回線が細すぎてADレプリケーションに失敗する場合の対処法

先日、遠隔地の拠点に新たにADサーバを立てた時に、回線が細すぎてADレプリケーションに失敗するという、「こんなの初めて!」な現象に出くわした。(結構レアだと思う)

発生したエラー
遠隔地のサーバでDCPROMOを実行し、無事終了したので、SYSVOLおよびntds.ditのレプリケーションが完了するまで見守ることにしたのだが、どうもntds.ditのレプリケーションが途中で止まってしまったようで、あるファイルサイズから一向に増えなくなってしまった。

状況を確認するためrepadmin /showrepl を叩くと、下記のようなエラーが表示された。
C:\>repadmin /showrepl
(snip)
==== 入力方向の近隣サーバー======================================
DC=****,DC=****,DC=**,DC=**
    *****\******** (RPC 経由)
        DSA オブジェクト GUID: ********-****-****-****-************
        2012-01-21 19:16:08 の最後の試行は、失敗しました。結果は 1818(0x71a):
            リモート プロシージャ コールが取り消されました。
        7 回連続で失敗しました。
        最後に成功したのは (never) です。
(snip)

「結果は 1818(0x71a)」とはこれいかに。

対処法:RPCタイムアウト値を変更
どうもWindows Server 2003以降は、ADのレプリケーション処理におけるRPCのタイムアウト値は5分になっているらしい。で、5分以内にレプリケーション元サーバからRPC応答が完了しないと、タイムアウトしてしまう。2000の頃は45分だったそうなので、ずいぶん短くされてしまったものだが、裏を返せば2000年から2003年にかけて世の中の通信事情がずいぶん良くなって、マイクロソフトとしては「5分でイケる」と判断したのであろう。
マイクロソフトの判断の是非はさておき、RPCのタイムアウト値を長くすることでこの問題は解決する。
レジストリエディタで
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
にDWORD値 "RPC Replication Timeout (mins)" を追加し、
値を45に設定し、再起動すればOK。
see also:Active Directory Replication Tools and Settings

2012年1月13日金曜日

Subversionでエロいファイルを隠蔽する

少し前にtwitterで「エロいファイルをバージョン管理システムで管理する(他人の目から隠す)」的なツイートを見かけたので、Subversionで実践してみた。
とにかく手軽に実践するため、1台のPCにSubversionサーバとクライアントの両方を導入する。検証に使った環境はWindows7 Ultimate x64。

2012年1月11日水曜日

2012年1月10日火曜日

Windows Vista,7,2008でログオンスクリプトによるネットワークドライブ接続に失敗する

ネットワークドライブが見えない!
Active Directory環境において、グループポリシーのログオンスクリプトを利用して自動的にネットワークドライブに接続させようとしても、うまくいかないことがある。
私が最近遭遇したのは、ログオンスクリプトをVBSで書いていてWScript.NetworkオブジェクトのMapNetworkDriveメソッドでネットワークドライブを割り当てたのに、マイコンピュータに表示されないしnet useコマンドでも表示されないというもの。MapNetworkDriveメソッドの結果をログファイルに出力してみると、結果(Err.Number)は0。つまり「スクリプト的には処理に成功している」のだが、「実際にはネットワークドライブが使えない」という状況であった。

2012年1月6日金曜日

Win2k8R2: WMIを使ってNICのアダプタ名から接続名を調べたりIPアドレスを変更したり。

Windowsの接続名("ローカル エリア接続"とか)はいい加減!
サーバにはNIC(Network Interface Card)が複数付いているのが当たり前である。
WindowsのNICには、通常 "ローカル エリア接続"、"ローカル エリア接続 2"…という具合に自動的に連番の接続名(NetConnectionID)が付けられるが、この名前付けはどうもランダムに行われているようで、まったく同じ構成のサーバでも、違う名前が付いたりすることがよくある。
一方、NICのデバイス名(デバイス マネージャーやコントロールパネルで見えるやつ)はブレることがまずない。
例えば最近のHPのサーバで、NICがNC382iの場合、デバイス名は1番ポートから順に
  • HP NC382i DP Multifunction Gigabit Server Adapter
  • HP NC382i DP Multifunction Gigabit Server Adapter #2
  • HP NC382i DP Multifunction Gigabit Server Adapter #3
という具合に名前が付いており、同一構成のサーバを同じようにキッティングすれば、同じ名前が付く(上はあくまで例で、必ず#2,#3…となるわけではない。悪しからず)。
どのNICがどの接続名になっているのかを知るにはコントロールパネルを見ればいい。デバイス名と接続名が両方表示される。

Figure.1 コンパネで接続名とデバイス名を見る
※上の実行例は、私の自宅リビングのWindows7 PCでの結果。Windows Server 2008での実行結果でなくて申し訳ない。

しかし、同じ構成のサーバを何十台、何百台と構築する場合、いちいち目視で確認などしていられない。
(実際には本番環境のサーバはチーミングを組む事が多いが、ここでは横においておく)。