Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
Configurez une connexion au fournisseur SMS.
É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.
Loop par le biais du tableau des propriétés disponibles, en apportant les modifications nécessaires.
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