共用方式為


執行 .NET 腳本

執行 .NET 腳本活動會執行以 VB.NET、JScript、C# 和 Windows PowerShell 撰寫的腳本。 此活動與 .NET CLR 2.0 版和更新版本相容。 使用 Microsoft System Center - Orchestrator 執行 .NET 腳本活動,以針對可用的 API 執行剖析數據或執行函式的腳本。

設定執行 .NET 腳本活動

設定執行 .NET 文稿活動之前,您需要判斷下列各項:

  • 您要執行的程式代碼。

  • 您想要使用的連結庫。

  • 您想要發佈的數據。

    使用下列資訊來設定執行 .NET 腳本活動。

注意

您無法設定此活動的個別安全性認證。 它會在執行活動實例的 Runbook 伺服器上,針對 Runbook 服務所設定的服務帳戶執行。 此帳戶必須具有存取資源的許可權,並執行此活動所需的動作。

詳細資料索引標籤

設定 設定指示
類型 選取文本語言。 使用省略號按鈕 (...) 來瀏覽語言。
指令碼 輸入將在活動執行時執行的程序代碼。

進階索引標籤

設定 設定指示
Namespace 針對將用於程式代碼中的每個 .NET 命名空間新增命名空間。 這可讓您呼叫程式代碼,而不需針對每個類別使用完整名稱。 Orchestrator 建議將系統命名空間新增至每個執行 .NET 腳本活動。
參考 新增每個元件 (DLL) 參考,其中包含您想要使用的連結庫。 新增位於 Windows\Microsoft.NET\Framework\<.NET 版本>目錄中的System.dll

已發佈資料

新增您想要此活動發佈之已發佈的數據項。 您新增的每個已發佈數據項都可以在數據總線上使用。 請務必判斷已發佈的數據項是否會多重值。 執行 .NET 腳本活動會藉由對齊不同項目,自動相互關聯來自不同專案的多重值數據。 例如,如果您選擇發佈標示為 [名稱 ] 和 [電子郵件 ] 為集合的兩個專案,則 [執行 .NET] 腳本會嘗試將 Name 集合中的每個專案與 Email 集合中的每個專案排列在一起。 如果集合大小不相等,則執行 .NET 腳本活動會為集合建立較少專案的空白值。 下列已發佈的數據表會列出此活動所發行的數據項和對應的描述。

已發佈的數據索引標籤

設定 設定指示
名稱 輸入已發佈數據的名稱。 當其他活動訂閱執行 .NET 腳本活動所發行的數據時,就會顯示這個名稱。
類型 您可以選取 [日期/時間]、 [整數] 或 [字串]。 如果想要的類型無法使用,請選取 [字串]。 使用活動的 ToString 方法,將值指派給這個已發佈的數據。
集合 如果您的數據是多重值數據,請選取 [集合]。 使用集合時,您必須使用 Add 方法將專案新增至集合。 如果您未使用集合,您可以使用指派運算子 (=) 來指派值。
變數名稱 使用唯一命名來確保變數名稱不會與您腳本內的現有變數或 .NET 中可用的類別和關鍵詞發生衝突。 建議您在變數前面加上 OPD_。 例如,如果您想要將變數 命名為 myString,請將它 命名為OPD_myString

執行 .NET 腳本活動會自動為此專案建立 .NET 屬性。 如果此變數是集合,則會使用 List<T 來建立,其中 T> 是您選取的 Type 。 不過,如果不是集合,則會根據您選取的 Type,使用 StringIntegerDate/Time 來建立屬性。

已發佈資料

項目 說明
標準錯誤 執行 .NET 腳本活動所發佈的任何標準錯誤輸出。
命名空間 使用的命名空間。
標準輸出 執行 .NET 腳本活動所發佈的標準輸出。
參考資料 活動中使用的元件。
腳本本文 執行的腳本。
腳本語言 針對腳本選取的語言。

使用執行 .NET 腳本活動執行 64 位 PowerShell Cmdlet

您可以在 Orchestrator Run.Net 腳本 活動中執行 64 位 Windows PowerShell。 使用下列步驟:

  1. 系統活動群組建立執行 .NET 腳本活動。

  2. [詳細數據類型]>,選取 [PowerShell] 作為語言。

  3. [腳本] 中,將 PowerShell 命令括在下列程式代碼中:

    Invoke-Command -ScriptBlock {YOUR CODE} -ComputerName localhost
    
    
  4. 選取 [完成]。

    執行 .NET 腳本活動的螢幕快照。

注意

若要驗證 PowerShell 版本,請在執行 .NET 腳本活動中使用下列腳本,併發佈 64 位和 PowerShell 版本變數。

$Result = Invoke-Command -ComputerName localhost {
$Is64BitProcess = [Environment]::Is64BitProcess
$PSVersion = $PSVersionTable.PSVersion
RETURN $Is64BitProcess, $PSVersion
}

$64bit = $Result[0]
$PSVersion = $Result[1]

檢視 .NET 腳本活動的螢幕快照。