.NET スクリプトを実行する
.NET スクリプトの実行アクティビティは、VB.NET、JScript、C#、および Windows PowerShell で記述されたスクリプトを実行します。 このアクティビティは、.NET CLR バージョン 2.0 以降と互換性があります。 Microsoft System Center - Orchestrator の .NET スクリプトの実行アクティビティを使用して、データを解析するスクリプトを実行するか、使用可能な API に対して関数を実行します。
.NET スクリプトの実行アクティビティを構成する
.NET スクリプトの実行アクティビティを構成する前に、次の内容を確認する必要があります。
実行するコード。
使用するライブラリ。
発行するデータ。
.NET スクリプトの実行アクティビティを構成するには、次の情報を使用します。
Note
このアクティビティの個々のセキュリティ資格情報を設定することはできません。 アクティビティのインスタンスが実行されている Runbook サーバー上の Runbook サービス用に構成されたサービス アカウントで実行されます。 このアカウントには、リソースにアクセスし、このアクティビティに必要なアクションを実行する権限が必要です。
[詳細] タブ
設定 | 構成の手順 |
---|---|
Type | スクリプト言語を選択します。 省略記号ボタン (...) を使用して言語を参照します。 |
スクリプト | アクティビティの実行時に実行されるコードを入力します。 |
[詳細設定] タブ
設定 | 構成の手順 |
---|---|
名前空間 | コード内で使用される各 .NET 名前空間の名前空間を追加します。 これにより、各クラスの完全修飾名を使用せずにコードを呼び出すことができます。 オーケストレーターでは、すべての .NET スクリプトの実行アクティビティに System 名前空間を追加することをお勧めします。 |
参考文献 | 使用するライブラリを含む各アセンブリ (DLL) 参照を追加します。 Windows\Microsoft.NET\Framework\<.NET バージョン> ディレクトリにあるSystem.dllを追加します。 |
公開データ
このアクティビティを発行するパブリッシュ済みデータ項目を追加します。 追加するすべてのパブリッシュ済みデータ項目は、Data Bus で使用できます。 パブリッシュされたデータ項目が複数値になるかどうかを判断することが重要です。 .NET スクリプトの実行アクティビティでは、さまざまな項目の複数値データを配置することによって自動的に関連付けられます。 たとえば、 Name と Email というラベルの付いた 2 つのアイテムをコレクションとして発行する場合、.NET の実行スクリプトは、名前コレクション内の各項目を電子メール コレクション内の各項目に並べて表示しようとします。 コレクションのサイズが等しくない場合は、.NET スクリプトの実行アクティビティによって、項目が少ないコレクションの空白値が作成されます。 次の発行済みデータ テーブルには、データ項目と、このアクティビティによって発行された対応する説明が一覧表示されます。
[発行済みデータ] タブ
設定 | 構成の手順 |
---|---|
名前 | パブリッシュされたデータの Name を入力します。 これは、他のアクティビティが .NET スクリプトの実行アクティビティによって発行されたデータをサブスクライブするときに表示される名前です。 |
Type | Date/Time、Integer、または String を選択できます。 目的の型が使用できない場合は、 String を選択します。 アクティビティの ToString メソッドを使用して、このパブリッシュされたデータに値を割り当てます。 |
コレクション | データが複数値のデータの場合は、 Collection を選択します。 コレクションを使用する場合は、 Add メソッドを使用してコレクションに項目を追加する必要があります。 コレクションを使用していない場合は、代入演算子 (=) を使用して値を割り当てることができます。 |
変数名 | 一意の名前付けを使用して、変数名がスクリプト内の既存の変数や、.NET で使用できるクラスとキーワードと競合しないようにします。 変数の前に OPD_を付けすることをお勧めします。 たとえば、変数に myStringという名前を付ける場合は、 OPD_myString名前を付けます。 .NET スクリプトの実行アクティビティでは、この項目の .NET プロパティが自動的に作成されます。 この変数がコレクションの場合は、List<T> を使用して作成されます。ここで、T は選択した Type です。 ただし、コレクションでない場合は、選択した Type に基づいて、プロパティは String、Integer、または Date/Time を使用して作成されます。 |
公開データ
アイテム | 説明 |
---|---|
標準エラー | .NET スクリプトの実行アクティビティによって発行された標準エラー出力。 |
名前空間 | 使用される名前空間。 |
標準出力 | .NET スクリプトの実行アクティビティによって発行された標準出力。 |
関連情報 | アクティビティで使用されるアセンブリ。 |
スクリプト本文 | 実行されたスクリプト。 |
スクリプトの言語 | スクリプト用に選択された言語。 |
.NET スクリプトの実行アクティビティを使用して 64 ビット PowerShell コマンドレットを実行する
Orchestrator Run.Net Script アクティビティで 64 ビット Windows PowerShell を実行できます。 次の手順に従います。
System アクティビティ グループから .NET スクリプトの実行アクティビティを作成。
Details>Type で、言語として PowerShell を選択します。
Script で、PowerShell コマンドを次のコードで囲みます。
Invoke-Command -ScriptBlock {YOUR CODE} -ComputerName localhost
完了 を選択します。
Note
PowerShell のバージョンを確認するには、 Run .NET Script アクティビティで次のスクリプトを使用し、64 ビットおよび PowerShell バージョン変数を発行します。
$Result = Invoke-Command -ComputerName localhost {
$Is64BitProcess = [Environment]::Is64BitProcess
$PSVersion = $PSVersionTable.PSVersion
RETURN $Is64BitProcess, $PSVersion
}
$64bit = $Result[0]
$PSVersion = $Result[1]