自訂條件

在這個部分中:

關於自訂條件

使用自訂條件透過 PowerShell、Visual Basic 或 Java Script 來建立、匯入及匯出條件。可使用自訂條件來配合不屬於 Environment Manager 控制台標準條件的狀況。例如,檢查 Windows 防火牆是否開啟。

這些指令碼保留在 AEMP 組態中,在執行階段複製到磁碟,然後被執行,在執行完成後被刪除。您可以匯入和匯出指令碼以重複使用。

大型的指令碼和大量的指令碼會增加 AEMP 組態的大小,這會影響將組態部署至端點所需要的時間,也會影響組態執行時間。
建議不要在登入觸發程序上使用採用 PowerShell 指令碼的自訂條件,因為執行這些指令碼會導致登入時間變慢。

由於自訂條件指令碼會以批次模式執行,因此不會顯示任何提示或訊息方塊,指令碼也會逾時而不執行。為了確保條件指令碼可正確執行,請在指令碼中移除任何提示或訊息方塊或去除其註解。

自訂條件可套用在電腦和使用者觸發程序上。

離開代碼

所有自訂指令碼都必須指定離開代碼,當傳回此代碼時,Environment Manager 代理程式會使用它來判斷指令碼成功或失敗。若指令碼不含離開代碼,代理程式會將其視為成功 (0 值)。每個指令碼類型都必須使用特定結束陳述式。

語言 結束陳述式
VBScript WScript.Quit [value]
JScript WScript.Quit([value])
PowerShell exit ([value])

以指令碼的離開代碼取代 [value]: 0 為成功,1 為失敗。例如: WScript.Quit 0、WScript.Quit(0)、exit (0)。

PowerShell 指令碼

Windows PowerShell 指令碼會使用各種執行原則以阻止指令碼執行,或僅允許受信任發行者簽署的指令碼執行。Environment Manager 會覆寫執行原則並略過任何限制,使 PowerShell 指令碼得以執行。

您也可以透過「群組原則」設定使用者和電腦的執行原則以覆寫所有的 PowerShell 執行原則。不允許任何指令碼 (或僅允許已簽署的指令碼) 的使用者原則並不會影響任何以系統身分執行的 PowerShell 自訂條件。不過,若以目前的使用者身分執行,使用者原則將不會允許指令碼,自訂條件也會失敗。不允許任何指令碼 (或僅允許已簽署的指令碼) 的電腦原則將不允許執行任何 PowerShell 自訂條件。

因此,若要成功執行使用 PowerShell 的自訂條件,您的「群組原則」必須設為允許為使用者和電腦執行這些指令碼。

Environment Manager 相容於 PowerShell 版本 1.0、2.0 和 3.0。

建立自訂條件

  1. 在「原則組態」導覽樹狀目錄中,選取要新增條件的節點或觸發程序。這可以是:
    • 新節點
    • 現有節點
    • 觸發程序的「環境」索引標籤
  2. 在「條件」功能區中,選取自訂以顯示「自訂條件」對話方塊。
  3. 選取指令碼類型: PowerShellVBScriptJScript
  4. 設定允許執行的時間。這是指令碼終止之前的秒數。將值設為 0 或將欄位保留空白可給予指令碼無限時間直到完成。

    自訂指令碼條件會覆寫預設節點和條件逾時。

  5. 按一下選項下拉式清單並依需要設定下列選項:
    • 每個工作階段評估一次 - 選取此選項以於工作階段期間執行條件一次並快取結果。否則,每次在組態中呼叫時都會評估條件。
    • 以系統使用者身分執行 - 選取此選項,使指令碼能夠使用目前登入之使用者無法存取的功能。就使用者觸發程序來說,若未選取此選項,指令碼便會在已登入使用者環境中執行。
  6. 使用下列其中一種方法來輸入指令碼:
    • 直接輸入至欄位內
    • 從其他位置拖放或複製並貼上。
    • 按一下匯入按鈕,並在指令碼欄位內選取要開啟並使用的檔案。

    工作階段變數可以從「插入」功能表新增至指令碼。下拉式清單包含了所有使用者定義的工作階段變數及下列內建變數:

    • SessionID - 目前工作階段 ID
    • UserSID - 使用者的安全性識別碼
    • UserTemp - 使用者的暫存目錄的位置
  7. 在「網路可使用」、「網路已連線」與「網路已中斷連線」觸發程序上,可新增更多內建的工作階段變數至指令碼以判斷連線屬性。無法修正或刪除這些內建的工作階段變數。
  8. 按一下確定以儲存指令碼。

當觸發時,指令碼會執行至完成為止,偵錯記錄檔案中也會詳細說明成功或失敗的結果。

逾時的自訂指令碼會被歸類為失敗,且不會執行任何子節點及其相關聯的動作。

匯出自訂指令碼

您可以在「自訂動作」對話方塊中匯出及儲存指令碼,並將其匯入其他條件和組態。

  1. 開啟自訂條件。
  2. 按一下匯出按鈕 匯出自訂條件按鈕 並選取儲存 PowerShell、VBS 或 JS 檔案的位置。
  3. 按一下儲存以完成匯出。

相關主題