2007-07-20

λ PASSJ セミナー Windows Server 2008 アプリケーション互換性評価

内部的な仕組みについては、@IT 管理者権限での実行を制限するユーザー・アカウント制御UAC に記載されていることとほぼ同じ解説だったのだが、 今回最も重要な情報は

  • 権限昇格のチェックをするタイミングは ShellExecute
  • CreateProcess では権限昇格しない (ダイアログが出ない)

である。このネタは今まで全く聞いたことがなかった。

ShellExecute でアプリケーションまるごと権限昇格する以外の方法としては、 CreateElevatedComObject() というキーワードが出てきた。 要はCOMを Out-of-Process Server で起動するので、別プロセスになるよ、という話。

CreateElevatedComObject() で検索したら ソフトをWindows VistaのUACにスマートに対応させる というのが見つかった。 その他ググっているとなんとなく Out-of-Process Server については管理上 COM+ にした方がいいんじゃね? という雰囲気を感じる。

あと Server Core の話。Server Core には .NET Framework は非搭載! マネージドコード動かないよ! 管理用のプロトコルとしては RPC/DCOM 使えと言っている。あと WMI, SNMP あたり。

.NET Framework 3.0 の時代になってもOSの最下層として .NET Framework が居座ることはないのか。 やはり Win95 以来、当面の間 Windows の基盤は COM なんだなあと。

そんなわけで C# マンセーではあるが、まだまだ C++ は捨てられない。

Server Core の当面の利用シナリオは、ドメインコントローラ(DNS,DHCPを含む)・ファイルサーバ・プリントサーバ・WSV(Virtual Server のすごいやつ) ぐらいがメインのようだ。 ドメインコントローラ + WSV だけでも十分ありがたい。

[]