レジストリエディタでUSERDNSDOMAINの値を調べることで所属しているドメインを調べることができる。
また、システムで(作成したプログラム等で)どうしてもドメインに所属しているかどうかを判別したい場合には、この値と比べることでドメインに所属しているかどうかを判別可能。
HKEY_CURRENT_USER\Volatile Environment\USERDNSDOMAIN
Windows 7では、USERDOMAINというレジストリもある。ここには、DOMAINが入っている。
レジストリエディタでUSERDNSDOMAINの値を調べることで所属しているドメインを調べることができる。
また、システムで(作成したプログラム等で)どうしてもドメインに所属しているかどうかを判別したい場合には、この値と比べることでドメインに所属しているかどうかを判別可能。
HKEY_CURRENT_USER\Volatile Environment\USERDNSDOMAIN
Windows 7では、USERDOMAINというレジストリもある。ここには、DOMAINが入っている。
大した内容ではないが、備忘録もかねて書いておく。
昨日、PCを新しくしたところVBの”.sln”ファイルが開かないエラーに遭遇した。先に結論を書いておくと、ツールの些細なバージョンで違いで開く際にエラーになった。Visual Web Developer 2008 Expressにサービスパックが適用されているかどうか、これが原因だった。
元々、作成に使用していたのはVisual Web Developer 2008 Express で新しいPCはOSこそWindows 7に上げたがIDEは同じくVisual Web Develper 2008 Expressだ。新PCでは、インストールに本に付属のDVDを使用して、開発に必要な環境を一括でそろえた。この状態で各種アップデートの後、”.sln”ファイルを開いたところ「このバージョンのファイルはvisual studioでは開けません」というようなエラーが発生した。何度か試してみたが状況は変わらず。仕方がないので、Visual Web Developer 2008 Express をアンインストールして、再度インストールした。今度は、”.vbproj”ファイルが開けないという。Visual Web Developerが起動しても、表示されるのは、XML形式のvbprojファイルだけ。エラーになっている箇所は、表示してくれるものの解決策はわからない。途方にくれて、MSのサイトをみてみるとSP1があるようなので当ててみることにした。SP1のファイル単体は見つからず、ウェブインストーラーしか見つからない。ウェブインストーラーを使って上書きインストール。もう一度、slnファイルから試してみると正常に開いた。
同じツールであっても、SP(サービスパック)が適用されているかどうかで、ファイル形式が違うようだ。slnファイルのアイコンには、起動するバージョンの数字が書いてあったが、SPの有無までは解らない。(もしかしたら、どこかに簡単に見分ける方法があるのかもしれないけれど。)(2008形式なら数字は9、2010形式なら数字は10というように見分けがつく。)Visual Studioのファイルは、上位の(新しく発表された)Visual Studioで開くと、slnファイルが更新されてしまい、下位バージョンで開けなくなるのは知っていた。まさか、SPの有無でさえ開けない事態になるとは思っても見なかった。もうちょっと、互換性を作ってくれるといいのけど、MSだし無理だよな。
PCにキャッシュされているDNSのキャッシュをクリアする方法。PCの名前解決が不安定な時にやると良い。
キャッシュをクリアするには、Windowsのコマンドプロンプトを起動して次のコマンドを入力する。
ipconfig /flushdns
これで、PC上のDNSキャッシュをクリアできる。また、PC上のキャッシュを確認したい場合は以下のコマンドを入力する。
ipconfig /displaydns
WindowsのPowershellを使っていると、間違えてlsとかpwdとか叩いてしまう。これらは、最初からPowershellの内部で対応するコマンドにエイリアスが切られているので 問題なく実行できる。
でも、どうせならCUIから簡単にxyzzyを起動したい。ついでに間違えてemacsと入力したときにxyzzyを起動させたい。プログラムにパスが通っていれば、エイリアスで指定しなくても起動するがめんどくさいのでAliasに登録する。
■エイリアスの登録方法
Set-Alias エイリアス コマンド
xyzzyをエイリアスに登録する場合は以下。(xyzzyは、Cドライブ直下のbinに保存)ついでに、emacsでxyzzyが起動させるようにする。
Set-Alias xyzzy 'C:\bin\xyzzy\xyzzy.exe' Set-Alias emacs xyzzy
これで、xyzzy ファイル名 とか叩けば、そのファイルがxyzzyで開くようになる。簡単に起動できるので便利。
だが、ここまでだとPowershellを終了させると消えてしまう。AliasをExportしてImportするか、起動時にプロファイルを読み込ませる方法がある。ちょっと調べてみたが、プロファイルを読み込ませるのはめんどくさそう。
■現在のエイリアスの確認方法
Aliasと入力する。
■エイリアスの削除方法
エイリアスの削除もコマンドから行うが、Remove-Itemという汎用的なコマンドから行う。(Remove-Itemはファイルやフォルダ、オブジェクトの削除に使うコマンド)
Remove-Item Alias:エイリアス
先に追加したemacsのエイリアスを削除するコマンド
Remove-Item Alias:emacs
この要領で便利なエイリアスを作ったり削除できる。
参考:AD2000からAD2008にアップグレードする手順
adprepの実行でハマったこと
以下のエラーだけ吐き出され、ハマり半日ハマり続けた。
---抜粋--- [状態/結果] Adprep には、この操作を完了するために、スキーマ マスターから既存のフォレスト全体の情報へのアクセスが必要です。 ---抜粋---
他のエラーログも見たが、役にたちそうなものはなく、手探りで行っていくしかなかった。半日で解決できて良かったとも言える。adprepの実行でエラーが発生した場合は、以下のことを試すとよいだろう。(これは自分の失敗をまとめたもの)
必ず、2008R2のインストールDVDをマウントして、adprep32.exeを実行すること。
コマンドの実行は、コンソールから行うこと。
幽霊のドメインコントローラは、しっかりと削除する
マイクロソフトの移行ガイドを信用しない
adprep32.exeの実行中に、Enterキーなどのキーをたたかない。
Windows ServerのDNS機能は、なぜか資料が少ない。ネットを検索しても、ほしい情報はなかなか見つからない。油断すると、また最初から探してしまいそうなので見つけたURLをメモする。
windows serverのDNSサーバ機能は、基本的にGUIで操作なので弄っているだけで設定できてしまったりもする。既に構築されているものだったら、比較的簡単に操作できるのけど、ちょっと凝ったことや別のサーバからDNSサーバを切り替えたりしようと考えると資料が少ない。今回調べているのは、そこら編の凝ったこと。調べていって、ある程度成果が出たら公開するつもりだ。(可能なら・・・だけど。)
解説しているページへのリンク。
Hyper-V環境でのMicrosoft Windows Serverライセンスの仕組みとは?
http://techtarget.itmedia.co.jp/tt/news/1009/09/news02.html
もっとシンプルなんだけど、解説か日本語訳かのどちらかが悪い。
マイクロソフト用語が多すぎるので、混乱する・・・。
簡単どころか、余計に混乱するような感じ。
簡単に行ってしまえば、Windows Server 2008 R2を買ったとして、
ベースとなるWindows Server 2008 R2をインストールする。
これで、実は1ライセンス消費。
でも、このWindowsの上に、Hyper-Vをインストールして、
ゲストOSとして同じくWindows Server 2008 R2をインストールする。
この場合、Windows ライセンスはゲストOSが消費し、
ベースのWindows Server 2008 R2からはライセンスが消えるのだが、
ホストになっている場合はライセンスを消費しないという仕組みなので
ライセンス違反にはならない。
だが・・・
ゲストOSを別のHyper-Vに移動させると
ホスト側のOSにもライセンスが必要になってしまう。
なんとも分かりにくい。
元の解説は、いまいちイケテナイね。
面白い資料を発見。Power Shellを使うと、Active Directoryの管理が楽になりそうだ。コマンドから、いろいろな情報を引き出せるので、簡単なスクリプトを組むだけで、処理を簡単にできそうだ。
問題は、このモジュールの対応OSが2008R2というあたりか。
現在、Hyper-Vを勉強中。
VMware ESX系は、結構前から試して実際に使っているが、Hyper-Vは使ったことが無かった。今度、本格的に構築・運用を行う可能性が高いので勉強中。VMware ESXと基本的な設計思想がかなり違う。今調べているかぎりだと、どっちがいいということはない。ぜんぜん別物なので、上に構築する仮想マシンとOSの性質によって、下のプラットフォームを選ぶのが良い。
Hyper-Vは、あまり安定性がないみたいだが、安いのが特徴だ。やたらと高いVMwareに比べて、ここはかなりおいしいところ。Hyper-Vで見えてこないのは、管理性だ。実際にインストールして使い勝手と安定性や癖を確認するしかない。問題は、どのエディションをインストールするか。ハイパーバイザーだけのHyper-Vサーバが一番、コストがかからないように思えるが、管理用Vista以上のWindows が必要。Vistaは持っていないので、却下。次はWindows Server 2008 のServer Core上に構築するパターン。この組み合わせが一番安定しているようだが、これも単体で管理ができないようなので却下。(一番、試したいパターンなんだけど。)最後は、一番インストールや検証が楽なWindows Server 2008 上のHyper-Vだ。とりあえず、これで試す。Hyper-Vはバイザー型の仮想化環境のはずなんだが、このパターンだとホストOSの上で動いている感じしかしないため、Virtual Serverと何が違うのだろうか考えてしまう。実際、VMからの命令もホストになっているWindows経由になる。これは、マイクロカーネル型ハイパーバイザーというタイプで、ハイパーバイザーの層から物理ハードウェアとの命令に必要なドライバを排除しているため。インストールした時の感覚としては、ハイパーバイザーに見えないがちゃんとしたハイパーバイザーである。
とりあえず、明日、Windows Server 2008をインストールして試してみる。
SearchFilterHost.exeというプロセスがバックで走って、CPUリソースを100%使い切って動作が鈍い。
このプロセスを調べてみると、Windowsデスクトップサーチで使用しているプロセスのようだ。こいつは、各ファイルを調べるという役割をもっているので、当然、CPUだけでなくディクスのI/Oも使っている。遅いPCにとっては、これだけでも致命的だ。
PCを特に使用していないときであれば、CPUでもI/Oでもある程度、食いつぶしてくれて構わないのだが、大体は使い始めた時にCPUを食いつぶして動かない。まったく厄介なプロセスだ。
実際には、このSearchFilterHostだけでなく、INDEXの作成を行うためのSearchIndexerもリソースを使う。Windowsデスクトップサーチは、なぜか知らないがPCの使用感をさらに遅くしてくれる機能が満載。動いてほしいときに、動かない。これじゃ何のための道具だかわからない。
普通にサーチサービスを停止してもいいのだが、いちいち起動するのがめんどくさいので、コントロールパネルからサービスを開いて、Windows Searchというサービスの自動起動を手動に変更した。ついでに、サービスも停止した。
その結果、Outlook2007についている検索機能がつかえなくなった。検索をすると、エラーになってしまい、結果がでない。Outlook2007などの検索機能は、デスクトップサーチを使っているのでサービスを起動しておかないといけない。
結論としては、サービスも止められないので遅くても、重くても、PCを使えということか。