Freigeben über


Erstellen einer Bereitstellungsvorlage

Sie erstellen eine Bereitstellungsvorlage für Softwareupdates in Configuration Manager, indem Sie eine instance der SMS_Template Klasse erstellen und die Eigenschaften auffüllen.

So erstellen Sie eine Bereitstellungsvorlage

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein.

  2. Erstellen Sie das neue Vorlagenobjekt mithilfe der SMS_Template -Klasse.

  3. Füllen Sie die neuen Vorlageneigenschaften auf.

  4. Speichern Sie die neue Vorlage und die Eigenschaften.

Beispiel

Die folgende Beispielmethode zeigt, wie Sie mithilfe der SMS_Template Klassen- und Klasseneigenschaften eine Bereitstellungsvorlage für Softwareupdates erstellen.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.

Hinweis

In den folgenden Codebeispielen werden die Vorlageneinstellungen mithilfe einer Zeichenfolgenvariablen namens deploymentTemplateSettings an die -Methode übergeben. Die Vorlageneinstellungen werden in einer XML-Struktur gespeichert.

VB-Vorlageneinstellungsbeispiel (eine lange Zeichenfolge):

deploymentTemplateSettings = "<TemplateDescription xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""> <CollectionId>SMS00001</CollectionId> <IncludeSub>true</IncludeSub> <AttendedInstall>true</AttendedInstall> <UTC>true</UTC> <Duration>2</Duration> <DurationUnits>Weeks</DurationUnits> <SuppressServers>Unchecked</SuppressServers> <SuppressWorkstations>Unchecked</SuppressWorkstations> <AllowRestart>false</AllowRestart> <Deploy2003>true</Deploy2003> <CollectImmediately>false</CollectImmediately> <LocalDPOption>DownloadAndInstall</LocalDPOption> <RemoteDPOption>DownloadAndInstall</RemoteDPOption> <DisableMomAlert>false</DisableMomAlert> <GenerateMomAlert>false</GenerateMomAlert> <UseRemoteDP>false</UseRemoteDP> <UseUnprotectedDP>false</UseUnprotectedDP> </TemplateDescription>"

C#-Vorlageneinstellungsbeispiel (die gleichen Vorlageneinstellungen und immer noch als Zeichenfolge übergeben, aber die XML-Struktur ist offensichtlicher):

string deploymentTemplateSettings =
  @"<TemplateDescription xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">
  <CollectionId>SMS00001</CollectionId>
  <IncludeSub>true</IncludeSub>
  <AttendedInstall>true</AttendedInstall>
  <UTC>true</UTC>
  <Duration>2</Duration>
  <DurationUnits>Weeks</DurationUnits>
  <SuppressServers>Unchecked</SuppressServers>
  <SuppressWorkstations>Unchecked</SuppressWorkstations>
  <AllowRestart>false</AllowRestart>
  <Deploy2003>true</Deploy2003>
  <CollectImmediately>false</CollectImmediately>
  <LocalDPOption>DownloadAndInstall</LocalDPOption>
  <RemoteDPOption>DownloadAndInstall</RemoteDPOption>
  <DisableMomAlert>false</DisableMomAlert>
  <GenerateMomAlert>false</GenerateMomAlert>
  <UseRemoteDP>false</UseRemoteDP>
  <UseUnprotectedDP>false</UseUnprotectedDP>
  </TemplateDescription>";

Sub CreateSUMDeploymentTemplate(connection,              _
                                 newTemplateName,         _
                                 newTemplateDescription,  _
                                 newTemplateSettings,     _
                                 newTemplateType)

    ' Create the new Template object.
    Set newSUMTemplate = connection.Get("SMS_Template").SpawnInstance_

    ' Populate the SMS_Template properties.
    ' Note: The template name (newTemplateName) must be unique.
    newSUMTemplate.Name = newTemplateName
    newSUMTemplate.Description = newTemplateDescription
    newSUMTemplate.Data = newTemplateSettings
    newSUMTemplate.Type = newTemplateType

    ' Save the new template and properties.
    newSUMTemplate.Put_

    ' Output the new template name.
    Wscript.Echo "Created new template: " & newTemplateName

 End Sub


public void CreateSUMDeploymentTemplate(WqlConnectionManager connection,
                                        string newTemplateName,
                                        string newTemplateDescription,
                                        string newTemplateSettings,
                                        int newTemplateType)
{
    try
    {
        // Create the template object.
        IResultObject newSUMTemplate = connection.CreateInstance("SMS_Template");

        // Populate the new template properties.
        // Note: The template name (newTemplateName) must be unique.
        newSUMTemplate["Name"].StringValue = newTemplateName;
        newSUMTemplate["Description"].StringValue = newTemplateDescription;
        newSUMTemplate["Data"].StringValue = newTemplateSettings;
        newSUMTemplate["Type"].IntegerValue = newTemplateType;

        // Save the new template and the new template properties.
        newSUMTemplate.Put();

        // Output the new template name.
        Console.WriteLine("Created template: " + newTemplateName);
    }

    catch (SmsException ex)
    {
        Console.WriteLine("Failed to create template. Error: " + ex.Message);
        throw;
    }
}

Diese Beispielmethode weist die folgenden Parameter auf:

Parameter Typ Beschreibung
connection -Gehandhabt: WqlConnectionManager
– VBScript: SWbemServices
Eine gültige Verbindung mit dem SMS-Anbieter.
newTemplateName -Gehandhabt: String
– VBScript: String
Der name der neuen Vorlage. Der Vorlagenname muss eindeutig sein.
newTemplateDescription -Gehandhabt: String
– VBScript: String
Die Beschreibung für die neue Vorlage.
newTemplateSettings -Gehandhabt: String
– VBScript: String
Die neuen Vorlageneinstellungen. Die Einstellungen befinden sich in einer XML-Struktur, die als Zeichenfolge gespeichert wird.

  • CollectionId

    Die Sammlung für die Softwareupdatebereitstellung.

    • Eine gültige Sammlungs-ID.
  • IncludeSub

    Schließen Sie Elemente von Untersammlungen ein.

    • true
    • false
  • AttendedInstall

    Anzeigen von Softwareupdatebenachrichtigungen auf Clients (false unterdrückt Benachrichtigungen).

    • true
    • false
  • UTC

    Verwenden Sie koordinierte Weltzeit (COORDINATED Universal Time, UTC) anstelle der lokalen Clientzeit.

    • true
    • false
  • Duration

    Dauer der Bereitstellung.

    • 1-24 (Stunden)
    • 1-365 (Tage)
    • 1-4 (Wochen)
    • 1-12 (Monate)
  • DurationUnits

    Dauereinheiten.

    • Stunden
    • Tage
    • Wochen
    • Monate
  • SuppressServers

    Unterdrücken Sie den Systemneustart auf Servern.

    • Checked
    • Unkontrolliert
  • SuppressWorkstations

    Unterdrücken Sie den Systemneustart auf Arbeitsstationen.

    • Checked
    • Unkontrolliert
  • AllowRestart

    Systemneustart außerhalb von Wartungsfenstern zulassen (sowohl für Server als auch für Arbeitsstationen).

    • true
    • false
  • Deploy2003

    Stellen Sie Softwareupdates für SMS 2003-Clients bereit.

    • true
    • false
  • CollectImmediately (sms 2003 clientspezifisch)

    Erfassen Sie die Hardwareinventur unmittelbar nach der Installation von Softwareupdates.

    • true
    • false
  • LocalDPOption (sms 2003 clientspezifisch)

    Geben Sie an, ob die Updatequelldateien heruntergeladen werden sollen, bevor Sie die Installation ausführen, wenn ein Verteilungspunkt lokal verfügbar ist.

    • DownloadAndInstall
    • InstallFromDP
  • RemoteDPOption (clientspezifisch für SMS 2003)

    Geben Sie an, ob die Updatequelldateien heruntergeladen werden sollen, bevor Sie die Installation ausführen, wenn kein Verteilungspunkt lokal verfügbar ist.

    • DownloadAndInstall
    • InstallFromDP
  • DisableMomAlert

    Deaktivieren Sie Operations Manager-Warnungen, während Softwareupdates ausgeführt werden.

    • true
    • false
  • GenerateMomAlert

    Generieren sie eine Operations Manager-Warnung, wenn eine Softwareupdateinstallation fehlschlägt.

    • true
    • false
  • UseRemoteDP

    Herunterladen von Softwareupdates über einen Remoteverteilungspunkt (auch wenn ein Client innerhalb einer langsamen oder unzuverlässigen Netzwerkgrenze verbunden ist).

    • true
    • false
  • UseUnprotectedDP

    Herunterladen von Softwareupdates von einem nicht geschützten Verteilungspunkt (wenn Updates von keinem geschützten Verteilungspunkt verfügbar sind).

    • true
    • false
newTemplateType -Gehandhabt: Integer
– VBScript: Integer
Der neue Vorlagentyp. Derzeit ist der einzige mögliche Wert:

- 0 (SUM_DEPLOYMENT)

Kompilieren des Codes

Für dieses C#-Beispiel ist Folgendes erforderlich:

Namespaces

System

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Robuste Programmierung

Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager Fehlern.

.NET Framework-Sicherheit

Weitere Informationen zum Schützen Configuration Manager Anwendungen finden Sie unter Configuration Manager rollenbasierte Verwaltung.

Siehe auch

Informationen zu Softwareupdatebereitstellungen: Zuweisen eines Pakets zu einem VerteilungspunktSMS_Template