会社で機会があったので、MCPの70-432と70-433をとってきました。順番を勘違いしていて、上位試験だけとればMCITPになれると思っていたのですが、ちゃんと下位資格も取らないといけないんですね…。というわけで先に取っていた、70-451と合わせてMCITP データベースデベロッパー2008となりました。
まぁ、試験とったからと言って、完璧かっていうとそんなわけはありません。でも、この試験レベルで要求される言葉とか知識は基本的に知っているだろうということはお互いの常識として期待できるのでいいかなと最近考えを変えています。
もちろん完璧にとれるのが望ましいですが、少なくとも満点が狙える試験範囲が2,3個あって、あとはそこそこあれば大丈夫でしょう。私もなじみが少ないXML系は全然ダメでしたが、たとえば70-432の場合、インストール、可用性、バックアップなどは完璧だったのでなんとか合格できました。
SQL ServerならばSQL Server 2008の自習書はいいですよ。70-432の場合、私あれと赤本だけで受けました。70-451/70-433も自習書を基本にして、足りないところはMSDN Library見ました。でもやっぱり使ってないとなかなか覚えられないですね。
Virtual Server 2005 R2 SP1からHyper-V 2.0への移行作業をちまちまとやっています。netshくらい作ればよかったと思うのですが、ネットワークが使えないので取り込むこともできず…がっくし。
さて、今日の作業でびっくりしたこと。Virtual ServerではSCSIをブートドライブにすることができます(Hyper-VはIDEを起動ドライブにしろと書いてました)。ほとんどの仮想マシンはVirtual ServerでもIDEに起動ディスクをつけていましたが、ひとつだけSCSIにしていて大汗。
おっかなびっくりでIDEに接続しなおして、仮想マシンを移行するとなんとか動くじゃないですか。これはびっくり。でもたぶん容量を137GB以上のディスクにしているとだめなんじゃないかなとも思います。これはIDEとSCSIの規格の違い。この辺に載ってますね。
http://www.tadachi-net.com/pc_info/ide.html
137GBの壁ってのもほんのちょっと前の話だったんですけどねぇ。
今日どはまりしました。NICを複数つけているサーバーがあります。セオリー通りというか、一本を管理用、もう一本をHyper-V専用にしました。管理用には固定でIPを振ります。Hyper-Vには振っていませんでした。でまぁ、Hyper-V専用だからということで、「管理オペレーティングシステムにこのネットワークアダプタの共有を許可する」のチェックをはずしました(下図)。

すると、チャイルドパーティションから外部への通信が一切不可。あわててチェックを戻してももう遅い。NICを認識はするものの、まったく通信ができないまま。
あきらめてHyper-Vを役割から削除して、もう一度追加するとOK。復活しました…。この機能を外すとHyper-Vを再構成することになるようなので気をつけましょう…あ、Hyper-Vのパッチは改めて追加する必要はないようです。
ベータ版なので、システムを壊しても元に戻せる人向けですが、いち早く試したい人向けに公開されました。
http://technet.microsoft.com/ja-jp/evalcenter/ff183870.aspx
現時点で日英仏独西版が使用可能なようです。
私もWindows Server 2008 R2に入れてみました。今のところ問題なし…これも素直な構成なんで当たり前ですが。個人的な興味はRemoteFXですが、これ対応ハード必要なんじゃなかったっけ…?リモートでもWPFのアクセラレーションが効くと嬉しいので、敷居が下がるといいのですけど。
Dynamic Memory(稼働中にメモリ容量を変更する)はゲストの統合コンポーネントを更新する必要があります。こちらで紹介されていますね。ちなみに私はシャットダウンはshutdown –f –s –t 10と打つのが好きです。
http://blogs.technet.com/b/ksasaki/archive/2010/07/14/dynamic-memory-windows-server-2008-r2-sp1-beta.aspx
ところで、この統合コンポーネントでDynamic Memoryが有効になるGuest OSには制限があるんでしょうか?統合コンポーネントが対応していれば大丈夫だと思いたいです…。Windows 2000やWindows Server 2003/XPはまぁ対応していなくてもいいかな。
Windows 7および、Windows Server 2008 R2にはそれまでリソースキットにしかついていなかった、robocopy(堅牢性の高いコピーツール)が標準で付属しています(正確にはVista以降で添付)。
http://technet.microsoft.com/ja-jp/library/cc733145(WS.10).aspx
豊富なオプションがありますが、さすがにこれはちょっとわかりづらいので、GUIからオプションを設定する支援ツール、RichCopyという無償のツールがあります。
http://technet.microsoft.com/ja-jp/magazine/2009.04.utilityspotlight.aspx
今日もWindows 7からWindows Server 2008 R2にコピーしようとしたら…「アクセス権がありません。」というエラーが出るではないですか。コピー先フォルダはフルコントロールを持っています。
ちょっと調べたらWindows 7/Windows Server 2008 R2で/Bをつけると、起きるという問題が報告されていました。Vistaでも別KBで公開されていました。
http://support.microsoft.com/kb/979808/ja
"Robocopy /B" does not copy the security information such as ACL in Windows 7 and in Windows Server 2008 R2
http://support.microsoft.com/kb/973776/ja
The security configuration information, such as the ACL, is not copied if a backup operator uses the Robocopy.exe utility together with the /B option to copy a file on a computer that is running Windows Vista or Windows Server 2008
でも、/Bオプション付けていないんだけど、自動的に指定されているのかなー?私が試したときは/MIRオプションだけです。今パッチ請求ができないようなので、またあとで。
Windows XP SP3と最新のクライアント7.0を使っているのですがたまに反応がものすごく遅くなることがあります。そういうとき、タスクマネージャで見るとたいていmstsc.exe(リモートデスクトップクライアント)がCPUを消費しています。複数接続していれば、それぞれCPUを20~25%程度使っており、結構バカになりません。
一度閉じればいいのですが、それも面倒です。他に似たような現象出ている人いないのかな?と思って調べてみると、二例ありました。
クリップボードが問題だとしている話
リモートオーディオが問題だとしている話
オフィスではリモートオーディオが再生できなくても不便はないので、まずはオーディオの再生から無効にしてみます。クリップボードは…止めてもいいんだけど、ちょっとばかり不便なので止めたくないなー。次回発生したらやむをえません。クリップボード止めます。まぁ、画面のスクリーンショットと、クライアントのブラウザで開いているURLをおくることができないくらいです(悲)。
どうもXPだけなんですかね?はやく会社環境をせめてVista…できればWindows 7にしたいところなんですけど。
先日、「TCP/IPの名前解決ができない。助けてドラえもん!」というヘルプが入りました。そんな馬鹿なと調べてみたら…なんと、Windowsの標準サービスの一つである、DHCP Clientサービスを停止していました。なんでも別のエラーが発生していて、わからないから止めたということです。
DHCP Clientサービスという名前がよくないのですが、このサービスはActive Directory環境下において、DNSの動的更新を行います。したがって、静的IP環境であっても、停止すると動的更新が行われないため、DNSサーバーの清掃が走ったタイミングで消えてしまいます。
No DNS Name Resolution If DHCP Client Service Is Not Running
DHCP クライアント サービスが停止していると動的 DNS 更新が動作しない
…その昔、Windows NT 4.0や2000のころまでは確かに通常運用で使わないようなサービスや機能も標準で入っていて、セキュリティホールになったこともしばしばあります。が、しかし。Windows Server 2003からは「デフォルト止める」という方針になり、かなり絞られています。
このサービスを停止するとどんな副作用が起きるということがちゃんとわかっている人がいじればいいのですが、そうでない人がいじると痛い目をみるだけなので、Windows Server 2003以降の標準サービスに関しては既定のままで運用することをお勧めします。
今日WSUSのコンソールを見ると、Microsoft Security Essentials(以下MSE)のカテゴリが追加されていました。WSUSでもMSEの定義ファイルが同期できるのはうれしい…のですが、MSE側のどこを設定すればいいんでしょうね?
ざっとレジストリをみたのですが、設定できそうなところはないなぁ…。MSEはActive Directoryでのコントロールをサポートしないという話だから、adm(x)ファイルなんて配布されないのかなぁ…うーん、どうすればいいんだろう。WSUSもMSEも一応サポートあるから、聞いてみる?
参考)MS Security Essentials FAQ風まとめ(日本のセキュリティチームblog)
ちょっと会社の人に聞かれたのですが、Windows 7からWindows Server 2008 R2をリモート接続した場合、RDP 7が使われるといわれています。XP SP3やVista向けにはクライアントも公開されています。
Windows XP SP3、Windows Vista SP1 および Windows Vista の SP2 の説明、リモート デスクトップ接続 7. 0 クライアントのリモート デスクトップ サービス (RDS) の更新します(KB969084)。
ところがです、Windows Server 2008 R2側でみると、rdp 6.1と表示されています。
あれ、これってこういうものでしたっけ?RDP 7.0って表示されないんでしょうか?
(3/21 追記)
WPF Performance and .NET Client Profile Blogによると、やはりこれはtypoだそうです。紛らわしい…。このほかにもWPFをリモート接続で使う場合のノウハウがいっぱい公開されています。Windows Server 2003 R2のリモート接続でWPFを使うとそれはそれは遅かった…。
Optimizing Visual Studio 2010 and WPF applications for Remote Desktop
Windows Server 2008 R2でdcomcnfg(コンポーネントサービス)でDCOMの構成をしようとしても、プロパティシートが変更不可になっていて、できない。アクティブ化を変えたいんだけど、どうすればいい?という相談を受けました。
え、なんで?と思ってみると、確かにWindows Server 2008 R2ではいくつかのプロパティシート(OS組み込みのものが中心と思われる)のセキュリティタブが無効状態になっています。

で、調べてみました。どうもレジストリのアクセス権が変わって、Administratorでもこの辺は読み込み専用になっていることが原因のようです。対処方法としてはこんな感じ。
- レジストリエディタで該当のCLASS IDを探せ。
- 見つけたら、その該当レジストリはAdministratorユーザーも読み込み専用になっているから、Administratorにフルコントロールをつけろ
- dcomcnfgを再起動しろ。そうすればこの設定は有効になっているはずだ。
…ということでやってみたんですが、レジストリエディタでセキュリティ変更するところで拒否されましたorz。うーん、Domain Adminでやっているんだけどなー。まぁ間違ってはなさそうです。MOSSの人もやらなきゃだめみたいですね。ということで、参考リソース。
Fix the SharePoint DCOM 10016 error on Windows Server 2008 R2
CertSrv Request DCOM Config Greyed Out
非常によく忘れる(そして必ずやらなくてはならない)ことなので、自分のところでメモ書き。ドメインコントローラーの同期には外部のNTPサーバーを使います。その設定。NTPサーバーはできればISPで提供しているものがあれば、そちらを使用するとよい。実際、下のmfeedは三つも指定する必要はないかな?
- コマンドプロンプトを「管理者で実行」して、コマンドたたく
- w32tm /config /update /manualpeerlist:"ntp1.jst.mfeed.ad.jp ntp2.jst.mfeed.ad.jp ntp3.jst.mfeed.ad.jp" /syncfromflags:manual
- net stop w32time (サービス停止)
- net start w32time (サービス開始)
ドメインの最初のDCでやるとイベントが記録されることがあるので、これ見て対処…というより確認しましょう。
http://technet.microsoft.com/en-us/library/dd310140(WS.10).aspx
2000/2/17にWindows Server 2000がリリースされたということで、自動的にActive Directoryも10周年。そのお祝いイベントがTech Fidersで開催されました。主にMSの社内でサポートやコンサルの担当者、Directory ServiceのMVPの面々それぞれActive Directoryについて語るという形です。ILM一家の方々も来てました。ういこさんはblog通りの方で…。
終了後の懇親会ではこんなケーキも登場。
トラブルシューティングでは参考になるお話が多かったです。twitterのハッシュタグ#ad10thで追えるはずです。そう多くないので大丈夫でしょう。代表的なトラブルおよび、トラブル対応方法。
- TCPの一時ポートの枯渇(レジストリでのチューニングが必要)
- DNSへの参照の失敗。特にWindows以外のDNS(より正確にいえばSRVレコードをサポートしないDNS)などを指定していると起きがちです。
- ネットワーク上の問題。最終的にはパケットキャプチャも必要
- MPS Reportで環境情報を根こそぎ取得
Active Directoryのベータのころから教育のために準備していた人たちって、ほんと大変だったと思います。昔のベータはほんとに「ベータ」っていう品質だったし、Active Directoryは初物だし。NT Domainから機能ががっつり増えたし、(NT時代からすると)Internet標準にだいぶ近づいて、大変だったと思います。これどういうことよと言われたときに、ちゃんと説明しなきゃいけないし。
それから、GPOでIPSecを配布して、検疫ネットワークっぽいものを作るという方法は初めて聞きました。札幌市役所で事例として公開されています。この方法のいいところは追加のCALとかライセンスが一切いらないことだそうで:-)。もちろんIPSecで隔離されているので、ネットワークの一覧はおろか、pingも通らない状況を作り出せるのだそうです。確かNetBSDの人が「WindowsのIPSecは手順が多いけど、NetBSDは手順が少なくて簡単だよ。」みたいなスライドを読んだことがあって、ちょっと避けていたんですが、こういう利点があったら手順が大変でもやってみたくなります。
パネルディスカッションでDirectory ServiceのMVPの方々が話していた(そして私も遭遇した)ことの一つに「企業のDNS管理者がActive Directoryで会社のDNSがけがされる」と思ってしまうことがありました。今まではNT Domainで内部でやっている分にはお目こぼししていたけど、InternetにMSのわけのわからないDNSを出すなと…みたこともないものを拒否したがる気持ちはわからないでもないけど。
ちなみに私はWindows 2000 Serverは最初から使っていたけど、Active DirectoryはSP2かSP3のころでした。最初のリリースではActive Directoryのやばいバグとか結構あったように記憶しています。間違ってたらすいません。MS NetworkはOS/2 1.2から使ってましたよ。
懇親会でも出たのですが、個人的にはWINSサーバーがWindows Server 2008 R2でもまだ生き残っているのが不思議です。もうそろそろいいんじゃないか?と思うのですが、手元のサーバーにも追加している自分がいますorz。
Active Directoryは基本設計そのままに10年使われてきました。いろいろこんなこといいなーできたらいいなーと思うところも徐々に改良されて次の10念も使われ続ければいいですね。個人的にはILMにあるユーザーによるパスワードリセット機能がActive Directory本体についてほしいんですが…。
Windows Server 2003 R2からWindows Server 2008 R2にWSUSサーバーを引っ越して気付いたことが一つあります。まずはこの画像を。

もちろん後からUpdate ServicesのMMCで追加してはおりません。どうもサーバーマネージャでビューの登録をしても保存されないようです。逆に、MMCコンソールで保存してもサーバーマネージャーには表示されないようです。
Windows Server 2008 R2のMMCでは起動時にUACの特権昇格が発動しますが、サーバーマネージャーでは表示されません(Windows Server 2008では後から起動したサーバーマネージャーではUACが発動していました)。おそらく仮想化されてしまって、設定データが保存されていないんでしょうかね?
というわけで、ビューを保存するときはサーバーマネージャーを使わないようにしましょうというお話でした。
Active Directoryのドメインコントローラー(DC)をメンバーサーバーに降格させるとき、気をつけたいことがいくつかあります。
- 各種マスタ(PDCエミュレーター,スキーママスタ,操作マスタ,RID,インフラストラクチャマスタ)を忘れずに転送する
- DNS,WINS,証明書サービスもやっていたら忘れずに(というか、証明書サービス消さないと降格できませんが)。
- ASP.NETのサイトを動かしていたらaspnet_regiis.exeを忘れずに(アカウントとかが変わっちゃうから)
で、今日もう一つはまってしまいました。DCの降格を遣ったことのある人はわかると思いますが、作業中にWindowsが各フォルダ(%systemroot%や%programfiles%)、レジストリに対してセキュリティを設定し直します。DCだからということで、SQL Serverを同居させた環境で、ドメインアカウントでSQL ServerやASP.NETのサービスを動かしていると、C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Filesへの書き込みに失敗してしまいます。
はい、WSS 3.0がもろに該当してしまいました。一応SQL Serverと同じホストで動いていればWSS 3.0はDCでも動作します。Temporary ASP.NET Filesにワーカープロセスの書き込みを許可すれば動くようになります。システムフォルダだからだめよと言われますが、かまわずやっちゃいましょう。
書き込み許可後、Webパーツの表示がおかしいもののWSSへのアクセスができるようになりました。一安心。
そういえば今日はActive Directory(Windows 2000も)10周年記念なんですね。はやいなぁ。
Windows Server 2008 R2でHyper-VとRRAS(Remote Access)を使う場合、NICがたくさん必要になります。
- Internetアクセス用
- Hyper-V専用NIC(ここからさらに仮想NICが作られます)
- 管理用
- Intranet用
まぁ、実際は管理用とIntranet用を兼ねてもいいと思います。何の工夫もせずやると、Hyper-VのチャイルドパーティションからInternetへ出ていけません。これを解決するには、Hyper-Vで作成された仮想NICとIntranetでブリッジを作ってから、RRASを構成します。
具体的な手順はJohnさんのblogに書かれています。
http://sqlblog.com/blogs/john_paul_cook/archive/2008/03/23/using-wireless-with-hyper-v.aspx
ブリッジを作って、RRASを構成、その際にIntranet用のNICを指定すればHyper-VチャイルドパーティションのOSから通信ができるようになります。ものとしてはわかりますが、気づかないとこれはわからないですよねぇ。
DirectAccessならこんなことしなくていいの?