如何在 Configuration Manager 中更新操作系统映像包

在 Configuration Manager中,通过调用映像包的 SMS_ImagePackage 类实例 ReloadImageProperties 方法,更新与操作系统包关联的 Windows 映像 (WIM ) 文件。 映像根据 属性中 pkgSourcePath 定义的位置进行更新。

更新操作系统映像包

  1. 设置与 SMS 提供程序的连接。 有关详细信息,请参阅 SMS 提供程序基础知识

  2. 获取要更新的 SMS_ImagePackage 类实例。

  3. 调用 ReloadImageProperties 类实例方法。

  4. SMS_ImagePackage提交类实例。

示例

以下示例更新操作系统映像包。

有关调用示例代码的信息,请参阅调用Configuration Manager代码片段

Sub UpdateOSImage(connection,imagePackageID, sourcePath)

    Dim imagePackage

    ' Get the image.
    set imagePackage = connection.Get("SMS_ImagePackage.PackageID='" & imagePackageID & "'")

    ' Update the source.
    imagePackage.PkgSourcePath=sourcePath
    imagePackage.Put_
    imagePackage.RefreshPkgSource

End Sub
public void UpdateOSImage(
    WqlConnectionManager connection,
    string imagePackageId,
    string sourcePath)
{
    try
    {
        // Get the image package.
        IResultObject imagePackage = connection.GetInstance(@"SMS_ImagePackage.PackageID='" + imagePackageId + "'");

        // Update the ___location.
        imagePackage["PkgSourcePath"].StringValue = sourcePath;
        imagePackage.Put();
        imagePackage.ExecuteMethod("RefreshPkgSource", null);
    }
    catch (SmsException e)
    {
        Console.WriteLine(e.Message);
        throw;
    }
}

示例方法具有以下参数:

参数 类型 说明
connection -管理: WqlConnectionManager
- VBScript: SWbemServices
与 SMS 提供程序的有效连接。
imagePackageID -管理: String
- VBScript: String
包映像标识符。 可从 获取 SMS_ImagePackage. PackageID
sourcePath -管理: String
- VBScript: String
通用命名约定中映像包源的路径 (UNC) 格式。

编译代码

C# 示例具有以下编译要求:

命名空间

System

System.Collections.Generic

System.Text

Microsoft。ConfigurationManagement.ManagementProvider

Microsoft。ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

可靠编程

有关错误处理的详细信息,请参阅关于Configuration Manager错误

.NET Framework 安全性

有关保护Configuration Manager应用程序的详细信息,请参阅Configuration Manager基于角色的管理

另请参阅

关于映像管理