Azure Automation のプロセス自動化を使用すると、PowerShell、PowerShell ワークフロー、グラフィカル Runbook を作成して管理できます。 Azure Automation では、Runbook は内で定義されたロジックに基づいて実行されます。 この記事では、Azure Automation での Runbook の実行に関する問題に関するトラブルシューティング ガイダンスを提供します。
注
- Newtonsoft.Json v10 を使用する場合は、このバージョンのモジュールに依存する PowerShell 5.1 Runbook と PowerShell 7.1 Runbook が正しく機能するように、このモジュールを明示的にインポートしてください。
- PowerShell 7.1 は、親製品の PowerShell ではサポートされなくなりました。 長期的なサポートのために PowerShell 7.2 Runbook を作成することをお勧めします。 詳しくは、PowerShell 7.2 Runbook を参照してください。
- 次の解決策で問題が解決しない場合は、サポート ケースを開く前に、Microsoft Azure Automation のケースを開くときに収集するデータ を参照してください。
- Azure Automation では、過去 29 日間に削除された Runbook の復旧が有効になります。 削除された Runbook を復元するには、Automation アカウントでジョブとして PowerShell スクリプトを実行します。 詳しくは、「削除済みrunbookを復元する」を参照してください。
エラー コード 400、403、429 のトラブルシューティング
| エラー | 解決策 |
|---|---|
400 Bad Request: This webhook is expired or disabled |
このエラーを解決するには、 Webhook を呼び出すときの 400 無効な要求の状態を参照してください。 |
The remote server returned an error: (403) Forbidden |
このエラーを解決するには、「 Azure Storage または Azure Key Vault、または Azure SQL へのアクセスがブロックされる」を参照してください。 |
this.Client.SubscriptionId cannot be null |
このエラーを解決するには、"this.Client.SubscriptionId を null にすることはできません。" というエラー メッセージがある Runbook を参照してください。 |
ErrorCode: AuthorizationFailed
StatusCode: 403
|
このエラーを解決するには、 複数のサブスクリプションを処理するときに Runbook が失敗するを参照してください。 |
429: The request rate is currently too large. Please try again. |
このエラーを解決するには、「 429: 要求レートが現在大きすぎる」を参照してください。 |
コマンドレットが認識されない、サインインが必要、またはサブスクリプションが見つからない場合に関連するエラーのトラブルシューティングを行う
| エラー | 解決策 |
|---|---|
Runbook がエラーで失敗する The subscription named <subscription name> cannot be found. |
このエラーは、Runbook がマネージド ID を使用して Azure リソースにアクセスしない場合に発生する可能性があります。 このエラーを解決するには、「 Azure サブスクリプションが見つかりません」を参照してください。 |
Your Azure credentials haven't been set up or have expired, please run connect-azureRmAccount to set up your azure credentials. |
このエラーは、マネージド ID を使用しない場合に発生する可能性があります。 このエラーを解決するには、マネージド ID を使用します。 |
Command not recognized. |
このエラーは、多くの場合、モジュールがインポートされていないか、古い場合に発生します。 スクリプト内の依存モジュールがAzure Automation にインポートされており、正しいバージョンであることを確認してください。 モジュールが Automation アカウントに存在する場合は、サンドボックスに読み込む際に問題が発生する可能性があります。 Runbook の先頭に明示的な import-module ステートメントを追加してみてください。 |
Forbidden with client authentication scheme 'anonymous'。 |
このエラーは、Azure Automation サンドボックスで資格情報を使用するときに発生します。 このエラーを解決するには、マネージド ID を使用します。 |
Unable to require token for tenant <tenant-id>。 |
このエラーは、Azure Automation サンドボックスで資格情報を使用するときに発生します。 このエラーを解決するには、マネージド ID を使用します。 |
Server failed to authenticate the request. |
このエラーは、Azure Automation サンドボックスで資格情報を使用するときに発生します。 このエラーを解決するには、マネージド ID を使用します。 |
Connect-AzAccount コマンドレットを使用するときのエラー。 |
この問題を解決するには、「 Azure アカウントへのサインインに失敗しました」を参照してください。 |
The term 'Connect-AzAccount' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if the path was included verify that the path is correct and try again. |
このエラーを解決するには、「 用語がコマンドレット、関数、またはスクリプトの名前として認識されない」を参照してください。 |
| Azure Automation 上の PnP PowerShell Runbook でコマンドレットが失敗する。 | この問題を解決するには、「 Azure Automation の PnP PowerShell Runbook でコマンドレットが失敗する」を参照してください。 |
<cmdlet name>: The term <cmdlet name> is not recognized as the name of a cmdlet, function, script file, or operable program. |
このエラーを解決するには、「 Runbook の実行時にコマンドレットが認識されない」を参照してください。 |
中断されたランブック、ジョブの失敗、停止状態のランブック、ハイブリッドワーカー、およびサブスクリプションに関する問題のトラブルシューティング
| 問題点 | 解決策 |
|---|---|
| Runbook が中断されたか、予期せず失敗した。 | Runbook の状態と考えられる原因について、ジョブの状態を確認します。 Runbook が中断される前に何が起こるかを識別するために、さらに出力を追加します。 ジョブによってスローされる例外を処理する。 WebSocket 例外などの特定の例外が発生したときにジョブを再試行して、一時的なネットワーク障害によって Runbook エラーが発生するのを防ぎます。 コマンドレットに問題がある場合は、コマンドレットを通じて使用しようとするサービスに関する詳細情報が表示されることがあります。 たとえば、 New-AzAnalysisServicesServer コマンドレットに関連する問題は、最終的に Analysis Services チームで発生する可能性があります。 |
| ジョブを 3 回試行しましたが失敗しました。 | 自動化の制限を確認してください。 制限が Azure サンドボックスにのみ適用される場合は、 ハイブリッド worker への移行を検討してください。 |
| 以前は動作していた Runbook が停止した。 | 必ずマネージド ID を使用してください。 Webhook を使用して Runbook を開始する場合は、Webhook の有効期限が切れていないことを確認します。 |
| ハイブリッドワーカーを使用するときの問題。 | これらの問題を解決するには、 Hybrid Runbook Worker のトラブルシューティング ガイドを参照してください。 |
| Runbook がスタックしている | Azure portal で Runbook ジョブを停止できない場合は、PowerShell コマンドレット Stop-AzureRmAutomationJob または Stop-AzAutomationJobを使用して停止してみてください。 |
| Runbook を開始またはスケジュール設定できない。 | この問題を解決するには、ランブック が発行されていることを確認します。 |
| バイナリに依存するコマンドレットを使用する場合の問題。 | 一部のコマンドレットは、Microsoft Data Access Components (MDAC) や Azure Fabric SDK などのバイナリに依存しています。 これらのコマンドレットは Azure Automation サンドボックスでは実行できないため、 ハイブリッド worker を介して実行する必要があります。 |
| Runbook に複数のサブスクリプションがある場合の問題。 | Azure Automation で複数のサブスクリプションにわたって Azure リソースを管理する場合は、エラーを防ぐために、複数のサブスクリプションの処理に関するガイダンスに従ってください。 |
一般的な問題のトラブルシューティング
次の表は、Runbook に関する一般的な問題のトラブルシューティングに役立ちます。
| 問題点 | 解決策 |
|---|---|
| 西ヨーロッパ リージョンで新しい Automation ジョブを作成できません。 | この問題は、西ヨーロッパ リージョンの Automation サービスのスケーラビリティの制限が原因で発生します。 これを解決するには、「 西ヨーロッパ リージョンで新しい Automation ジョブを作成できない」の手順に従います。 |
| Runbook のバグまたは Azure Automation の問題。 | 一般的なシナリオのトラブルシューティング方法については、「 Runbook の問題のトラブルシューティング」を参照してください。 |
| Runbook の出力とメッセージの問題。 | このような問題を解決するには、「 Runbook の出力とメッセージを取得する」を参照してください。 |
| Azure Automation での PowerShell モジュールの問題。 | このような問題を解決するには、 Automation での Azure PowerShell モジュールの更新に関するページを参照してください。 |
リファレンス
- Azure Automation で Runbook を開始する方法
- PowerShell Runbook
- データベースのプロパティを設定するか、既存のデータベースをエラスティック プールに移動する Set-AzSqlDatabase