Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Параметры компонента Windows Server Update Services (WSUS) настраивается в Configuration Manager путем изменения файла элемента управления сайтом. Дополнительные сведения см. в разделе Windows Server Update Services.
Настройка параметров WSUS
Настройте подключение к поставщику SMS.
Установите подключение к разделу компонента WSUS Configuration Manager файла элемента управления сайтом с помощью класса SMS_SCI_Component.
Loop через массив доступных свойств, внося изменения по мере необходимости.
Зафиксируйте изменения свойств в файле элемента управления сайтом.
Пример
В следующем примере метод настраивает различные параметры компонентов Windows Server Update Services (WSUS) с помощью класса SMS_SCI_Component для подключения к файлу элемента управления сайта и изменения свойств.
Примечание.
Дополнительные сведения см. в статье Подготовка к управлению обновлениями программного обеспечения.
Сведения о вызове примера кода см. в разделе Вызов фрагментов кода 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;
}
}
Метод примера имеет следующие параметры:
Параметр | Тип | Описание |
---|---|---|
connection |
-Управляемых: WqlConnectionManager — VBScript: SWbemServices |
Допустимое подключение к поставщику SMS. |
swbemContext |
— VBScript: SWbemContext |
Допустимый объект контекста. Дополнительные сведения см. в статье Добавление квалификатора контекста Configuration Manager с помощью WMI. |
siteCode |
-Управляемых: String — VBScript: String |
Код сайта. |
SUPServerName |
-Управляемых: String — VBScript: String |
Имя сервера точки обновления программного обеспечения. |
newDefaultWSUSIISPort |
-Управляемых: String — VBScript: String |
Новый порт служб IIS по умолчанию. |
newSSLDefaultWSUS |
-Управляемых: String — VBScript: String |
Определяет, следует ли использовать протокол SSL. |
newDefaultWSUSIISSSLPort |
-Управляемых: String — VBScript: String |
Определяет ssl-порт WSUS IIS по умолчанию. |
Компиляция программы
Для этого примера на C# требуется следующее:
Пространства имен
System;
System.Collections.Generic;
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Надежное программирование
Дополнительные сведения об обработке ошибок см. в разделе Сведения об ошибках Configuration Manager.
Безопасность .NET Framework
Дополнительные сведения о защите приложений Configuration Manager см. в статье Configuration Manager администрирование на основе ролей.
См. также
Сведения о программных Обновления Настройка и настройка. Сведения о файле управления сайтом Configuration Manager. Чтение и запись в файл элемента управления сайтом Configuration Manager с помощью управляемого кода. Чтение и запись в Configuration Manager Файл элемента управления сайтом с помощью класса WMISMS_SCI_Component server WMI. Добавление квалификатора контекста Configuration Manager с помощью WMI