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服务器开发要求。