SMS_Program Server WMI 類別

SMS_Program Windows Management Instrumentation (WMI) 類別是 Configuration Manager 的 SMS 提供者伺服器類別,代表軟體發佈到用戶端電腦時要執行的程式或命令。

下列語法是從 MOF) 程式碼 (Managed Object Format 簡化而來,並包含所有繼承的屬性。

語法

Class SMS_Program : SMS_BaseClass
{
     UInt32 ActionInProgress;
     String ApplicationHierarchy;
     String CommandLine;
     String Comment;
     String DependentProgram;
     String Description;
     UInt32 DeviceFlags;
     String DiskSpaceReq;
     String DriveLetter;
     UInt32 Duration;
     UInt8 ExtendedData[];
     UInt32 ExtendedDataSize;
     UInt8 Icon[];
     UInt32 IconSize;
     UInt8 ISVData[];
     UInt32 ISVDataSize;
     String ISVString;
     String MSIFilePath
     String MSIProductID
     String PackageID;
     String PackageName
     UInt32 PackageType
     String PackageVersion
     UInt32 ProgramFlags;
     String ProgramName;
     String RemovalKey;
     String Requirements;
     UInt32 SecuredTypeID
     SMS_OS_Details SupportedOperatingSystems[];
     UInt32   TransformReadiness=0;
     Datetime TransformAnalysisDate;
     String   TransformDtID;
     String WorkingDirectory;
};

方法

SMS_Program該類別未定義任何方法。

屬性

ActionInProgress 資料類型: UInt32

存取類型:唯讀

限定詞:[read, enumeration]

Configuration Manager 正在對與程式相關聯的套件執行目前動作。 可能的值為:

值 描述
0 NONE
1 UPDATE
2 新增
3 刪除

在 WHERE 子句中使用此屬性,以篩選出已標示為要刪除但尚未刪除的程式。 如需詳細資訊,請參閱本主題稍後的 [註解] 一節。

ApplicationHierarchy 資料類型: String

存取類型:讀取/寫入

限定詞:無

程式的應用程式階層。 預設值為 “”。

CommandLine 資料類型: String

存取類型:讀取/寫入

限定詞:無

程式啟動時執行的命令列。 預設值為 “”。

Comment 資料類型: String

存取類型:讀取/寫入

限定詞:無

說明 Configuration Manager 主控台中程式的註解。 預設值為 “”。

DependentProgram 資料類型: String

存取類型:讀取/寫入

限定詞:無

格式化的文字字串,定義在執行此程式之前應該執行的任何程式。 格式定義為 <PackageID>;;<ProgramName>。 如果程式在同一套件中,呼叫應用程式可以簡單地指定;;<ProgramName>。 預設值為 “”。

只有在程式第一次執行時才會維護相依性。 程式執行之後,將忽略相依性。 例如,您無法建立定期排程作業,讓每次程式執行都會維護相依性。

Description 資料類型: String

存取類型:讀取/寫入

限定詞:無

不會使用。

DeviceFlags 資料類型: UInt32

存取類型:讀取/寫入

限定詞:無

旗標,描述與程式相關聯的裝置。 可能的值為:

十六進位 (位元) 描述
0x01000000 (24) 一律將程式指派給用戶端。
0x02000000 (25) 只有在裝置目前連線到高頻寬連線時才指派, (預設值高於 60 KBps) 。
0x04000000 (26) 只有在裝置已停駐,亦即已連結至使用 ActiveSync 的桌面時,才進行指派。

DiskSpaceReq 資料類型: String

存取類型:讀取/寫入

限定詞:無

程式所需的預估磁碟空間。 格式為「<大小><KB|MB|GB>」。 預設值為 “”。

這項資訊會在 Configuration Manager 主控台和公告中使用,以提供程式磁碟空間需求相關警示。 然後,使用者可以決定接受公告或先執行某些磁碟管理工作。

DriveLetter 資料類型: String

存取類型:讀取/寫入

限定詞:[SizeLimit (“1”) ,範圍 (“a-z”) ]

磁碟機代號 (程式對應並執行的 a-z) 範圍內的一個字元。 預設值為 “”。

Duration 資料類型: UInt32

存取類型:讀取/寫入

限定詞:無

用戶端電腦上程式執行的大約持續時間,以分鐘為單位。 將此值指定為大於或等於 0 的整數 (預設) 或指定為未知 (不建議) 。 如果屬性設為 [未知],Configuration Manager 會將允許的執行時間上限設定為 720 分鐘 (12 小時) 。 如需詳細資訊,請參閱本主題稍後的 [註解] 一節。

注意事項

在用戶端電腦上,已發佈程式的指定值會顯示Run Advertised Programs在 控制台。

ExtendedData 資料類型: UInt8 陣列

存取類型:讀取/寫入

限定詞:[大、懶人]

用於映像部署的 XML blob。

ExtendedDataSize 資料類型: UInt32

存取類型:讀取/寫入

限定詞:[lazy]

延伸的資料大小,以位元組為單位。 預設值為 0。

Icon 資料類型: UInt8 陣列

存取類型:讀取/寫入

限定詞:[大]

與程式圖示相關聯的圖示資訊,顯示在 Configuration Manager 主控台中。

IconSize 資料類型: UInt32

存取類型:讀取/寫入

限定詞:[lazy]

程式圖示的大小,以位元組為單位。 將此屬性設定為 0 可清除圖示。

ISVData 資料類型: UInt8 陣列

存取類型:讀取/寫入

限定詞:[大、懶人]

允許單一 ISV 儲存與物件相關 SMS_Program 資料的資訊。

ISV 資料沒有任何限制或定義的格式。 不過,在建立 ISV 擁有權之後,請務必不要覆寫屬性。 您的應用程式應先讀取此屬性中的現有資料。 如果資料不屬於應用程式,則不應修改。 您應該在程式的資料中包含識別碼,以便輕鬆建立擁有權。

ISVDataSize 資料類型: UInt32

存取類型:讀取/寫入

限定詞:[lazy]

儲存在 中的 ISVData資料大小,以位元組為單位。 預設值為 0。

ISVString 資料類型: String

存取類型:讀取/寫入

限定詞:無

合作夥伴擴充性的字串。

MSIFilePath 資料類型: String

存取類型:讀取/寫入

限定詞:無

與程式相關聯的 Windows Installer 套件的檔案路徑。 預設值為 “”。

MSIProductID 資料類型: String

存取類型:讀取/寫入

限定詞:無

與程式相關聯之 Windows Installer 套件的產品識別碼。 預設值為 “”。

PackageID 資料類型: String

存取類型:讀取/寫入

限定詞:[key, Not_null]

要與程式建立關聯的現有套件的 ID。 如需詳細資訊,請參閱本主題稍後的 [註解] 一節。

PackageName 資料類型: String

存取類型:讀取/寫入

限定詞:[無]

程式所屬套件的名稱。

PackageType 資料類型: String

存取類型:讀取/寫入

限定詞:[無]

程式所屬的套件類型。

值 描述
0 一般軟體發佈套件。
3 驅動程式套件。
4 任務序列套件。
5 軟體更新套件。
6 裝置設定套件。
257 映像套件。
258 開機映像套件。
259 作業系統安裝套件。

PackageVersion 資料類型: String

存取類型:讀取/寫入

限定詞:[無]

程式所屬的套件版本。

ProgramFlags 資料類型: UInt32

存取類型:讀取/寫入

限定詞:[位元]

旗標,識別程式的安裝特性。 下面列出可能的值。 預設值為 EVERYUSER、USEUNCPATH、USERCONTEXT 和 UNATTENDED。

注意事項

以程式設計方式使用 SMS_Program 時,請確定未選取任何衝突的值。 例如,NOUSERLOGGEDIN 和 USERCONTEXT 不應一起使用。

可能的值為:

十六進位 (位元) 描述
0x00000001 (0) AUTHORIZED_DYNAMIC_INSTALL。 該程式已獲得動態安裝授權。
0x00000002 (1) USECUSTOMPROGRESSMSG。 工作順序會顯示自訂進度使用者介面訊息。
0x00000010 (4) DEFAULT_PROGRAM。 這是預設程式
0x00000020 (5) DISABLEMOMALERTONRUNNING。 程式執行時停用 MOM 警示。
0x00000040 (6) MOMALERTONFAIL。 如果程式失敗,會產生 MOM 警示。
0x00000080 (7) RUN_DEPENDANT_ALWAYS。 如果已設定,則應一律執行此程式的直接相依資料庫。
0x00000100 (8) WINDOWS_CE。 指出裝置程式。 如果已設定,則不會將程式提供給桌面用戶端。
0x00000200 (9) 不會使用此值。
0x00000400 (10) 倒數計時。 倒數對話方塊不會顯示。
0x00000800 (11) FORCERERUN。 不會使用此值。
0x00001000 (12) 已停用。 程式已停用。
0x00002000 (13) 無人值守。 該程序不需要用戶互動。
0x00004000 (14) USERCONTEXT。 程式只能在使用者登入時執行。
0x00008000 (15) 管理員權限。 該程式必須以本機管理員帳戶身份執行。
0x00010000 (16) EVERYUSER。 程式必須由其有效的每個使用者執行。 僅適用於強制性工作。
0x00020000 (17) NOUSERLOGGEDIN。 只有在沒有使用者登入時,才會執行程式。
0x00040000 (18) OKTOQUIT。 程式會重新啟動電腦。
0x00080000 (19) OKTOREBOOT。 當程式成功執行時,Configuration Manager 會重新啟動電腦。
0x00100000 (20) USEUNCPATH。 使用 UNC 路徑 (沒有磁碟機代號) 來存取發佈點。
0x00200000 (21) PERSISTCONNECTION。 會持續連線至 DriveLetter 屬性中指定的磁碟機。 不得設定 USEUNCPATH 位元旗標。
0x00400000 (22) RUNMINIMIZED。 以最小化視窗執行程式。
0x00800000 (23) RUNMAXIMIZED。 將程式作為最大化視窗執行。
x01000000 (24) HIDEWINDOW。 隱藏程式視窗。
0x02000000 (25) OKTOLOGOFF。 程式成功完成時登出使用者。
0x04000000 (26) RUNACCOUNT。 不會使用此值。
0x08000000 (27) ANY_PLATFORM。 覆寫檢查平台支援。
0x10000000 (28) STILL_RUNNING。 不會使用此值。
0x20000000 (29) SUPPORT_UNINSTALL。 當廣告到期時,從登錄機碼執行解除安裝。
0x40000000 (30) 不支援該平台。
0x80000000 (31) SHOW_IN_ARP。 不會使用此值。

ProgramName 資料類型: String

存取類型:讀取/寫入

限定詞:[key, Not_null]

代表此程式的唯一名稱。

RemovalKey 資料類型: String

存取類型:讀取/寫入

限定詞:無

登錄機碼,用於識別程式的解除安裝指令碼。 指令碼必須位於登錄路徑中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 。 預設值為 “”。

Requirements 資料類型: String

存取類型:讀取/寫入

限定詞:無

說明計畫的任何額外需求。 預設值為 “”。

SecuredTypeID 資料類型: UInt32

存取類型:讀取/寫入

限定詞:[無]

相關套件的安全類型。

SupportedOperatingSystems 資料類型: SMS_OS_Details 陣列

存取類型:讀取/寫入

限定詞:[lazy]

SMS_OS_Details 伺服器 WMI 類別 物件,代表程式可以執行的作業系統。

如果未在 ProgramFlags 屬性中指定ANY_PLATFORM,則必須指定一或多個支援的作業系統。 SMS_SupportedPlatforms Server WMI 類別定義Configuration Manager支援的平台清單。

TransformAnalysisDate 資料類型: DateTime

存取類型:讀取/寫入

限定詞:[無]

僅限內部使用。

TransformDtID 資料類型: String

存取類型:讀取/寫入

限定詞:[無]

僅限內部使用。

TransformReadiness 資料類型: UInt32

存取類型:讀取/寫入

限定詞:[無]

僅限內部使用。

WorkingDirectory 資料類型: String

存取類型:讀取/寫入

限定詞:無

程式執行的位置。 預設值為 “”。

工作目錄可以是用戶端上的絕對路徑,也可以是相對於包含套件之發佈點資料夾的路徑。 如果未指定工作目錄,Configuration Manager 會使用預設的發佈點資料夾。

註解

此類別沒有特殊的類別限定詞。 如需 [屬性] 區段中包含的類別限定詞和屬性限定詞的詳細資訊,請參閱 Configuration Manager 類別和屬性限定詞。

程式一律與父套件相關聯,通常代表套件的安裝程式。 可以有一個以上程式與相同的套件相關聯。 應用程式會使用屬性 PackageID 來進行此關聯。 建立物件之後, SMS_Program 您的應用程式無法變更此屬性。 若要將程式與不同的套件產生關聯,應用程式必須刪除物件,並建立具有新 PackageID 值的新物件。

當您的應用程式刪除 SMS_Program 物件時,直到刪除其相關元件 (例如廣告) 後才會刪除該物件。 相反地,Configuration Manager 會將ActionInProgress屬性設定為 DELETE (3) ,以標示要刪除的程式。 若要確保查詢不會擷取已標示為要刪除的程式,請將此案例新增至 WHERE 子句。

重要事項

如果您對執行程式的集合使用維護時段,如果屬性值 Duration 長於排程的維護時段,可能會發生衝突。 如果此屬性設為 [未知],則程式會在維護時段期間啟動,但會繼續執行,直到在維護時段關閉後完成或失敗為止。

建議您不要將 Duration 屬性設為 [未知],因為此屬性會用於下列兩個重要用途:

  • 以監視計畫的結果。

  • 決定當用戶端電腦上定義維護時段時,是否會啟動程式。

    如果您的應用程式設定屬性Duration,但程式執行時間超過此持續時間,則 Configuration Manager 會停止監視程式,但不會終止程式。 這可讓 Configuration Manager 繼續使用其他軟體發佈功能,例如執行其他公告的程式。 管理員不會:

  • 停止程式。

  • 釋放已針對公告程式對應的所有磁碟機。

  • 釋出針對公告程式所做的任何網路連線。

  • 通告的程式執行時,Configuration Manager 使用的免費作業系統資源。

    如需詳細資訊,請參閱 關於維護時段。

需求

執行階段需求

如需詳細資訊,請參閱 Configuration Manager 伺服器執行階段需求。

開發需求

如需詳細資訊,請參閱 Configuration Manager 伺服器開發需求。

另請參閱

SMS_Package Server WMI 類別如何建立套件如何建立程式