Como exibir as propriedades de uma imagem do sistema operacional
Em Configuration Manager, você exibe as propriedades de imagem do arquivo WIM (Imagem do Windows) contidas em um pacote do sistema operacional chamando o método GetImagePropertiesda instância da classe SMS_ImagePackage.
As propriedades da imagem estão disponíveis no formato XML.
Para exibir propriedades da imagem
Configure uma conexão com o Provedor de SMS. Para obter mais informações, confira Os fundamentos do Provedor de SMS.
Obtenha a instância de
SMS_ImagePackage
classe que você deseja atualizar.Chame o método de instância de classe GetImageProperties .
Acesse a propriedade XML usando o parâmetro ImageProperty .
Exemplo
O exemplo a seguir exibe a propriedade de pacote de imagem do sistema operacional XML que define o pacote.
Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets de Código.
Sub ViewOSImage(connection,imagePackageID)
Dim imagePackage
Dim inParam
Dim outParams
' Get the image.
Set imagePackage = connection.Get("SMS_ImagePackage.PackageID='" & imagePackageID & "'")
' Obtain an InParameters object specific
' to the method.
Set inParam = imagePackage.Methods_("GetImageProperties"). _
inParameters.SpawnInstance_()
' Add the input parameters.
inParam.Properties_.Item("SourceImagePath") = imagePackage.PkgSourcePath
' Execute the method.
Set outParams = connection.ExecMethod("SMS_ImagePackage", "GetImageProperties", inParam)
' Display the image properties XML.
Wscript.echo "ImageProperty: " & outParams.ImageProperty
End Sub
public void ViewOSImage(
WqlConnectionManager connection,
string imagePackageId)
{
try
{
IResultObject imagePackage = connection.GetInstance(@"SMS_ImagePackage.PackageID='" + imagePackageId + "'");
Dictionary<string, Object> inParams = new Dictionary<string, object>();
inParams.Add("SourceImagePath", imagePackage["PkgSourcePath"].StringValue);
IResultObject result = connection.ExecuteMethod("SMS_ImagePackage", "GetImageProperties", inParams);
Console.WriteLine(result["ImageProperty"].StringValue);
}
catch (SmsException e)
{
Console.WriteLine(e.Message);
throw;
}
}
O método de exemplo tem os seguintes parâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
connection |
-Gerenciado: WqlConnectionManager - VBScript: SWbemServices |
Uma conexão válida com o provedor de SMS. |
imagePackageID |
-Gerenciado: String -Vbscript: String |
O identificador de imagem do pacote. Ele está disponível em SMS_ImagePackage. PackageID . |
Compilando o código
O exemplo C# tem os seguintes requisitos de compilação:
Namespaces
System
System.Collections.Generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Programação robusta
Para obter mais informações sobre o tratamento de erros, consulte Sobre erros de Configuration Manager.
Segurança do .NET Framework
Para obter mais informações sobre como proteger aplicativos Configuration Manager, consulte Configuration Manager administração baseada em função.