觸發器
在這個部分中:
關於觸發程序
Environment Manager 控制台中的觸發程序代表常見的電腦與使用者事件,例如「啟動」、「登入」以及「工作階段中斷連線」。它們是「原則組態」導覽樹狀目錄中的靜態項目;您無法編輯、移動或是刪除它們。Environment Manager 組態會在與觸發程序有關的事件周圍建立。節點會建立在包含條件與動作的觸發程序內。如此會在觸發程序、條件以及動作之間建立相依性。在觸發程序觸發時,會驗證出現的任何條件,如果條件符合,將會執行動作。
例如:
觸發程序 | 條件 | 操作 |
---|---|---|
電腦啟動 | 電腦 > 電腦 IP 位址 | 檔案和資料夾 > 修改檔案屬性 |
在下面的例子當中,已經將包含條件以及相關動作的「隱藏」節點新增至「啟動」觸發程序。當託管端點開機時,Environment Manager 代理程式會檢查以瞭解 IP 位址是否介於 100.100.100.100 和 123.123.123.123 之間。如果是,Word 文件 Test.docx 會變成一個隱藏檔。如果端點不符合條件,則 Word 文件內容會維持不變。
如果選取,顯示在工作區域中的每個觸發程序會包含兩個索引標籤: 「環境」和「摘要」。「摘要」索引標籤包含觸發程序內容的概述,顯示每個節點、其狀態 (已啟用或已停用) 以及相關動作的數目。
觸發程序屬於「原則組態」導覽樹狀目錄中的兩個固定節點;「電腦」和「使用者」。
電腦觸發程序
觸發程序 | 說明 |
啟動 | 當電腦啟動時執行動作。在協助為組織內所有標準電腦建立一般影像時非常有用。 |
可用網路 | 網路為可用狀態時,動作會執行。對於項目 (例如會執行 AD 查詢的條件) 或是從網路位置複製檔案動作而言會很有用。這些項目可能無法在「啟動」觸發程序中正常運作,因為在那個時間點網路不一定可以使用。 |
關機 | 當電腦關閉時執行動作。 |
處理序已開始 | 當處理序開始時,會執行此觸發程序內的動作。 |
處理序已停止 | 當處理序停止時,會執行此觸發程序內的動作。 |
使用者觸發程序
觸發程序 | 說明 |
---|---|
登入 | 使用者登入系統時,在桌面命令介面啟動之前,動作會生效。 由於智慧卡讀卡機的相容性問題,在使用智慧卡登入時,登入動作將不會執行。這會對 Windows 7 和 Windows 2008 R2 作業系統造成影響。 如需更多資訊,請參閱 Ivanti 使用者社群上面的文章 4747。 |
登入 > 工作階段前 | 終端服務收到登入通知之前,動作會生效。登錄、群組原則和環境動作與此子觸發程序相容。在升級期間,以往在「登入觸發程序」的「環境」索引標籤內的動作將移到此處。 |
登入 > 桌面前 | 使用者登入系統時,在桌面命令介面啟動之前,動作會生效。在升級期間,以往在「登入觸發程序」中的動作將移到此處。 |
登入 > 桌面建立 | 桌面命令介面和總管啟動後,動作會生效。為了提高效率和加快登入時間,應該將任何非重要的登入動作新增到此觸發中,例如對應磁碟機和印表機。 |
登出 | 當使用者登出時,會執行相關動作。Environment Manager 在「群組原則」指令碼以及所有登入後動作完成之後,登出動作將會執行。在被強制登出之後,登入後動作仍然會在任何登出動作之後執行直到完成。 如果使用遠端桌面通訊協定 v6.0,請使用「工作階段中斷連線」觸發程序進行登出動作,因為遠端應用程式程序並不會登出,它會中斷連線。 |
處理序已開始 | 當處理序開始時,會執行此觸發程序內的動作。 如果使用 Environment Manager 和串流應用程式,請參閱串流應用程式。 |
處理序已停止 | 當處理序停止時,會執行此觸發程序內的動作。 |
已連線網路 | 此觸發程序中的動作和條件會在每個實體或虛擬網路介面卡建立連線時執行。如果在組態中定義「個人化伺服器」,在觸發程序觸發時,也會執行「個人化」組態輪詢。在偵測到網路時,觸發程序將會觸發。如果網路被歸類為「不明」,觸發程序將不會觸發。 |
網路已中斷連線 | 此觸發程序中的動作和條件會在每個實體或虛擬網路介面卡中斷連線時執行。如果網路被歸類為「不明」,觸發程序同樣會觸發。例如,這可能是由於網域控制站已經停止運作,或者無線連線超出範圍所導致。 |
工作階段已重新連線 | 當使用者已中斷連線的工作階段重新連線時,會執行此觸發程序內的動作。 |
已中斷工作階段的連線 | 當使用者的即時工作階段中斷連線時,會執行此觸發程序內的動作。 |
工作階段已鎖定 | 當使用者的桌面被鎖定時,會執行此觸發程序內的動作。 |
工作階段已解除鎖定 | 當使用者的桌面解除鎖定時,會執行此觸發程序內的動作。 |
「工作階段已鎖定」和「工作階段已解除鎖定」觸發程序將不會套用至已發布的應用程式。它們只會套用至正在執行應用程式的工作階段。
XenDesktop 連線與向下相容性的觸發程序
對於 Environment Manager 10.1 之前的版本,在使用 XenDesktop 7.8 或是較早的版本時,如果已經登入、中斷連線、重新連線、鎖定和解除鎖定,將會觸發下列觸發程序:
使用者行為 | 實際觸發程序 (RDP) | 實際觸發程序 (ICA) |
---|---|---|
登入 | 登入 | 登入 |
中斷連線 | 中斷連線 | 鎖定 |
重新連線 | 重新連線 | 解除鎖定 |
鎖定 | 鎖定 | 鎖定 |
解除鎖定 | 解除鎖定 | 解除鎖定 |
這是由於當使用者中斷連線然後重新連線時,ICA 工作階段、鎖定和解除鎖定動作已經觸發。在 XenDesktop 7.9 和更新版本中已經更正此行為,但是對於執行較早版本的使用者,Environment Manager 現在可以在 XenDesktop 7.6 - 7.8 環境中偵測中斷連線以及重新連線。根據預設在版本 10.1 組態中會啟用此偵測。在升級較舊的版本組態 (版本 10.0 以及更舊) 時,預設會停用偵測機制。 如果您使用的是 XenDesktop 版本 7.6 - 7.8 包含項目,可以使用「進階設定」中的 IcaSessionConnectionOverride 設定將其覆寫。
如需詳細資訊,請參閱進階組態設定。
登入觸發程序
最新的「登入」觸發程序結構 (包含三個子觸發程序:「工作階段前」、「桌面前」和「桌面建立」) 已在 Environment Manager v8.5 中引入,以取代先前的單一「登入」觸發程序和「環境」索引標籤。為確保回溯相容性,在升級組態時,您可以選取是要使用新的還是舊的登入觸發程序方法。請參閱啟用登入子觸發程序。
處理序開始與停止觸發程序
在「電腦」和「使用者」處理序開始與停止觸發程序內建立頂層節點時,會有不同的行為適用:
- 節點必須套用「處理序名稱」 - 在「處理序開始或停止」觸發程序中新增節點時,會自動顯示「處理序名稱」條件對話方塊。必須為節點指定條件。按「取消」以刪除節點。
- 動作和條件的加入只能透過選取工作區域中的處理序條件來進行。與其他觸發程序不同的是,您不能透過反白導覽樹狀目錄中的觸發程序來加入動作和條件。上述情況的例外是可以透過選取處理序觸發程序加入的其他「處理序名稱」條件。
- 無法從節點內刪除最初的「處理序名稱」條件。若要移除,必須刪除節點。
- 在「處理序名稱」條件中無法停用「失敗時停止」。如果條件失敗,條件內的任何內容都不會執行。
- 可以將任何可重複使用的節點新增至「處理序開始/停止」觸發程序,證明包含的動作與觸發程序相容。
- 將應用程式輸入「符合」欄位時,必須加入副檔名;calc 沒有作用但是 calc.exe 則有。
- 在 8.1 之前,「處理序名稱」條件並不需要套用至「處理序開始/停止」觸發程序。在升級時仍然會建立任何動作與條件,但是在缺少「處理序名稱條件」的情況下,將會為在使用者/電腦工作階段過程中開始的每個處理序執行節點中的所有頂層動作與條件。這可能會對效能產生不利影響。
若要確保效能不受影響,請新增處理序名稱條件以及新增現有的動作和條件。
這些行為不會套用至「處理序開始與停止」條件中建立的子節點。
「電腦」處理序開始與停止觸發程序僅會偵測系統處理序,而「使用者」處理序開始與停止觸發程序僅會偵測使用者處理序。
網路觸發程序
「網路連線」和「網路中斷連線」觸發程序會在每個個別網路介面卡連接或是中斷連接時觸發。
可以在「可用網路」、「網路連線」和「網路中斷連線」觸發程序中使用「工作階段變數」,以決定網路連線的屬性。內建「工作階段變數」會在網路觸發程序期間持續存在,在觸發程序完成執行其所有節點之後,將無法使用該變數。
下列內建的「工作階段變數」可用於「可用網路」觸發程序:
工作階段變數 | 說明 | 範例 |
---|---|---|
Network.Domain | 介面卡的 DNS 尾碼,連線所特有。注意: 此為連線的網域名稱,而非電腦所連結的網域。 | domain.local |
Network.DomainType | 所連線網路的網域類型。可能的值如下: 0 - 已連線至私人網路的工作群組電腦 1 - 已連線至網域網路的工作群組電腦 2 - 已連線至網域網路的已加入網域電腦 |
2 |
Network.Id | 用於唯一識別網路的 GUID。 | {9A445C40-B550-4B79- 8F4F-94475BCB5FCA} |
下列內建的「工作階段變數」可用於「可用網路」、「網路連線」和「網路中斷連線」觸發程序:
工作階段變數 | 說明 | 範例 |
---|---|---|
Network.Domain | 介面卡的 DNS 尾碼,連線所特有。注意: 此為連線的網域名稱,而非電腦所連結的網域。 | domain.local |
Network.DomainType | 所連線網路的網域類型。可能的值如下: 0 - 已連線至私人網路的工作群組電腦 1 - 已連線至網域網路的工作群組電腦 2 - 已連線至網域網路的已加入網域電腦 |
2 |
Network.Id | 用於唯一識別網路的 GUID。 | {9A445C40-B550-4B79- 8F4F-94475BCB5FCA} |
Network.Adapter.BSSID | 存取點的媒體存取控制 (MAC) 位址。 | 6E:DD:3A:91:F2:8D |
Network.Adapter.Description | 網路介面卡的說明。這通常是網路介面卡的製造商或是類型 | Intel(R) 82577LC Gigabit Network Connect |
Network.Adapter.FriendlyName | 網路介面卡的易記名稱 這是在「網路和共用中心」顯示的介面卡名稱。 | 區域連線 |
Network.Adapter.Id | 用於唯一識別網路介面卡的 GUID。 | {F2DD3B93-5BD8-489CA7C7-32E2964AA0D5} |
Network.Adapter.IPv4Address | 網路介面卡的 IPv4 位址 | 192.168.1.1 |
Network.Adapter.IPv4SubnetMask | 速記記法的網路介面卡 IPv6 位址 如果網路並非位於 IPv6 網路,則位址將會是以 "fe80:" 開頭的本機連結位址,而且無法經由路由傳送。 |
255.255.255.0 |
Network.Adapter.IPv6Address | 網路介面卡的 IPv6 首碼長度 | 64 |
Network.Adapter.IsVirtual | 如果網路介面卡是以軟體為基礎,則傳回 True;如果網路介面卡為實體,則傳回 False。 | 真 |
Network.Adapter.IsWireless | 如果網路介面卡是 IEEE 802.11 無線,則傳回 True;如果網路介面卡為有線,則傳回 False。 | 假 |
Network.Adapter.MAC | 網路介面卡的媒體存取控制 (MAC) 位址。 | 3D:C5:DB:AC:46:B6 |
觸發程序環境
在執行包含「環境」動作的組態時,觸發程序「環境」可將效能最佳化。在版本 8.1 之前,環境變數動作會以和其他動作相同的方式新增至節點。當以此方式執行環境變數時,環境重新整理可能會對觸發程序中其他動作的執行產生影響。
在將組態從 8.1 之前的版本升級至 8.1 或是更新版本時,建議將所有環境和工作階段變更新增至需要的觸發程序環境
觸發程序內節點中的環境動作將不會執行或是重新整理,直到該觸發程序中所有其他動作已經執行為止。
除非觸發程序中存在有節點,否則「環境」索引標籤中的動作將不會執行。
觸發程序環境的運作與節點非常類似,可以加入適合觸發程序的任何條件。然而,只有環境動作可被新增;無法選擇所有其他動作。
觸發程序「環境」可用於下列觸發程序:
- 電腦
- 啟動
- 可用網路
- 關機
- 使用者
- 登出
- 已連線網路
- 網路已中斷連線
- 工作階段已重新連線
- 已中斷工作階段的連線
- 工作階段已鎖定
- 工作階段已鎖定
下面的範例顯示「啟動環境」索引標籤,其中包含有一個「環境」動作的條件和三個其他「環境」動作。
設定觸發程序環境
- 在「原則組態」導覽樹狀目錄中,選取觸發程序。
- 選取「環境」索引標籤。
- 選取「條件」索引標籤並且新增任何需要的條件。並非強制使用環境索引標籤中的條件;可以直接新增環境動作。
- 按一下動作 > 環境然後選取需要的動作:
- 設定環境變數
- 附加環境變數
- 刪除環境變數
- 設定工作階段變數
- 刪除工作階段變數