如何创建包
以下示例演示如何使用 SMS_Package
类和类属性在 Configuration Manager 中创建包。
创建包
设置与 SMS 提供程序的连接。
使用
SMS_Package
类创建新的包对象。填充新的包属性。
提示
创建虚拟应用程序包时,必须将属性设置为
SMS_Package
特定值。 类的SMS_VirtualApp
实例必须引用类的实例,SMS_Package
这些实例使用下表中所述的属性。虚拟应用程序包
属性名 属性值 PackageType 7 PkgSourceFlag 2 PkgSourcePath \\someserver\somesharepath 保存包。
示例
以下示例方法创建一个新包并填充其属性,以便在软件分发中使用。
有关调用示例代码的信息,请参阅调用Configuration Manager代码片段。
Sub CreatePackage(connection, newPackageName, newPackageDescription, newPackageSourceFlag, newPackageSourcePath)
' Create the new package object. Dim newPackage
Set newPackage = connection.Get("SMS_Package").SpawnInstance_
' Populate the new package properties.
newPackage.Name = newPackageName
newPackage.Description = newPackageDescription
newPackage.PkgSourceFlag = newPackageSourceFlag
newPackage.PkgSourcePath = newPackageSourcePath
' Save the package.
newPackage.Put_
' Output the new package name.
wscript.echo "Created package: " & newPackageDescription
End Sub
public void CreatePackage(WqlConnectionManager connection, string newPackageName, string newPackageDescription, int newPackageSourceFlag, string newPackageSourcePath)
{
try
{
// Create new package object.
IResultObject newPackage = connection.CreateInstance("SMS_Package");
// Populate new package properties.
newPackage["Name"].StringValue = newPackageName;
newPackage["Description"].StringValue = newPackageDescription;
newPackage["PkgSourceFlag"].IntegerValue = newPackageSourceFlag;
newPackage["PkgSourcePath"].StringValue = newPackageSourcePath;
// Save new package and new package properties.
newPackage.Put();
// Output new package name.
Console.WriteLine("Created package: " + newPackageName);
}
catch (SmsException ex)
{
Console.WriteLine("Failed to create package. Error: " + ex.Message);
throw;
}
}
示例方法具有以下参数:
参数 | 类型 | 说明 |
---|---|---|
connection |
-管理: WqlConnectionManager - VBScript: SWbemServices |
与 SMS 提供程序的有效连接。 |
newPackageName |
-管理: String - VBScript: String |
新包的名称。 |
newPackageDescription |
-管理: String - VBScript: String |
新包的说明。 |
newPackageSourceFlag |
-管理: Integer - VBScript: Integer |
包源。 |
newPackageSourcePath |
-管理: String - VBScript: String |
包源的路径。 |
编译代码
C# 示例需要:
命名空间
系统警报
Microsoft。ConfigurationManagement.ManagementProvider
Microsoft。ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
mscorlib
可靠编程
有关错误处理的详细信息,请参阅关于Configuration Manager错误。
另请参阅
SMS_Package服务器 WMI 类的软件分发概述
PowerShell Cmdlet:New-CMPackage