Windows : してログ

Windows にインストールした PHP をコマンドプロンプトから利用すると、php.ini の設定内容が反映されないのが気になっていました。 それほど使用頻度が高くないので、ini_set 関数などで対応していたのですが、さすがに不便なので調べてみました。 どうやら、見ている設定ファイルの場所が違うためのようです。

この設定ファイルに騙されるな
C:\Program Files (x86)\PHP\php.ini
本当の設定ファイルの場所
C:\Users\UserName\AppData\Local\VirtualStore\Program Files (x86)\PHP\php.ini

リモートデスクトップ上のマシンに Ctrl + Alt + Del を送りたいときは、Ctrl + Alt + End で送ることができます。 リモートデスクトップ上のマシンで、更にリモートデスクトップしているマシンに送りたいときは、Shift を加えて Ctrl + Alt + Shift + End で送ることができます。 これで、シャットダウン等が GUI から行えます。

Windows 8.1 をゲスト OS としてインストールしたところ、最初は USB が使えませんでした。 仮想マシンに、USB コントローラがインストールされていないのが原因です。 また、USB xHCI コントローラが入っている場合も、USB EHCI+UHCI コントローラに入れ替える必要があります。

  1. 仮想マシンをシャットダウンします
  2. 仮想マシンの設定を開き[ハードウェア>追加>USBコントローラ>EHCI+UHCI]を追加します
  3. 仮想マシンを起動します
参考

そのままでは「リモートコンピュータには、お使いのコンピュータでサポートされていないネットワークレベルの認証が必要です。サポートが必要な場合は、システム管理者かテクニカルサポートに問い合わせてください。」と表示され、接続できません。 この場合、WindowsXP SP3 であれば、下記のレジストリを変更することで接続できるようになります。

  1. レジストリエディタを開く(ファイル名を指定して実行>regedit)
  2. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]にある[Security Packages]の最後に行を追加し[tspkg]を入力する
  3. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders]にある[SecurityProviders]の末尾に[, credssp.dll](カンマを忘れずに)を入力する
  4. OS を再起動する

別な方法としては、Windows8.1 の認証レベルを変更することでも可能です。 この場合、Windows 8.1 の[システムのプロパティ>リモートネットワーク レベル認証>リモート デスクトップを実行しているコンピューターからのみ接続を許可する (推奨) ]のチェックを外します。

WIndows7 ですが、最近メモリが足りなくなることが頻発するようになっていました。 最近のブラウザはメモリを贅沢に使うようになっているし、作業上3種類を同時起動していましたから、仕方ないのかなと。 でも、さすがに我慢できなくなってきて、増設しようかと調査していたら、すでにマザーボードの最大容量4GBを積んでいて、これでメモリ足りないなんて訳ないだろうと疑い始めます。 システムのほうをチェックしていて、ようやく気づきました。 システムのプロパティでは4GBと表示されているのに、タスクマネージャでは2.8GBになっています。 しばらく見比べていて、システムのプロパティのある表示に目が止まります。 あれ? カッコ書きで2.75GB使用可能って書いてある。 なるほど、今まで2.75GBしか見えて無かったってことですよね。

インターネットで検索してみると、BIOS が古いと 64bit の Windows7 では 3.2GB 以上のメモリをフルに利用できないことがあるそうです。 原因が分かったので、最新版の BIOS を探すことにしました。 蓋を開けてマザーボードを調べると、Foxconn G31MX とあります。 これを検索すると、G31MX と G31MX-K というのがヒットするのですが、どちらなのかイマイチ分からない。 ここは適当ですが、G31MX-K のページからダウンロードすることにしました。

  • Foxconn G31MX-K サポートページから Tech Support のタブに BIOS(最新版) と FOX LiveUpdate をダウンロード
  • LiveUpdate では最新版の判定になりますが、手動アップデートを行い 773F1P14 を入れます
  • 終了したら当然再起動です(動け!)
  • 新しいハードウェアが検出されたり、Windows 再認証が必要だったりしますが、取り敢えず確認します
  • 無事4GBと認識され、動作もだいぶ軽くなったと思います
  • 不思議なことに、接続していない A ドライブを認識しました(懐かしのフロッピーディスクドライブです)
参考:Microsoft のサポート情報
BIOS アップデート前後の比較

↑ BIOS アップデート前(2.8GB しかない)


↑ BIOS アップデート後(4GB になった)



↑ BIOS アップデート前(灰色のハードウェア予約済という部分が見えていない)


↑ BIOS アップデート後(灰色の部分が無くなった)

Windows 8.1 のライセンス認証をしようとしたところ、電話でのライセンス認証になりました。 VMware ESXi 用に購入した PC にプリインストールされていた、Windows 8.1 を仮想マシン上にインストールしようとしていますので、ハードウェアが全部変わったという扱いになったのだと思います。

  1. ライセンス認証の実行

    「このプロダクトキーは他のPCで使われています」という表示が出て、新しいプロダクトキーの入力、プロダクトキーの購入、サポートに電話(Windows を再インストールしたり、ハードウェアを最近変更した場合は、サポートにお問い合わせください)の選択肢が表示されました。「サポートに電話」を選択します。

  2. 国または地域の選択

    地域の選択が表示されるので、「日本」を選びます。

  3. 電話

    フリーダイヤルと有料電話番号が表示されるので、フリーダイヤルのほうに電話します。

  4. インストールIDの入力

    自動ガイダンスに従って、製品種別(Windows)を選択すると、インストールID の入力を求められますので、画面に表示されている 9 組の数字を入力します。ここで通った場合は、確認ID を自動ガイダンスが案内してくれますので、次の画面で入力します。今回は、ハードウェアの大幅な変更と判断されたためか、オペレータとの対話になりました。

  5. オペレータとの対話

    しばらく待たされた後、オペレータに繋がりました。聞かれたことは、インストールID、製品の種類、他のPCで使っていないか、何回目のライセンス認証か、今回の1台での利用になるか、くらいだったと思います。それぞれ、Windows 8.1、プリインストールされていたものを消して ESXi 上の仮想マシンにインストールしたこと、同じPCでの使用であること、2回目のライセンス認証であること、今回の1台での利用であること、を回答しました。

  6. 確認ID の入力

    オペレータから確認ID が発行されたと告げられ、口頭で聞きながら入力をしました。最後に、「ライセンス認証」ボタンを押して Windows ライセンス認証が完了しました。

この Windows 8.1 は、最初から ESXi 上の仮想マシンで利用するつもりだったので、プリインストール時に認証しなければ良かったのだと思います。 プリインストールの OS を、ゲスト OS として同一マシンの仮想マシン上で実行するのは、ライセンス違反とはならないようです。

7z で解凍しようとして、ファイルが消えてしまうことがありました。 アーカイブ内のファイル名に不正な文字が入っているのが原因でした。 調べてみると、統合アーカイバ・プロジェクトに、「解凍時にファイル名の不正な文字を変換」というのがあり、試してみると無事解凍できました。 不正な文字の部分は、"_”に置き換わるようです。 海外で作成されたアーカイブは、日本の Windows で不正な文字が入っていることがあるので、覚えておくと良いです。

Windows で動く syslog デーモン(サービス)として、Kiwi Syslog Server という製品があります。 最新版の 9.4.1 と Windows Server 2003 の組み合わせで、インストーラが「Unpacking data」の画面が消えた後、勝手に終了してしまう現象に遭遇しました。 まったく原因が掴めませんでしたが、なんとなく .NET 関係かなと思って、.NET Framework 2.0 を入れてみたところ、先に進めるようになりました。 ただ、インストール途中で、.NET Framework 3.5 が無いという警告(その場でダウンロード&インストール可能)になりましたので、実際必要だったのは 3.5 だったのかも知れません。 また、このときのインストールは結局、フリーズして失敗してしまいましたが、再起動後に再施行したところ正常終了に至りました。 これから、試そうという人は .NET Framework 3.5 をまず入れてみてください。

リモートデスクトップを使って複数のサーバー管理する際は、通常の個別のウィンドウでは不便です。 同じウィンドウで切替えられるようなツールを探したところ、いくつか見つけることができました。

今回は、Microsoft 謹製の Remote Desktop Connection Manager を利用してみました。 非常にシンプルな作りとなっており、左に接続先ツリー、右に接続先スクリーンとなっております。 接続先ツリーは、グループを作って階層化できますが、接続先とグループは同じ階層に混在できないようですので、グループ化したい場合は、予めグループを作っておく必要があります。 なお、グループの接続設定は継承できるため、まとめて管理することが可能です。

フルスクリーンとウィンドウの表示を切り替える
接続先スクリーンにフォーカスを移し、Ctrl + Alt + Break で切り替えることができます。
エクスペリエンスの設定
メニューバー>Tools>Options にあります。初期設定では、デスクトップ背景やドラッグ時にウィンドウ内容表示がされる設定になっているので、オフにした方が良いと思います。

XP mode をインストールするときに作成される XPMuser を AD ドメインユーザーに変更し、AD ドメインのリソースや依存したアプリケーションを利用する方法です。

  1. Virtual PC と XP mode をインストールします
  2. XP mode を起動し、AD ドメインに参加させます
  3. XP mode のメニューから、[ツール>設定]を選択します
  4. [ログオン資格情報]を選択し、[保存した資格情報を削除する]ボタンを押します
  5. XP をログオフし、XP mode を[×]ボタンで閉じます
  6. 再び、XP mode を起動します
  7. 認証ダイアログが表示されるので、[別のアカウントを使用]を押します
  8. AD ドメインユーザーを入力し、[資格情報を記憶する]にチェックを入れます
  9. ログオンに成功すれば、次回からドメインユーザーの権限で XP mode を利用できます