現象この文書ではWindows Server 2012でのグラフィカル ユーザー インターフェイスの有効化について説明します。 Show Windows Server Coreとは、グラフィカル ユーザー インターフェイス(GUI)を使用せずにWindowsを実行するというアイディアを中心としたコンセプトであり、Windows Server 2008以来存在していたものですが、オペレーティング システムの再インストールを行わなくてもGUIの追加や削除が行えるようになったWindows ServerのバージョンはWindows Server 2012が初めてです。サーバーの再起動だけが必要です。 メモ:この資料は Microsoft Hyper-V Server 2012には適用されません。これは、Microsoftが提供しているハイパーバイザだけのWindowsオペレーティング システムであり、Server Coreモードでのみ動作します。とはいえ、Hyper-V Server 2012は、リモート マシンからグラフィカル管理ツールを使用して管理できます。 Windows Server 2012には、次の4つのユーザー インターフェイス レベルがあります。
Windows Server 2012でGUIを有効にするには、Deployment Image Servicing and Management(DISM)またはWindows PowerShellを使用します。 Server Coreマシン上でDISMを使用してサーバーのグラフィカル シェルGUIを有効にするには、次の手順に従います。
Server Coreマシン上でWindows PowerShellを使用してサーバーのグラフィカル シェルGUIを有効にするには、次の手順に従います。
上記の例の両方で、server-gui-shellを省略すると、グラフィカル管理ツールとインフラストラクチャ(MinShell)に限られたGUIのみをインストールします。 EC2インスタンスのWindows Serverに対して「役割と機能」をインストールする際に使える、いくつかの方法をご紹介します。 この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。 みなさん、こんにちは! 今回は、EC2インスタンスのWindows Serverに対して「役割と機能」をインストールする際に使える、いくつかの方法をご紹介します。 リモートデスクトップ接続でGUIインストール最も基本的な方法です。 「サーバーマネージャー」を起動して、右上の「管理」メニューから「役割と機能の追加」を選択します。 ウィザードを進めて行き、インストールする「役割」「機能」を選択します。 このように、GUIを使うと分かり易いインターフェイスで役割や機能をインストールすることができます。 SSMのセッションマネージャーを使うリモートデスクトップ接続が利用できない場合、Systems Manager (SSM) の「セッションマネージャー」を使う方法があります。 WindwosのEC2インスタンスに対してセッションマネージャーを利用する場合、シェルとしてPowerShellを使うことになります。 PowerShellを使ってWindows Serverの役割・機能を追加する方法については、マイクロソフトのドキュメントで解説されています。 役割、役割サービス、または機能のインストールまたはアンインストール | Microsoft Docs インストールされている役割・機能の確認インストールを行う前に、
「Display Name」欄は役割・機能の表示名、「Name」欄は内部名です。 「Install State」欄の意味は以下の通りです。
「Removed」の場合、インストールソース (媒体) がローカルディスク上に存在しないため、インストールを実行するとインターネットからのダウンロードが発生することに留意してください。 役割・機能のインストールインストールしようとする役割・機能の内部名と、現在のインストール状況
(まだインストールされていないこと) を確認したら、 例えば、役割「IIS」の内部名は
インストール処理が完了すると、結果が以下のように表示されます。
「Success」欄が「True」であればインストールは成功しています。 「Restart Needed」欄は、インストール後に再起動が必要かどうかを示しています。 Install-WindowsFeatureコマンドレットのオプション
SSMのRun Commandを使うSSMのセッションマネージャーを使うと、コマンドベースで対話的にインストールを行うことができました。 一方、バッチ処理的にインストールを行うには「Run Command」を使います。 Run Commandで実行するスクリプトを、以下のように用意します。
前節で説明した通り、役割・機能のインストール時には再起動が必要な場合と不要な場合とがありますが、このスクリプトではいずれの場合にも対応するような作りになっています。 Run Commandにおける再起動を伴うスクリプトの記述方法については、下記の記事を参照してください。 [小ネタ] 再起動を伴うSSM Run Commandの書き方 | Developers.IO スクリプトの内容を簡単に解説します。
Run Commandで、コマンドドキュメントに「AWS-RunPowerShellScript」を指定して、スクリプトを実行します。 コマンドの処理が完了しましたら、「コマンド出力」で結果が確認できます。
ユーザーデータを使って起動時に自動インストールユーザーデータにPowerShellスクリプトを記述することで、新規インスタンスの起動時に役割・機能をインストールすることもできます。 IISのように再起動を伴わない役割・機能であれば、以下のようにシンプルなユーザーデータスクリプトでインストールが可能です。
インスタンスの起動後、IISのインストールに少々時間がかかりますが、インストールが完了した頃合いにWebブラウザでアクセスしてみましょう。 ELB+Auto Scalingの動作テストなどでよく使われる「ユーザーデータを使ってApacheをインストールして、Webページにホスト名を埋め込む」ということを、Windowsでも行えますね。 おわりにWindowsではリモートデスクトップ接続でGUIを操作しなければできないことが多いですが、今回紹介した方法を使えば「役割」「機能」のインストールをコマンドラインで素早く行ったり、自動化したりすることができると思います。 是非ご活用ください。 |