Partager via


Guide pratique pour configurer les paramètres WSUS

Vous configurez les paramètres du composant Windows Server Update Services (WSUS) dans Configuration Manager en modifiant le fichier de contrôle de site. Pour plus d’informations, consultez Windows Server Update Services.

Pour configurer les paramètres WSUS

  1. Configurez une connexion au fournisseur SMS.

  2. Établir une connexion à la section de composant wsus Configuration Manager du fichier de contrôle de site à l’aide de la classe SMS_SCI_Component.

  3. Loop par le biais du tableau des propriétés disponibles, en apportant les modifications nécessaires.

  4. Validez les modifications de propriété dans le fichier de contrôle de site.

Exemple

L’exemple de méthode suivant configure différents paramètres de composant de Windows Server Update Services (WSUS) à l’aide de la classe SMS_SCI_Component pour se connecter au fichier de contrôle de site et modifier les propriétés.

Remarque

Pour plus d’informations, consultez Préparer la gestion des mises à jour logicielles.

Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code Configuration Manager.


Sub ConfigureWSUSSettings(swbemServices,         _
                          swbemContext,          _
                          siteCode,              _
                          newDefaultWSUSIISPort, _
                          newSSLDefaultWSUS,     _
                          newDefaultWSUSIISSSLPort)

    ' Load site control file and get the SMS_WSUS_CONFIGURATION_MANAGER component section.
    swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteCode & """", "Refresh", , , swbemContext

    Query = "SELECT * FROM SMS_SCI_Component " & _
            "WHERE ComponentName = 'SMS_WSUS_CONFIGURATION_MANAGER' " & _
            "AND SiteCode = '" & siteCode & "'"

    Set SCIComponentSet = swbemServices.ExecQuery(Query, ,wbemFlagForwardOnly Or wbemFlagReturnImmediately, swbemContext)

    ' Only one instance is returned from the query.
    For Each SCIComponent In SCIComponentSet

        ' Loop through the array of embedded SMS_EmbeddedProperty instances.
        For Each vProperty In SCIComponent.Props

            ' Display the WSUS server name.
            If vProperty.PropertyName = "DefaultWSUS" Then
                wscript.echo " "
                wscript.echo vProperty.PropertyName & " Server: " & vProperty.Value2
            End If

            ' Setting: DefaultWSUSIISPort.
            If vProperty.PropertyName = "DefaultWSUSIISPort" Then
                wscript.echo " "
                wscript.echo vProperty.PropertyName
                wscript.echo "Current value " &  vProperty.Value

                ' Modify the value.
                vProperty.Value = newDefaultWSUSIISPort
                wscript.echo "New value " & newDefaultWSUSIISPort
            End If

            ' Setting: SSLDefaultWSUS.
            If vProperty.PropertyName = "SSLDefaultWSUS" Then
                wscript.echo " "
                wscript.echo vProperty.PropertyName
                wscript.echo "Current value " &  vProperty.Value

                ' Modify the value.
                vProperty.Value = newSSLDefaultWSUS
                wscript.echo "New value " & newSSLDefaultWSUS
            End If

            ' Setting: DefaultWSUSIISSSLPort.
            If vProperty.PropertyName = "DefaultWSUSIISSSLPort" Then
                wscript.echo " "
                wscript.echo vProperty.PropertyName
                wscript.echo "Current value " &  vProperty.Value

                ' Modify the value.
                vProperty.Value = newDefaultWSUSIISSSLPort
                wscript.echo "New value " & newDefaultWSUSIISSSLPort
            End If

        Next

             ' Update the component in your copy of the site control file. Get the path
             ' to the updated object, which could be used later to retrieve the instance.
             Set SCICompPath = SCIComponent.Put_(wbemChangeFlagUpdateOnly, swbemContext)
    Next

    ' Commit the change to the actual site control file.
    Set InParams = swbemServices.Get("SMS_SiteControlFile").Methods_("CommitSCF").InParameters.SpawnInstance_
    InParams.SiteCode = siteCode
    swbemServices.ExecMethod "SMS_SiteControlFile", "CommitSCF", InParams, , swbemContext

End Sub


public void ConfigureWSUSSettings(WqlConnectionManager connection,
                                    string siteCode,
                                    string SUPServerName,
                                    string newDefaultWSUSIISPort,
                                    string newSSLDefaultWSUS,
                                    string newDefaultWSUSIISSSLPort)
{
    try
    {
        // Connect to SMS_WSUS_CONFIGURATION_MANAGER section of the site control file.
        IResultObject siteDefinition = connection.GetInstance(@"SMS_SCI_Component.FileType=2,ItemType='Component',SiteCode='" + siteCode + "',ItemName='SMS_WSUS_CONFIGURATION_MANAGER|" + SUPServerName + "'");
        foreach (KeyValuePair<string, IResultObject> kvp in siteDefinition.EmbeddedProperties)
        {
            // Temporary copy of the embedded properties.
            Dictionary<string, IResultObject> embeddedProperties = siteDefinition.EmbeddedProperties;

            // Display the WSUS server name.
            if (kvp.Value.PropertyList["PropertyName"] == "DefaultWSUS")
            {
                Console.WriteLine();
                Console.WriteLine(kvp.Value.PropertyList["PropertyName"] + " Server");
                Console.WriteLine("Server name: " + embeddedProperties["DefaultWSUS"]["Value2"].StringValue);
            }

            // Setting: DefaultWSUSIISPort.
            if (kvp.Value.PropertyList["PropertyName"] == "DefaultWSUSIISPort")
            {
                Console.WriteLine();
                Console.WriteLine(kvp.Value.PropertyList["PropertyName"]);
                Console.WriteLine("Current value: " + embeddedProperties["DefaultWSUSIISPort"]["Value"].StringValue);

                // Change the value by using the newDefaultWSUSIISPort value passed that is in.
                embeddedProperties["DefaultWSUSIISPort"]["Value"].StringValue = newDefaultWSUSIISPort;
                Console.WriteLine("New value    : " + newDefaultWSUSIISPort);
            }

            // Setting: SSLDefaultWSUS.
            if (kvp.Value.PropertyList["PropertyName"] == "SSLDefaultWSUS")
            {
                Console.WriteLine();
                Console.WriteLine(kvp.Value.PropertyList["PropertyName"]);
                Console.WriteLine("Current value: " + embeddedProperties["SSLDefaultWSUS"]["Value"].StringValue);

                // Change the value by using the newSSLDefaultWSUS value that is passed in.
                embeddedProperties["SSLDefaultWSUS"]["Value"].StringValue = newSSLDefaultWSUS;
                Console.WriteLine("New value    : " + newSSLDefaultWSUS);
            }

            // Setting: DefaultWSUSIISSSLPort.
            if (kvp.Value.PropertyList["PropertyName"] == "DefaultWSUSIISSSLPort")
            {
                Console.WriteLine();
                Console.WriteLine(kvp.Value.PropertyList["PropertyName"]);
                Console.WriteLine("Current value: " + embeddedProperties["DefaultWSUSIISSSLPort"]["Value"].StringValue);

                // Change the value by using the newDefaultWSUSIISSSLPort value that is passed in.
                embeddedProperties["DefaultWSUSIISSSLPort"]["Value"].StringValue = newDefaultWSUSIISSSLPort;
                Console.WriteLine("New value    : " + newDefaultWSUSIISSSLPort);
            }

            // Store the settings that have changed.
            siteDefinition.EmbeddedProperties = embeddedProperties;
        }

        // Save the settings.
        siteDefinition.Put();

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

L’exemple de méthode a les paramètres suivants :

Paramètre Type Description
connection -Géré: WqlConnectionManager
- VBScript : SWbemServices
Connexion valide au fournisseur SMS.
swbemContext - VBScript : SWbemContext Objet de contexte valide. Pour plus d’informations, consultez Comment ajouter un qualificateur de contexte Configuration Manager à l’aide de WMI.
siteCode -Géré: String
- VBScript : String
Code du site.
SUPServerName -Géré: String
- VBScript : String
Nom du serveur de point de mise à jour logicielle.
newDefaultWSUSIISPort -Géré: String
- VBScript : String
Nouveau port IIS (Internet Information Services) WSUS par défaut.
newSSLDefaultWSUS -Géré: String
- VBScript : String
Détermine s’il faut utiliser SSL (Secure Sockets Layer).
newDefaultWSUSIISSSLPort -Géré: String
- VBScript : String
Identifie le port SSL IIS IIS par défaut.

Compilation du code

Cet exemple C# nécessite :

Espaces de noms

Système

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Programmation robuste

Pour plus d’informations sur la gestion des erreurs, consultez À propos des erreurs Configuration Manager.

Sécurité de .NET Framework

Pour plus d’informations sur la sécurisation des applications Configuration Manager, consultez Configuration Manager’administration basée sur les rôles.

Voir aussi

À propos de l’installation et de la configuration du Mises à jour logiciel À propos du fichier de contrôle de site Configuration ManagerComment lire et écrire dans le fichier de contrôle de site Configuration Manager à l’aide du code managéComment lire et écrire dans le Configuration Manager Fichier de contrôle de site à l’aide de laclasse WMI WMI SMS_SCI_Component ServerComment ajouter un qualificateur de contexte Configuration Manager à l’aide de WMI