プラットフォーム
サーバー – Windows Server 2012
説明
Windows エクスプローラーと Internet Explorer を含む機能であるサーバー グラフィカル シェルは、既定で Windows Server 2012 の "GUI を使用したサーバー" インストールにインストールされます。 サーバー グラフィカル シェル機能をアンインストールすると、潜在的なサービスとパフォーマンスのフットプリントを減らし、サーバーで発生する可能性がある再起動の数を制限しながら、サーバー上で管理ツールをローカルで実行することができます。
管理者がサーバー グラフィカル シェルをアンインストールすると、サーバーは最小サーバー インターフェイス構成になります。
管理者は、GUI 構成のサーバーではなく、最小限のサーバー インターフェイス構成 (一連のローカル管理ツールを含む) を既定として実行することを選択できます。 これにより、ローカルの監視と管理が可能になり、リソースの使用量とサービスの頻度の両方を減らすことができます。
管理者は、その中に機能が必要な場合は、後で Server グラフィカル シェルを再インストールできます。 (管理者は、オンデマンド機能を使用して、Server Core のインストールから開始し、最小限のサーバー インターフェイス構成に "ビルドアップ" することもできます)。
最小限のサーバー インターフェイス構成でサーバー アプリを実行して、リソース使用率とサービスフットプリントを削減できる必要があります。 この機能は、管理者がサーバー グラフィカル シェルを必要とするアプリの一部をインストールしないことを選択できるようにするか、サーバー グラフィカル シェルの存在を検出してアプリの一部を無効にすることで実現できます。
サーバー グラフィカル シェルに含まれる多くの API とバイナリは、この構成では使用できないため、最小限のサーバー インターフェイスではリソースとサービスのフットプリントが削減されます。 必要に応じて、サーバー アプリでは、別の Windows Server または Windows クライアントインストールからのリモート管理 (Windows PowerShellリモート処理を使用した場合) も許可する必要があります。 これにより、最小サーバー インターフェイス構成の 1 つ以上のマシン、または Server Core などのより低いフットプリント構成のマシンの一元管理が向上します。
症状
最小限のサーバー インターフェイス構成で使用できない API またはバイナリのいずれかがアプリに必要な場合は、画面に正しく表示されないか、使用できない可能性があります。
対応策
サーバー アプリ開発者は、削除された API またはバイナリのいずれかを必要とするアプリのそれらの部分を識別し、最小限のサーバー インターフェイスを使用するときに適切に実行されないアプリの部分を識別するサーバー管理者の情報を含める必要があります。 アプリのこれらの部分を必要に応じてインストールできる場合、または製品機能に絶対に必要でない場合でも、アプリをインストールして、最小限のサーバー インターフェイス構成で実行できます。
サーバー グラフィカル シェルなしでアプリをまったく使用できない場合は、この制限を文書化し、サーバー管理者にサーバー グラフィカル シェルのインストールを指示する必要があります。 (Server Core のインストールに追加する場合は、オンデマンド機能を使用した機能の追加が必要になる場合があります)。さらに、サーバー グラフィカル シェルはアプリのインストール前またはインストール後にいつでもアンインストールできるため、アプリは起動時に必要なすべてのファイルが利用可能であることを確認する必要があります。
解決策
可能な限り小さい依存関係のセットに依存し、アプリをモジュール化して、より負荷の高いユーザー インターフェイス コンポーネントをインストールしなくても、コア アプリの機能を機能させることができます。 削除された API やバイナリを必要としないアプリを開発し、代わりに最小サーバー インターフェイスまたはサーバー コアに含まれる機能に依存します。 これにより、メンテナンス要件が減り、パフォーマンスとユーザーの満足度が向上します。
サーバー グラフィカル シェルを使用できる場合に重要な機能を追加する可能性があるアプリの一部がある場合、アプリ開発者は次のことができます。
- サーバー グラフィカル シェルを使用するこれらの追加機能をオプションでインストールできるようにして、最小限のサーバー インターフェイス構成でのインストールから省略できるようにします。
- サーバー グラフィカル シェルの存在を検出し、アプリの動作を調整する
また、アプリ開発者は、可能な限り適切にサーバー アプリをリモートで管理できるようにする必要もあります。
最小限のサーバー インターフェイスとサーバー コアの検出
Windows Server では、インストールされているサーバー レベルごとに対応するレジストリ値がインストールされます。 これらのキーの存在を照会して、サーバー グラフィカル シェル機能または最小限のサーバー インターフェイス機能がインストールされ、有効になっているかどうかを判断できます。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Server\ServerLevels:
Server Core | 最小サーバー インターフェイス | サーバー グラフィカル シェル | |
---|---|---|---|
ServerCore=1 | X | X | X |
Server-GuiMgmt=1 | X | X | |
ServerGuiShell=1 | X |
上の表の "X" は、対応する機能がインストールされたときにレジストリ キーが存在することを意味します。
これらのサーバー レベルは付加的であることに注意してください。サーバー グラフィカル シェルがインストールされている場合は、最小限のサーバー インターフェイスとサーバー コアもインストールされます。 その場合、両方のレジストリ キーが存在します。
テスト
削除された API とバイナリのいずれかを使用する要件について、アプリ コードを調べます。 これらのインスタンスを "コア アプリケーション" バイナリから削除したら、サーバー グラフィカル シェルを含まない環境でアプリをテストします。 プロセス モニターなどのツールは、この問題に役立つ可能性があります。
これらの API とバイナリの使用を完全に中止できない場合は、最小限のサーバー インターフェイスまたはサーバー コアで実行すると、アプリが正常に失敗することを確認してください。