WindowsのAzure VMへシリアルコンソール接続(SAC接続)

Azure,Virtual Machine,Windows

Windowsの仮想マシン(Azure VM)のシリアルコンソール接続についての記事です。
SAC(Special Administration Console)の概要やOSシャットダウン、コマンドプロンプトの起動、シリアルコンソール経由でのサービスの起動停止までの手順を紹介しています。

Windowsの仮想マシンにシリアルコンソール接続するとSACに接続します。
SACはトラブルシューティング時などに利用されるWindowsの機能です。
SACからコマンドプロンプトを実行することができます。
シリアルコンソールを使ったトラブルシューティングを想定して、シャットダウンやサービスの起動停止までの手順を確認してみました。

※本記事内ではAzure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
※本記事内ではSpecial Administration ConsoleをSACとして表記しています。
※Windows Server 2022 Datacenter Azure Editionを利用しています。

スポンサーリンク

Windowsの仮想マシンへシリアルコンソール接続

SACとは何?

SAC(Special Administration Console)はWindows Server 2003から追加になった管理コンソール画面です。
EMS(Emergency Management Services)の機能として提供されています。
Windowsのトラブルシューティングなどを行うために使用します。

Emergency Management Services Tools and Settings

シリアルコンソール経由でアクセスするとSACに接続する

Windowsの仮想マシンにシリアルコンソール経由で接続した場合はSACに接続します。
SACを利用してOSのシャットダウンやコマンドプロンプトを呼び出すことが出来ます。

※SACが有効でない場合にはシリアルコンソールにはSACプロンプトが表示されません。
※カスタムイメージや古いイメージなどの場合にはSACを有効化する必要があります。

カスタム イメージまたは古いイメージでシリアル コンソールを有効にする

シリアルコンソールの設定

仮想マシンでのシリアルコンソール設定についてはこちらの記事にまとめています。
シリアルコンソールの概要から設定手順を記載しています。

Windowsの仮想マシンへシリアルコンソール接続

Windowsの仮想マシンへシリアルコンソール接続します。
プロンプトが"SAC>"となります。

シリアルコンソール接続
左側のメニューでシリアルコンソールを選択します。
自動的に仮想マシンへ接続が開始されます。
接続が完了するとSACの画面が表示されます。
Azure VMのシリアルコンソール接続画面(Windows SAC接続時)

SACのコマンドヘルプを表示する場合は"?"と入力します。

※OSを日本語化している場合はヘルプも日本語で表示されます。

Windows SAC画面(Help表示画面)

SACでコマンドを実行します。
shutdownと入力して実行してみます。
OSのシャットダウンが開始されます。
仮想マシンステータスを確認すると"停止済み"になっている事が出来ます。

※割り当て解除する場合は、別途仮想マシンを停止する必要があります。

 

シリアルコンソール接続画面(Windows SACでShutdownコマンドを実行)
仮想マシン状態確認(SACでshutdown実行後)

SACからコマンドプロンプトを呼び出す

SACからコマンドプロンプトを呼び出す為にはCMDインスタンスを持つチャネルを作成します。
SACで"cmd"と入力してコマンドプロンプトセッションを開始てチャネル作成します。
“ch -si チャネル番号"でコマンドプロンプトのインスタンスに切り替えます。

コマンドプロンプトに切り替え

SACでcmdと入力します。
そうするとコマンドプロンプトのチャネルが作成されたメッセージが表示されます。

 

シリアルコンソールでSACからコマンドプロンプトを起動

※ESCキー+TABキー+チャネル番号(今回の場合は1)でもコマンドプロンプトチャネルを表示させることができます。
※チャネル番号はCmd000Xになります。

コマンドプロンプトチャネルが表示されます。
Enterキーを押します。
コマンドプロンプトチャネル接続画面
OSの認証画面が表示されます。
ユーザー名、パスワードを入力します。
Windowsログイン画面(シリアルコンソール経由)
認証が完了するとコマンドプロンプトが表示されます。
“hostname"とコマンド実行すると、仮想マシンのホスト名が表示されました。
コマンドプロンプトが使えている事が分かります。
シリアルコンソール接続画面(コマンドプロンプト)

シリアルコンソールからサービスを起動停止

シリアルコンソール経由でコマンドプロンプトを使う事で、Windows サービスの起動停止ができます。
IISを例に起動した状態から停止、起動して確認します。

Windows コマンド – CMD と PowerShell

※サービス名はw3svcになります。

シリアルコンソール経由でIISを起動停止

sc query “サービス名"でサービスの起動状況を確認しています。
NET STOP ”サービス名”でサービスを停止、NET START ”サービス名”でサービスを起動しています。

コマンドプロンプト画面(IISの起動停止)

※サービスの起動停止方法はこちらの記事を参考にしています。

IISReset.exe を使用して IIS を再起動すると、エラー メッセージが表示されます

最後に

Windowsの仮想マシン(Azure VM)へのシリアルコンソール接続について確認してみました。
SAC(Special Administration Console)からコマンドプロンプト起動する事で、シリアルコンソールでサービスの起動停止ができます。
トラブルシューティング時に利用する場合などにとても便利に使える機能かと思います。

引き続き色々試してみたいと思います。

パスワード認証でログイン出来るユーザーが分からず出来ない場合などに、パスワード認証でログインできる管理者アカウントを追加してシリアルコンソールを使う事ができます。
パスワードリセットを使って仮想マシンの管理者アカウントを追加する手順はこちらに記載しています。

スポンサーリンク