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

访问类型:只读

限定符:[read, 枚举]

通过Configuration Manager对与程序关联的包执行的当前操作。 可能的值是:

说明
0 没有
1 更新
2 添加
3 DELETE

在 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”) 、Range (“a-z”) ]

驱动器号 (程序映射到并从中运行的区域 a-z) 中的一个字符。 默认值为“”。

Duration
数据类型UInt32

访问类型:读/写

限定符:无

客户端计算机上程序执行的大致持续时间(以分钟为单位)。 将此值指定为大于或等于 0 的整数, (默认) 或不建议) (未知。 如果 属性设置为 Unknown,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 包的产品 ID。 默认值为“”。

PackageID
数据类型String

访问类型:读/写

限定符:[key,Not_null]

要与之关联的程序的现有包的 ID。 有关详细信息,请参阅本主题后面的“备注”部分。

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) 莫马勒顿法尔 如果程序失败,则生成 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

访问类型:读/写

限定符:[key,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 长于计划的维护时段,则可能会出现冲突。 如果此属性设置为“未知”,则程序在维护时段期间启动,但会一直运行,直到在维护时段关闭后完成或失败。

建议不要将 属性设置为 Unknown, Duration 因为此属性用于以下两个重要目的:

  • 监视程序的结果。

  • 确定在客户端计算机上定义了维护时段时是否将启动程序。

    如果应用程序设置了 属性,Duration但程序运行时间超过此持续时间,则Configuration Manager停止监视程序,但不会终止程序。 这允许Configuration Manager继续使用其他软件分发功能,例如运行其他播发的程序。 管理器不会:

  • 停止程序。

  • 释放已为播发程序映射的所有驱动器。

  • 释放为播发的程序建立的任何网络连接。

  • 运行播发的程序时,Configuration Manager使用的免费操作系统资源。

    有关详细信息,请参阅 关于维护时段

要求

运行时要求

有关详细信息,请参阅Configuration Manager服务器运行时要求

开发要求

有关详细信息,请参阅Configuration Manager服务器开发要求

另请参阅

SMS_Package服务器 WMI 类
如何创建包
如何创建程序