Automation で Azure PowerShell モジュールを更新する

各 Automation アカウントでは、最も一般的な PowerShell モジュールが既定で提供されます。 「既定のモジュール」を参照してください。 Azure のモジュールは Azure チームによって定期的に更新されているため、同梱されるコマンドレットに変更が生じることがあります。 こうした変更 (パラメーター名の変更、コマンドレット全体の非推奨化など) により、Runbook に悪影響が及ぶ可能性があります。

Note

グローバル モジュールを削除することはできません。これらは、Automation で提供されるそのまま利用できるモジュールです。

重要

新しいランタイム環境エクスペリエンスでジョブ実行環境を構成できるようにすると、モジュールとパッケージを管理できます。 新しいエクスペリエンスでは、[モジュール] と [パッケージ] のブレードは使用できません。 モジュールとパッケージを管理するには、「ランタイム環境と関連する Runbook を管理する」を参照してください。

Automation アカウントをセットアップする

Runbook やそれにより自動化されるプロセスに影響を与えないようにするため、更新前にテストと検証を必ず行ってください。 その目的のための専用の Automation アカウントがない場合は、アカウントの作成を検討してください。アカウントを作成すると、Runbook の開発中の多数のさまざまなシナリオについてテストを行うことができます。 このテストで、PowerShell モジュールの更新など、反復的な変更を行ってください。

Automation アカウントのシステム割り当てマネージド ID またはユーザー割り当てマネージド ID が追加されていることを確認してください。

スクリプトをローカルで開発する場合、テスト時に確実に同じ結果が得られるようにするために、Automation アカウントに置いているものと同じバージョンのモジュールをローカルに用意することをお勧めします。 結果を検証し、必要な変更を適用した後、変更を運用環境に移行してください。

Note

新しい Automation アカウントには、最新のモジュールが含まれていない可能性があります。

Az モジュールを更新する

次のセクションでは、ポータル (推奨) または Runbook を使用して Az モジュールを更新する方法について説明します。

ポータルを使用して Az モジュールを更新する

現在、AZ モジュールはポータルからのみ更新できます。 PowerShell と ARM テンプレートからの更新は、今後できるようになる予定です。 次の手順では、既定の Az モジュールのみが更新されます。

  1. Azure portal にサインインし、お使いの Automation アカウントに移動します。

  2. [共有リソース] の下にある [モジュール] を選択します。

  3. [Update Az modules](Az モジュールを更新する) を選択します。

  4. [Module to Update]\(更新するモジュール\) を選択します。 既定では、Az モジュールが表示されます。

  5. ドロップダウン リストから [モジュール バージョン][ランタイム バージョン] を選択します

  6. [更新] を選択し、選択したバージョンに Az モジュールを更新します。 [モジュール] ページでは、次のように一覧を表示できます。

    [Az モジュールを更新する] ページと選択。

Automation アカウントにインポートされた既存の Az モジュールのバージョンよりも下位のバージョンを選択した場合、更新操作で、選択した下位バージョンへのロールバックが実行されます。

更新操作は、[PowerShell モジュール] の下のモジュール一覧に表示されている更新されたモジュールから、モジュールのバージョンと状態のプロパティを確認できます。

Azure チームでは、モジュールのバージョンを定期的に更新しています。ドロップダウン リストからモジュールのバージョンを選択すると、既定の Az モジュールを更新するオプションが提供されます。

Runbook を使用して Az モジュールを更新する

Automation アカウントで Azure モジュールを更新するには、次の操作を実行します。

  1. オープンソースとして利用可能な Update-AutomationAzureModulesForAccount Runbook を使用します。
  2. この Runbook を使用して Azure モジュールを更新する場合は、まず GitHub リポジトリからダウンロードしてください。
  3. それを Automation アカウントにインポートするか、スクリプトとして実行します。 Automation アカウントに Runbook をインポートする方法については、Runbook のインポートに関する記事をご覧ください。

Note

Azure portal を使用して Az モジュールを更新することをお勧めします。 Update-AutomationAzureModulesForAccount スクリプトを使用してこれを実行することもできます。これは、オープンソースとして使用でき、参照として提供されます。 ただし、Runbook でエラーが発生した場合は、必要に応じて Runbook のパラメーターを変更するか、シナリオに従ってスクリプトをデバッグする必要があります。

Update-AutomationAzureModulesForAccount Runbook では、Azure、AzureRM、Az モジュールの更新が既定でサポートされます。 この Runbook による Az.Automation モジュールの更新の詳細については、Azure モジュールの更新 Runbook の README を確認してください。 Automation アカウントで Az モジュールを使用するときに考慮しなければならないその他の重要な要素があります。 詳細については、「Azure Automation でモジュールを管理する」を参照してください。

更新の Runbook コードを通常の PowerShell スクリプトとして使用する

Runbook のコードは、Runbook としてではなく、通常の PowerShell スクリプトとして使用することができます。 そのためには、まず Connect-AzAccount コマンドレットを使用して Azure にサインインし、スクリプトに -Login $false を渡します。

更新の Runbook をソブリン クラウドで使用する

ソブリン クラウドでこの Runbook を使用するには、AzEnvironment パラメーターを使用して、適切な環境を Runbook に渡します。 指定できる値は、AzureCloud (Azure パブリック クラウド)、AzureChinaCloud、AzureGermanCloud、および AzureUSGovernment です。 これらの値は Get-AzEnvironment | select Name を使用して取得できます。 このコマンドレットに値を渡さないと、Runbook は既定で AzureCloud を使用します。

更新の Runbook を使用して特定のモジュールのバージョンを更新する

PowerShell ギャラリーで提供されている最新のモジュールではなく、Azure PowerShell モジュールの特定のバージョンを使用する場合は、それらのバージョンを、Update-AutomationAzureModulesForAccount Runbook の省略可能な ModuleVersionOverrides パラメーターに渡します。 例については、Update-AutomationAzureModulesForAccount.ps1 Runbook をご覧ください。 ModuleVersionOverrides パラメーターで指定されていない Azure PowerShell モジュールは、PowerShell ギャラリーにあるモジュールの最新バージョンで更新されます。 ModuleVersionOverrides パラメーターに何も渡さなかった場合は、すべてのモジュールが、PowerShell ギャラリーにある最新のモジュール バージョンで更新されます。 この動作は、Azure portal の [Azure モジュールの更新] ボタンに相当します。

次のステップ