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 伺服器開發需求。