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

另請參閱

SMS_Package伺服器 WMI 類別
如何建立套件
如何建立程式