Scripted Actionsの概要

Scripted Actionsの概要

Scripted Actionsは、Windows VMまたはAzure Automation アカウントのコンテキストで実行されるPowerShellスクリプトです。Scripted Actionsは、Nerdio Managerの機能を拡張およびカスタマイズするために使用できます。Nerdio Managerは、PowerShellコードで使用できる$VMNameなどのいくつかのあらかじめ入力された変数を提供します。

Nerdio Managerには、多くのすぐに使えるScripted Actionsが含まれています。さらに、スクリプトはNerdio Managerの管理者によって作成およびカスタマイズできます。それらは、Nerdio Managerの自動化のさまざまなステージで適用できます。たとえば、仮想マシンが作成、シャットダウン、または削除されるときです。スケジュールに基づいてアクションを適用したり、デスクトップイメージに適用したり、その他のことができます。

Nerdio Managerは、2種類のScripted Actionsを使用します:

Scripted Actionsは、AzureまたはAVD仮想マシンで実行できるPowerShellスクリプトのライブラリとして機能し、Nerdio Managerによって実行されるさまざまなタスクのための含まれるステップとして使用されます。

新しいScripted Actionsを作成する

新しいScripted Actionsを作成するには:

  1. Automation > Scripted Actionsに移動します。

  2. Windows スクリプトまたはAzure Runbooksのいずれかを選択します。

  3. Scripted Actionsの追加を選択します。

  4. 次の情報を入力してください:

    • 名前:スクリプトの名前を入力します。この名前は、利用可能な Scripted Actions のリストからこのアクションを選択したときに表示されます。

    • 説明: スクリプトの説明を入力してください。

    • タグ: ドロップダウンリストからスクリプトのオプションタグを選択してください。これらのタグは、検索と整理に使用されます。

    • スクリプト実行モード: ドロップダウンリストからスクリプトの実行モードを選択してください。

      注意: このパラメータは、Nerdio Managerが Scripted Actions をVMに渡すときの動作を決定します。Nerdio Managerは、最終的にPowerShellコマンドを実行するためにAzureカスタムスクリプト拡張機能を使用します(Windows用の Scripted Actions に関する詳細は、Windows用カスタムスクリプトを参照してください)。拡張機能は、Nerdio Managerが Windows Scripted Action を実行するたびにインストールおよび削除する必要があります。オプションとして、PowerShellスクリプトは、互いに干渉しない場合に限り、単一の実行で組み合わせて渡すことができ、時間を節約できます。

      • 結合: スクリプトを他のスクリプトと安全に結合できるものとしてマークします。例えば、レジストリ値を追加するスクリプトです。

      • 個別: 単独で実行する必要があるアクションのためのスタンドアロンスクリプトです。例えば、他のスクリプトと競合する可能性のある一般的に使用される変数名を持つ長いスクリプトや、新しいPowerShellセッションを必要とするスクリプトです。

      • 再起動付き個別: Windowsスクリプトの場合、スクリプトをスタンドアロンモードで実行し、完了時に再起動を行います。

      • 実行タイムアウト: 個別モードのAzure Runbookの場合、Scripted Actions の実行タイムアウト(分単位)を入力してください。

    • クラウド PC を有効にする: オプションで、Windows スクリプトの場合、このオプションをオンにしてクラウド PC スクリプトポリシーを作成します。

      • ログイン中の認証情報を使用してこのスクリプトを実行する: クライアントコンピュータ上でユーザーの認証情報を使用してスクリプトを実行するためにこのオプションを選択します。既定では、スクリプトはシステムコンテキストで実行されます。

      • スクリプト署名チェックを適用する: スクリプトが信頼できる発行者によって署名されている必要があることを適用するためにこのオプションを選択します。既定では、警告やプロンプトは表示されず、スクリプトはブロックされずに実行されます。

      • 64 ビット PowerShell ホストでスクリプトを実行する: このオプションを選択すると、64 ビット クライアントアーキテクチャ用の 64 ビット PowerShell ホストでスクリプトを実行します。

      • すべてのユーザーにアサインする: このオプションを選択すると、スクリプトをすべてのユーザーにアサインします。

      • すべてのデバイスにアサインする: このオプションを選択すると、スクリプトをすべてのデバイスにアサインします。

      • 選択したグループにアサインする: ドロップダウンリストから、このスクリプトをアサインするグループを選択します。

      • アサインを除外する: ドロップダウンリストから、このスクリプトを除外するグループを選択します。

    • スクリプト: 実行する PowerShell コマンドを入力します。

      注意: Nerdio Managerは、Azure Runbooks の Scripted Actions に変数を統合できるようにします。詳細については、Scripted Actions:Azure Runbookの変数統合を参照してください。

      注意: このコードで使用する Cmdlet は、VMまたはAzure Automationアカウントで利用できる必要があります。Windows VMまたはAzure Automationアカウントにデフォルトで存在しないモジュールのPowerShell cmdletを使用する場合、最初にモジュールをインストールする必要があります。

      Nerdioは、スクリプトコードで使用できるあらかじめ入力済みの変数を提供します。利用可能な変数は次のとおりです:

      • $HostPoolId (スクリプトがホストプールに関連付けられている場合に利用可能)

      • $HostPoolName (スクリプトがホストプールに関連付けられている場合に利用可能)

      • $AzureSubscriptionId

      • $AzureSubscriptionName

      • $AzureResourceGroupName

      • $AzureRegionName

      • $AzureVMName (スクリプトがVMに関連付けられている場合に利用可能)

      • $ADUsername (AD資格情報を渡す場合)

      • $ADPassword (AD資格情報を渡す場合)

      • $DesktopUser (スクリプトが個人用ホストプールに関連付けられている場合に利用可能)

      ヒント: VSCodeやISEなどのIDEを使用してコードを開発することをお勧めします。次に、専用の開発セッションホスト/Azure VMでPowerShellコードをテストします。

  5. すべての必要な情報を入力したら、保存して閉じるを選択します。

既存のScripted Actionsを表示および編集します。

Nerdio Managerを使用すると、既存のScripted Actionsを表示または編集できます。

既存のScripted Actionsを表示および編集するには:

  1. Automation > Scripted Actionsに移動します。

  2. Windows スクリプトまたはAzure Runbookのいずれかを選択します。

  3. 作業したいScripted Actionsを見つけて、編集するを選択します。

  4. 必要に応じて、必要な変更を行い、保存して閉じるを選択します。

Scripted Actionsを複製します。

Nerdio Managerを使用すると、Scripted Actionsを複製できます。

Scripted Actionsを複製するには:

  1. Automation > Scripted Actionsに移動します。

  2. Windows スクリプトまたはAzure Runbookのいずれかを選択します。

  3. 複製したい Scripted Actions を見つけて、アクションメニューから複製を選択します。

  4. 必要な変更をすべて行い、複製を選択します。

スクリプト化されたアクショングループ

Scripted Actions Groupsは、管理者がスクリプトコレクションを作成し、標準展開タスク中にこれらを割り当てます。詳細については、スクリプト化されたアクショングループを参照してください。

Scripted Actionsを適用します。

Scripted Actionsは、次のタスクの一部として使用できます:

  • VMライフサイクルイベント:セッションホストVMのプロビジョニングまたは再イメージ中、またはVMが停止または開始されるときに実行されます。セッションホストが作成、破棄、停止、または開始されるたびに、Scripted Actionsが最終ステップとして実行されます。ホストの再イメージに関する詳細は、ホストプールのサイズ変更または再イメージ化を参照してください。

  • スクリプトを実行:ホストプールに対して手動でコマンドを実行します。これは、すべてのセッションホストを完全に再イメージせずに変更する必要がある場合に便利です(例として、レジストリキーを変更するスクリプトなど)。詳細については、一括ホストスクリプトアクションの実行を参照してください。

構成された Scripted Actions をAVDホストVMライフサイクルイベントに適用するには:

  1. 作業したいホストプールを特定してください。

  2. アクションメニューから、プロパティ > VMデプロイメントを選択します。

  3. 希望するScripted Actions を実行する…オプションをオンにします。

  4. 各オプションについて、次の情報を入力してください:

    • スクリプト:ドロップダウンリストから実行するスクリプトを選択してください。

    • Scripted Actions の入力パラメータ:必要に応じて、必要なパラメータを入力してください。

    • AD資格情報を渡す:このオプションを選択して、スクリプトにAD資格情報を変数として渡してください。

    • AD資格情報:ドロップダウンリストから渡すAD資格情報を選択してください。

  5. すべての必要な情報を入力したら、保存して閉じるを選択してください。

    Scripted Actionsは、このホストプールの Scripted Actions のリストに追加されます。

警告: 一部の自動化では、必要なアクションをVM自体の外、Azure内で実行する必要があります。これらのコマンドは、Azure PowerShellモジュールがインストールされたセッションホストVMで実行できますが、AzureをターゲットとするセッションホストVMでスクリプトを実行することは効率が悪く、信頼性が低くなる可能性があります。Azure Automationは一貫した実行を可能にし、Nerdio Managerが自身としてスクリプトを実行できるようにします。一部のスクリプトは、VMを再起動またはシャットダウンする必要があるため、セッションホストVMでは実行できません。

Azureスクリプトのトラブルシューティングに関する情報は、スクリプトのトラブルシューティングを参照してください。

ホストプールで「Run Script」オプションを使用してスクリプトアクション(Scripted Actions)を実行するには:

  1. 作業したいホストプールを特定してください。

  2. アクションメニューから、ホスト > Run Script を選択します。

  3. 次の情報を入力してください:

    • すべてのVMで次のスクリプトアクションを実行する...:ドロップダウンリストから適用したいスクリプトアクションを選択します。

    • スクリプトアクションの入力パラメータ:必要に応じて、必須のパラメータを入力してください。

    • AD資格情報を渡す:このオプションを選択してAD資格情報を渡します。
    • AD資格情報:ドロップダウンリストから渡すAD資格情報を選択します。

    • スクリプトアクション後にVMを再起動する: スクリプト実行後にVMを再起動するオプションを選択します。スクリプトがコンピュータを再起動する場合、カスタムスクリプト拡張機能が失敗するため、このオプションを使用することが望ましいです。

    • ホストをのグループで処理する: この一括操作で実行する同時実行アクションの数を入力してください。

    • 中止する前の失敗の数: この処理を停止させる失敗の数を入力してください。

    • スケジュール: スケジュールをオンにして、スケジュール情報を入力し、スクリプトをスケジュールに従って実行できるようにします。

    • メッセージング: アクティブなユーザーにメッセージを送信するため、メッセージングをオンにします。

      • 遅延: ドロップダウンリストから、メッセージ送信後に処理を開始するまでの待機時間(分)を選択してください。

      • メッセージ: ユーザーに送信したいメッセージを入力します。

  4. 必要な情報をすべて入力したら、保存して閉じるを選択します。

関連トピック

ホストプールのサイズ変更または再イメージ化

一括ホストスクリプトアクションの実行

Windows スクリプト用 Scripted Actions

Azure Runbooks のスクリプト化されたアクション

スクリプトのトラブルシューティング

この記事は役に立ちましたか?

0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

コメント (0件のコメント)

サインインしてコメントを残してください。