SMS_Program伺服器 WMI 類別
SMS_Program
Windows Management Instrumentation (WMI) 類別是 Configuration Manager 中的 SMS 提供者伺服器類別,代表軟體發佈至用戶端電腦時要執行的程式或命令。
下列語法已從受控物件格式 (MOF) 程式代碼簡化,並包含所有繼承的屬性。
語法
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
存取類型:只讀
限定符:[讀取、列舉]
Configuration Manager 在與程式相關聯的封裝上執行的目前動作。 可能的值為:
值 | 描述 |
---|---|
0 | 沒有 |
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
存取類型:讀取/寫入
限定符:無
程式所需的近似磁碟空間。 格式為 “<size><KB|MB|GB>”。 預設值為 “ ”
這項資訊會在 Configuration Manager 主控台和公告中使用,以提供有關程式磁碟空間需求的警示。 用戶接著可以決定接受公告,或先執行一些磁碟管理工作。
DriveLetter
資料類型:String
存取類型:讀取/寫入
限定符:[SizeLimit (“1”) , Range (“a-z”) ]
驅動器號 (程式對應至和執行的 a-z) 範圍中的一個字元。 預設值為 “ ”
Duration
資料類型:UInt32
存取類型:讀取/寫入
限定符:無
用戶端電腦上程式執行的大約持續時間,以分鐘為單位。 將此值指定為大於或等於 0 的整數, (預設) ,或指定為未知 (不建議) 。 如果屬性設定為 [未知],Configuration Manager 會將允許的運行時間上限設定為 720 分鐘, (12 小時) 。 如需詳細資訊,請參閱本主題稍後的一節。
注意事項
在用戶端電腦上,已發佈程式的指定值會出現在 Run Advertised Programs
控制台 中。
ExtendedData
數據類型: UInt8
陣列
存取類型:讀取/寫入
限定符:[大型、延遲]
用於映像部署的 XML Blob。
ExtendedDataSize
資料類型:UInt32
存取類型:讀取/寫入
限定符:[延遲]
擴充的數據大小,以位元組為單位。 預設值為 0。
Icon
數據類型: UInt8
陣列
存取類型:讀取/寫入
限定符:[大型]
與程序圖示相關聯的圖示資訊,如 Configuration Manager 控制台中所示。
IconSize
資料類型:UInt32
存取類型:讀取/寫入
限定符:[延遲]
程序圖示的大小,以位元組為單位。 將此屬性設定為 0 以清除圖示。
ISVData
數據類型: UInt8
陣列
存取類型:讀取/寫入
限定符:[大型、延遲]
可讓單一 ISV 儲存與對象相關 SMS_Program
資料的資訊。
ISV 資料沒有任何限制或已定義的格式。 不過,在建立ISV擁有權之後,請務必不要覆寫屬性。 您的應用程式應該先讀取此屬性中的現有數據。 如果數據不屬於應用程式,則不應加以修改。 您應該在程序的數據中包含標識碼,以便輕鬆建立擁有權。
ISVDataSize
資料類型:UInt32
存取類型:讀取/寫入
限定符:[延遲]
儲存在 ISVData
中的數據大小,以位元組為單位。 預設值為 0。
ISVString
資料類型:String
存取類型:讀取/寫入
限定符:無
夥伴擴充性的字串。
MSIFilePath
資料類型:String
存取類型:讀取/寫入
限定符:無
與程式相關聯之 Windows Installer 套件的檔案路徑。 預設值為 “ ”
MSIProductID
資料類型:String
存取類型:讀取/寫入
限定符:無
與程式相關聯之 Windows Installer 套件的產品標識碼。 預設值為 “ ”
PackageID
資料類型:String
存取類型:讀取/寫入
限定符:[金鑰,Not_null]
要與程式產生關聯之現有封裝的標識碼。 如需詳細資訊,請參閱本主題稍後的一節。
PackageName
資料類型:String
存取類型:讀取/寫入
限定符:[無]
程式所屬的封裝名稱。
PackageType
資料類型:String
存取類型:讀取/寫入
限定符:[無]
程式所屬的封裝類型。
值 | 描述 |
---|---|
0 | 一般軟體發佈套件。 |
3 | 驅動程式套件。 |
4 | 工作順序套件。 |
5 | 軟體更新套件。 |
6 | 裝置設定套件。 |
257 | 映射套件。 |
258 | 開機映像套件。 |
259 | 操作系統安裝套件。 |
PackageVersion
資料類型:String
存取類型:讀取/寫入
限定符:[無]
程式所屬套件的版本。
ProgramFlags
資料類型:UInt32
存取類型:讀取/寫入
限定符:[bits]
識別程式安裝特性的旗標。 可能的值如下所示。 默認值為 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) | ADMINRIGHTS。 程式必須以本機系統管理員帳戶的身分執行。 |
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
存取類型:讀取/寫入
限定符:[金鑰,Not_null]
代表這個程式的唯一名稱。
RemovalKey
資料類型:String
存取類型:讀取/寫入
限定符:無
識別程式卸載腳本的登錄機碼。 腳本必須位於登錄路徑中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
。 預設值為 “ ”
Requirements
資料類型:String
存取類型:讀取/寫入
限定符:無
程式任何額外需求的描述。 預設值為 “ ”
SecuredTypeID
資料類型:UInt32
存取類型:讀取/寫入
限定符:[無]
相關套件的安全類型。
SupportedOperatingSystems
數據類型: SMS_OS_Details
陣列
存取類型:讀取/寫入
限定符:[延遲]
SMS_OS_Details伺服器 WMI 類別 物件,代表程式可以執行的作業系統。
如果您未在 屬性中 ProgramFlags
指定ANY_PLATFORM,則必須指定一或多個支援的作業系統。
SMS_SupportedPlatforms伺服器 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
為 Unknown,因為此屬性用於下列兩個重要用途:
監視程序的結果。
判斷在用戶端電腦上定義維護期間時,是否要啟動程式。
如果您的應用程式設定 屬性,
Duration
但程式運行時間超過此持續時間,則 Configuration Manager 停止監視程式,但不會終止程式。 這可讓 Configuration Manager 繼續執行其他軟體發佈功能,例如執行其他通告的程式。 管理員不會:停止程式。
釋放已針對通告程序對應的任何磁碟驅動器。
釋放針對公告程式所建立的任何網路連線。
公告的程序執行時,Configuration Manager 所使用的免費操作系統資源。
如需詳細資訊,請 參閱關於維護時段。
需求
運行時間需求
如需詳細資訊,請參閱 Configuration Manager 伺服器運行時間需求。
開發需求
如需詳細資訊,請參閱 Configuration Manager 伺服器開發需求。