この記事では、Windows Scripted Actions の使用法、サポートされている機能、重要な考慮事項に関する詳細情報を提供します。Windows Scripted Actions は、指定された制約内で Windows ベースのシステム上でカスタムスクリプトを実行することを可能にし、パラメーター制御のためのさまざまなオプションを提供します。
注記
注: Windows Scripted Actions の実行モデルは v5.3 以降で変更されたため、以前に使用していた Windows Scripted Actions が機能することを確認してください。この変更は REST API にも影響します。"ScriptedActionsIds" フィールドの代わりに、 Windows Scripted Actions のリストを渡す際は "ScriptedActions" を使用してください。ただし、後方互換性のため、従来通り "ScriptedActionsIds" フィールドも使用できますが、パラメーターの受け渡しはできません。
カスタム Windows Scripted Actions オプションのサポートが利用可能です。これにより、特定の設定で Windows スクリプトを実行できます。現在の制限とサポートされているオプションは次のとおりです。
サポートされているプラットフォーム
Windows スクリプトのみがサポートされています。Azure Runbook はサポートされていません。
スクリプト実行モード
スクリプトは、個別モードまたは個別 (再起動あり) モードで実行できます。
クラウド PC
カスタムスクリプトはクラウド PC ではサポートされていません。
Windows Scripted Action Groups
Windows Scripted Action Groups でのスクリプトの使用はサポートされていません。
Windows スクリプトには、保存時に基本的な PowerShell コード検証が含まれています。この機能は、スクリプトのコードが構文的に正しいことを保証し、潜在的な問題を最小限に抑えるのに役立ちます。
Windows Scripted Actions は、それぞれ UI 上に独自のコントロールを持つ、さまざまなパラメーターの型をサポートしています。
ヒント
`bool`, `switch`:チェックボックス
`byte`, `sbyte`, `ushort`, `short`, `int`, `uint`, `long`, `ulong`, `float`, `double`, `decimal`:各タイプの値の範囲を持つ数値入力
`char`、`string`:テキスト入力
`string[]`:複数選択
スクリプトでは、次の属性を使用できます。
ヒント
`DisplayName`
`Description`
`Parameter`
`Mandatory`
`HelpMessage` ("Description" 属性によって上書きされるか、または上書きすることができます)
`ParameterSetName` (現在は Nerdio Manager
`ValidateSet` ("string" 型の場合、テキスト入力を単一選択に置き換えます。"string[]" の場合、利用可能なオプションを設定します)
スクリプトで JSON 表記を使用してパラメーターを定義できます。JSON パラメーター定義の構造は次のとおりです。
ヒント
{
"parameter_name_1": {
"DisplayName": "string",
"Description": "string",
"IsRequired": "bool",
"Type": "string",
"OptionsSet": [
{ "Value":{ "Value": "スクリプトパラメーターに渡される任意の値" },
{ "Value":"Other value"、"Label":"このオプションの表示名(オプション)" }
]
},
"parameter_name_2": { ... }
}
注記
注: すべてのパラメーターおよび JSON 定義自体はオプションです。
既定の変数は、既定で Windows Scripted Actions に渡されます。ただし、カスタムパラメーターを含める場合、これらの変数は ParameterSetName を使用して定義する必要があります。そうしないと、スクリプトアクションに含まれてしまいます。
組み込みの Nerdio Manager
-
"param" ブロックを省略すると、古い動作が適用され、自動的に組み込みパラメーターがスクリプトに渡されます。
-
"param" ブロックに必須の組み込みパラメーター、適切な名前 (ツールチップに記載されているとおりのもの) と型 (ほとんどの場合は "string"、`$SecureVars` の場合は "object") で追加し、`ParameterSetName = "NME_PARAMETER"` を指定します。
例:
ここでは、パラメーターは UI では非表示ですが、 Nerdio Manager
ヒント
param (
[Parameter(ParameterSetName="NME_PARAMETER")]
[string] $AzureRegionName
)
さまざまなシナリオで Windows Scripted Actions の正しい動作を確認してください。
-
ホストで Windows Scripted Actions を実行します。
-
ホストで一括して Windows Scripted Actions を実行します。
-
電源をオフにしてイメージとして設定します。
-
デスクトップイメージで Windows Scripted Actions を実行します。
-
ライブラリからデスクトップイメージを作成します。
-
VM からデスクトップイメージを作成します。
-
デスクトップイメージをクローン作成します。
-
ホストプールのプロパティ -> [VM 展開] タブ。
コメント (0件のコメント)