Service Management Automation を使用して Microsoft Azure Pack 操作を自動化する

重要

このバージョンの Service Management Automation (SMA) はサポート終了に達しました。 SMA 2022 にアップグレードすることをお勧めします。

Service Management Automation (SMA) Runbook を使用して、Microsoft Azure Pack for Windows Server 環境でのルーチン操作を自動化できます。 SMA Runbook には 2 種類あります。

Type 説明
PowerShell ワークフロー Windows PowerShell ワークフローに基づくテキスト Runbook です。
PowerShell Windows PowerShell スクリプトに基づくテキスト Runbook です。

PowerShell ワークフロー Runbook

PowerShell ワークフロー Runbook は、Windows PowerShell ワークフローに基づきます。 管理ポータルのエディターを使用して、Runbook のコードを直接編集できます。 オフライン テキスト エディターを使用して、SMA に Runbook をインポートすることもできます。

長所

  • PowerShell ワークフロー コードを使用して、すべての複雑なロジックを実装します。
  • エラーが発生した場合、 チェックポイント を使用して Runbook を再開できます。
  • 並列処理 を使用して複数のアクションを並列に実行できます。
  • その他の PowerShell ワークフロー Runbook を子 Runbook として含め、高度なワークフローを作成します。

制限事項

  • PowerShell ワークフローについて理解している必要があります。
  • Runbook は、逆シリアル化されたオブジェクトなど、PowerShell ワークフローの複雑さを処理する必要があります。
  • グラフィカル Runbook は、実行する前にコンパイルする必要があるため、PowerShell Runbook より開始に時間がかかります。
  • PowerShell Runbook は、新しいジョブを作成する Start-SMARunbook コマンドレットを使用して子 Runbook としてのみ含めることができます。

PowerShell Runbook

PowerShell Runbook は、Windows PowerShell に基づきます。 管理ポータルのエディターを使用して、Runbook のコードを直接編集できます。 オフライン テキスト エディターを使用して、SMA に Runbook をインポートすることもできます。

長所

  • PowerShell ワークフローの複雑さを増すことなく、PowerShell コードを使用してすべての複雑なロジックを実装します。
  • 実行前にコンパイルする必要がないため、PowerShell ワークフロー Runbook より開始に時間がかかりません。

制限事項

  • PowerShell スクリプトについて理解している必要があります。
  • 並列処理を使用して複数のアクションを並列で実行することはできません。
  • エラーが発生した場合 、チェックポイントを 使用して Runbook を再開することはできません。
  • PowerShell ワークフロー Runbook を子 Runbook として組み込むには、新しいジョブを作成する Start-SMARunbook コマンドレットを使用する必要があります。

SMA で Runbook を実行する方法

Runbook を開始するための要求は、サービス管理ポータルまたは Start-SmaRunbook Windows PowerShell コマンドレットを使用して SMA Web サービスによって実行されます。 Web サービスは、この要求を Automation Worker サーバーのいずれかによって取得される Automation データベースに書き込みます。

Runbook の RunbookWorker プロパティが設定されている場合、その Worker サーバーはジョブにサービスを提供します。 Worker サーバーが使用できない場合、ジョブはエラーで失敗します。 Runbook の RunbookWorker プロパティが設定されていない場合、SMA は要求をサービスするために使用可能な Worker サーバーをランダムに選択します。

要求を処理し、すべてのコンピューターや対象となる他のリソースにリモートでアクセスする Worker サーバー上で実行されるジョブが Worker サーバーによって作成されます。 これらのリソースをリモートでアクセスできるようにするには、Runbook のコマンドレットが必要です。 代わりに、Runbook には PowerShell Remoting を使用してターゲット コンピューターにコマンドをローカルで実行するため、InlineScript コマンドを含めることができます。 次の図で説明しています。

Runbook の実行図。

ジョブが一時停止または中断された場合、別の Worker サーバーで再開する可能性があります。 このため、ローカル コンピューター上のファイルなど、すべての Worker サーバーからアクセスできないローカル リソースの使用には注意する必要があります。 チェックポイント間で情報を共有する場合は、可能な限り グローバル資産 ( 変数 など) を使用 する必要があります。

アクセス許可

Runbook で必要な操作を実行するためには、対象となるリソースへのアクセス許可が必要です。 SMA の Runbook は、常に Automation Runbook Service のサービス アカウントのコンテキストで実行します。 このアカウントに必要なアクセス許可がない場合は、Runbook で Credentials または Connection グローバル リソースを使用して、必要なアクセス許可を持つ資格情報を使用して必要なコマンドを実行できます。 これらの資格情報は、パラメーターを通じて資格情報指定できるコマンドレットか、別の資格情報を使ってコード ブロックを実行する InlineScript のいずれかで使用できます。

次の手順