準拠していないサーバーを修復する

完了

Azure Automation State Configuration を使用してサーバーをオンボードする場合、構成モードを次のいずれかのモードに構成します。

  • ApplyOnly
  • ApplyandMonitor
  • ApplyAndAutoCorrect

ApplyAndAutoCorrect を選択しない場合、何らかの理由で準拠状態ではなくなったサーバーは、手動で修正するまで非準拠のままになります。 Azure Automation State Configuration ノードで強制的に最新の構成をダウンロードして適用するには、次のコード例のように Update-DscConfiguration コマンドレットを使用する必要があります。

Update-DscConfiguration -Wait -Verbose

ただし、準拠していないサーバーに対してこのコマンドレットを実行するには、Azure コンピューティング機能の "実行コマンド" を使用する必要があります。

実行コマンドとは

実行コマンド機能を使用すると、VM 内でスクリプトを実行できます。 この機能は、構成のドリフトを手動で修正するときに使用できます。 実行コマンドにより、VM エージェントを使用して Azure Windows VM 内で PowerShell スクリプトが実行されます。 これらのスクリプトは、マシンやアプリケーションの一般的な管理に使用できます。 これらを使用すれば、VM のアクセスおよびネットワークの問題を迅速に診断して修正し、VM を良好な状態に戻すことができます。

ヒント

実行コマンドにより、スクリプトを使用した VM とアプリケーションの管理とトラブルシューティングが可能になります。 マシンに到達できない場合でも使用できます。たとえば、ゲスト ファイアウォールでリモート デスクトップ プロトコル (RDP) または Secure Shell (SSH) ポートが開いていない場合などです。

制限

実行コマンドの使用にはいくつかの制限があります。 VM に影響する問題を迅速に解決できるように設計されているため、ソフトウェアの機能は最小限に抑えられています。 実行コマンドを使用するときには、次の制限が適用されます。

  • 出力は最後の 4,096 バイトに制限されます。
  • スクリプトを実行するための最小時間は約 20 秒です。
  • スクリプトは、Windows 上のシステム アカウントとして実行されます。
  • 一度に実行できるスクリプトは 1 つだけです。
  • 情報の入力を求めるスクリプト (対話モード) はサポートされていません。
  • スクリプトの実行を取り消すことはできません。
  • スクリプトを実行できる最大時間は 90 分です。 それを過ぎると、タイムアウトになります。
  • スクリプトの結果を返すために、VM からの送信接続が必要

Note

正常に機能するには、実行コマンドに Azure のパブリック IP アドレスへの接続 (ポート 443) が必要です。 この拡張機能にこれらのエンドポイントへのアクセス権がない場合、スクリプトが正常に実行されても結果が返されないことがあります。 VM 上のトラフィックをブロックしている場合、サービス タグを使用し、AzureCloud タグを使用して Azure パブリック IP アドレスへのトラフィックを許可できます。

使用可能な PowerShell コマンド

Windows VM に対して複数の PowerShell コマンドを起動できます。

A screenshot of the Run command blade for the ContosoVM4 VM. A list of PowerShell commands is listed.

Windows VM で使用できるコマンドの一覧を次の表に示します。

名前 説明
RunPowerShellScript PowerShell スクリプトを実行します。 RunPowerShellScript コマンドを使用して、任意のカスタム スクリプトを実行できます。
DisableNLA ネットワーク レベル認証 (NLA) を無効にします。
DisableWindowsUpdate Windows Update を使用した自動更新を無効にします。
EnableAdminAccount ローカル管理者アカウントが無効になっているかどうかを確認し、無効になっている場合は有効にします。
EnableEMS トラブルシューティング シナリオで、緊急管理サービス (EMS) を有効にしてシリアル コンソールの接続を可能にします。
EnableRemotePS PowerShell リモート処理を有効にするようにマシンを構成します。
EnableWindowsUpdate Windows Update を使用した自動更新を有効にします。
IPConfig 伝送制御プロトコル (TCP)/IP にバインドされた各アダプターの IP アドレス、サブネット マスク、および既定のゲートウェイの詳細情報を提供します。
RDPSettings レジストリ設定およびドメインのポリシー設定を確認します。 マシンがドメインの一部である場合はポリシー アクションを提案します。または、設定を既定値に変更します。
ResetRDPCert RDP リスナーに関連付けられているトランスポート層セキュリティ (TLS) または SSL 証明書を削除し、RDP リスナーのセキュリティを既定値に戻します。 証明書に問題がある場合は、このスクリプトを使用します。
SetRDPPort Microsoft リモート デスクトップ接続用の既定またはユーザー指定のポート番号を設定します。 ポートへの受信アクセスに対するファイアウォール規則を有効にします。

実行コマンド機能へのアクセスを制限する

実行コマンドによって、一部のファイアウォール ポートの制限を無効することができるので、許可された担当者のみが使用できるようにすることが重要です。 実行コマンドの一覧表示、またはコマンドの詳細の表示には、Microsoft.Compute/locations/runCommand/read アクセス許可が必要です。

Note

組み込みの閲覧者ロール以上のレベルには、このアクセス許可があります。

コマンドの実行には、Microsoft.Compute/virtualMachines/runCommand/action アクセス許可が必要です。

Note

仮想マシンの共同作成者ロール以上のレベルには、このアクセス許可があります。

実行コマンドを使用するには、いずれかの組み込みロールを使用するか、カスタム ロールを作成します。

追加の参考資料

詳しくは、次のドキュメントをご覧ください。