Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Каталог Центра обновления Майкрософт — это служба, которая предоставляет список обновлений, которые могут распространяться по корпоративной сети. Каталог можно использовать для поиска сведений об обновлениях программного обеспечения Майкрософт, драйверах и исправлениях. В настоящее время WSUS включает возможность импорта обновлений из каталога Центра обновления Майкрософт. Однако действие импорта обновлений в WSUS было создано с помощью ActiveX, которое теперь устарело. Эта функция импорта в WSUS была заменена скриптом PowerShell. Скрипт позволяет импортировать одно обновление или несколько обновлений в WSUS. В этой статье содержатся сведения о каталоге, скрипте импорта и использовании скрипта.
Предварительные требования для импорта обновлений в WSUS
Для импорта обновлений в WSUS с помощью скрипта PowerShell требуются следующие предварительные требования:
- Любой компьютер с установленной административной консолью WSUS, независимо от того, является ли он сервером WSUS, можно использовать для импорта обновлений.
- При импорте с сервера WSUS используйте учетную запись, которая входит в группу администраторов WSUS или группу локальных администраторов.
- При импорте с удаленного компьютера используйте учетную запись, которая входит в группу администраторов WSUS и имеет административные разрешения на локальном компьютере. Удаленные компьютеры должны быть в состоянии связаться с сервером WSUS по сети.
Каталог центра обновления Майкрософт
Каталог Центра обновления Майкрософт позволяет выполнять поиск по различным полям и категориям обновлений. К этим полям обновления относятся следующие:
- Обновление заголовка
- Description
- Применимые продукты
- Classifications
- Номера статей базы знаний в формате
KB1234567
При поиске обновлений оборудования или драйверов можно также найти следующие поля:
- Модель драйвера
- Manufacturer
- Class
- Четырехкомпонентный идентификатор оборудования, например
PCI\VEN_14E4&DEV_1677&SUBSYS_01AD1028
.
Вы можете сузить область поиска, добавив дополнительные термины поиска. Для поиска определенной строки используйте двойные кавычки.
Note
Каталог также позволяет скачивать обновления непосредственно с сайта с помощью кнопки скачивания. Однако обновления, скачанные таким образом, находятся в .MSU
формате. WSUS не может импортировать обновления в формате .MSU
. Этот тип файла обычно используется автономным установщиком Центра обновления Windows, DISM или другими средствами обновления. Для некоторых средств необходимо извлечь файлы из .MSU
, прежде чем их можно будет использовать.
Импорт обновлений в WSUS с помощью PowerShell
Используйте следующие инструкции для импорта обновлений в WSUS:
Скопируйте сценарий PowerShell для импорта обновлений в WSUS из этой статьи в текстовый редактор и сохраните его как
ImportUpdateToWSUS.ps1
. Используйте место, к которому вы можете легко получить доступ, например,C:\temp
.Откройте каталог Центра обновления Майкрософт в https://catalog.update.microsoft.comбраузере.
Найдите обновление, которое вы хотите импортировать в WSUS.
В возвращаемом списке выберите обновление, которое необходимо импортировать в WSUS. Откроется страница сведений об обновлении.
Нажмите кнопку "Копировать " на странице сведений об обновлении, чтобы скопировать UpdateID.
Скрипт можно использовать для импорта одного обновления или нескольких обновлений.
- Чтобы импортировать несколько обновлений в WSUS, вставьте идентификаторы обновлений для каждого обновления, которое необходимо импортировать в текстовый файл. Укажите один идентификатор обновления на строку. Сохраните текстовый файл после завершения. Используйте место, к которому вы можете легко получить доступ, например,
C:\temp\UpdateIDs.txt
. - Чтобы импортировать одно обновление, необходимо скопировать только один идентификатор обновления.
- Чтобы импортировать несколько обновлений в WSUS, вставьте идентификаторы обновлений для каждого обновления, которое необходимо импортировать в текстовый файл. Укажите один идентификатор обновления на строку. Сохраните текстовый файл после завершения. Используйте место, к которому вы можете легко получить доступ, например,
Чтобы импортировать обновления, откройте консоль PowerShell от имени администратора и запустите скрипт со следующим синтаксисом, используя все необходимые параметры:
C:\temp\ImportUpdateToWSUS.ps1 [-WsusServer] <String> [-PortNumber] <Int32> [-UseSsl] [-UpdateId] <String> [-UpdateIdFilePath] <string> [<CommonParameters>]
Пример 1. При входе на сервер WSUS, использующий порт по умолчанию, импортируйте одно обновление с помощью следующего синтаксиса:
.\ImportUpdateToWSUS.ps1 -UpdateId 12345678-90ab-cdef-1234-567890abcdef
Пример 2: Используйте удаленный компьютер для импорта нескольких обновлений в сервер WSUS с помощью SSL, используя следующий синтаксис:
.\ImportUpdateToWSUS.ps1 -WsusServer WSUSServer.contoso.com -PortNumber 8531 -UseSsl -UpdateIdFilePath C:\temp\UpdateIDs.txt
Файлы обновлений, которые импортируются, загружаются в соответствии с вашими настройками файлов обновлений. Например, если вы используете параметр скачивания файлов обновлений на этот сервер только при утверждении обновлений, файлы обновления загружаются при утверждении обновления. Дополнительные сведения о вариантах хранения обновлений см. в статье 1.3 Выбор стратегии хранения WSUS.
Скрипт PowerShell для импорта обновлений в WSUS
<#
.SYNOPSIS
PowerShell script to import an update, or multiple updates, into WSUS based on the UpdateID from the catalog.
.DESCRIPTION
This script takes user input and attempts to connect to the WSUS server.
Then it tries to import the update by using the provided UpdateID from the catalog.
.INPUTS
The script takes WSUS server Name/IP, WSUS server port, SSL configuration option, and UpdateID as inputs. UpdateID can be viewed and copied from the update details page for any update in the catalog, https://catalog.update.microsoft.com.
.OUTPUTS
Writes logging information to standard output.
.EXAMPLE
# Use with remote server IP, port, and SSL.
.\ImportUpdateToWSUS.ps1 -WsusServer 127.0.0.1 -PortNumber 8531 -UseSsl -UpdateId 12345678-90ab-cdef-1234-567890abcdef
.EXAMPLE
# Use with remote server Name, port, and SSL.
.\ImportUpdateToWSUS.ps1 -WsusServer WSUSServer1.us.contoso.com -PortNumber 8531 -UseSsl -UpdateId 12345678-90ab-cdef-1234-567890abcdef
.EXAMPLE
# Use with remote server IP, defaultport, and no SSL.
.\ImportUpdateToWSUS.ps1 -WsusServer 127.0.0.1 -UpdateId 12345678-90ab-cdef-1234-567890abcdef
.EXAMPLE
# Use with localhost default port.
.\ImportUpdateToWSUS.ps1 -UpdateId 12345678-90ab-cdef-1234-567890abcdef
.EXAMPLE
# Use with localhost default port, file with updateIDs.
.\ImportUpdateToWSUS.ps1 -UpdateIdFilePath .\file.txt
.NOTES
# On error, try enabling TLS: https://learn.microsoft.com/mem/configmgr/core/plan-design/security/enable-tls-1-2-client.
# Sample registry add for the WSUS server from command line. Restarts the WSUSService and IIS after adding:
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /V SchUseStrongCrypto /T REG_DWORD /D 1
## Sample registry add for the WSUS server from PowerShell. Restarts WSUSService and IIS after adding:
$registryPath = "HKLM:\Software\Microsoft\.NETFramework\v4.0.30319"
$Name = "SchUseStrongCrypto"
$value = "1"
if (!(Test-Path $registryPath)) {
New-Item -Path $registryPath -Force | Out-Null
}
New-ItemProperty -Path $registryPath -Name $name -Value $value -PropertyType DWORD -Force | Out-Null
Restart-Service WsusService, w3svc
# Update import logs/errors are under %ProgramFiles%\Update Services\LogFiles\SoftwareDistribution.log.
#>
param(
[Parameter(Mandatory = $false, HelpMessage = "Specifies the name of a WSUS server, if not specified connects to localhost")]
# Specifies the name of a WSUS server. If name isn't specified, connects to localhost.
[string]$WsusServer,
[Parameter(Mandatory = $false, HelpMessage = "Specifies the port number to use to communicate with the upstream WSUS server, default is 8530")]
# Specifies the port number to use to communicate with the upstream WSUS server. Default is 8530.
[ValidateSet("80", "443", "8530", "8531")]
[int32]$PortNumber = 8530,
[Parameter(Mandatory = $false, HelpMessage = "Specifies that the WSUS server should use Secure Sockets Layer (SSL) via HTTPS to communicate with an upstream server")]
# Specifies that the WSUS server should use Secure Sockets Layer (SSL) via HTTPS to communicate with an upstream server.
[Switch]$UseSsl,
[Parameter(Mandatory = $true, HelpMessage = "Specifies the update Id we should import to WSUS", ParameterSetName = "Single")]
# Specifies the update ID to import to WSUS.
[ValidateNotNullOrEmpty()]
[String]$UpdateId,
[Parameter(Mandatory = $true, HelpMessage = "Specifies path to a text file containing a list of update ID's on each line", ParameterSetName = "Multiple")]
# Specifies the path to a text file containing update IDs on each line.
[ValidateNotNullOrEmpty()]
[String]$UpdateIdFilePath
)
Set-StrictMode -Version Latest
# Set server options.
$serverOptions = "Get-WsusServer"
if ($psBoundParameters.containsKey('WsusServer')) { $serverOptions += " -Name $WsusServer -PortNumber $PortNumber" }
if ($UseSsl) { $serverOptions += " -UseSsl" }
# Empty updateID list.
$updateList = @()
# Get update IDs.
if ($UpdateIdFilePath) {
if (Test-Path $UpdateIdFilePath) {
foreach ($id in (Get-Content $UpdateIdFilePath)) {
$updateList += $id.Trim()
}
}
else {
Write-Error "[$UpdateIdFilePath]: File not found"
return
}
}
else {
$updateList = @($UpdateId)
}
# Get WSUS server.
Try {
Write-Host "Attempting WSUS Connection using $serverOptions... " -NoNewline
$server = invoke-expression $serverOptions
Write-Host "Connection Successful"
}
Catch {
Write-Error $_
return
}
# Empty file list.
$FileList = @()
# Call ImportUpdateFromCatalogSite on WSUS.
foreach ($uid in $updateList) {
Try {
Write-Host "Attempting WSUS update import for Update ID: $uid... " -NoNewline
$server.ImportUpdateFromCatalogSite($uid, $FileList)
Write-Host "Import Successful"
}
Catch {
Write-Error "Failed. $_"
}
}
Параметры скрипта
WsusServer: <строка>
указывает имя сервера WSUS. Если имя не указано, скрипт подключается к localhost.
- Обязательный: false
- Значение по умолчанию: localhost
PortNumber: <Int32>
Указывает номер порта, используемый для взаимодействия с вышестоящим сервером WSUS.
- Обязательный: false
- Значение по умолчанию: 8530
- Допустимые значения: 80, 443, 8530, 8531
UseSsl: <switch>
указывает, следует ли использовать SSL через HTTPS для обмена данными с сервером WSUS. Если это имя параметра присутствует, параметр $true
тестируется, и соединение с сервером WSUS выполняется через SSL. В противном случае — false
. При использовании параметра USeSSL задайте для параметра PortNumber значение 443 или 8531.
- Обязательный: false
UpdateId: <строка>
указывает идентификатор обновления, который требуется импортировать в WSUS. Этот параметр необходим, если вы импортируете одно обновление.
UpdateId нельзя использовать с UpdateIdFilePath.
- Обязательный: true при импорте одного идентификатора обновления, указанного в качестве параметра скрипта.
UpdateIdFilePath: <строка>
указывает путь к текстовому файлу, содержаму идентификаторы обновлений в каждой строке. Этот параметр требуется, если вы импортируете несколько обновлений.
UpdateIdFilePath нельзя использовать с UpdateId.
- Обязательный: true при использовании текстового файла для импорта нескольких обновлений.
CommonParameters:
Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable и OutVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Ограничение доступа к экстренным исправлениям
Администраторы WSUS могут рассмотреть возможность ограничения доступа к исправлениям, которые они скачали из каталога Центра обновления Майкрософт. Чтобы ограничить доступные исправления, выполните следующие действия.
- Запустите консоль диспетчера служб IIS.
- Перейдите на узел Содержимое в разделе Администрирование WSUS веб-сайта.
- На панели "Главная страница содержимого " дважды щелкните параметр проверки подлинности .
- Выберите "Анонимная проверка подлинности" и нажмите кнопку "Отключить " в области "Действия " справа.
- Выберите проверку подлинности Windows и нажмите кнопку "Включить " в области "Действия " справа.
- В административной консоли WSUS создайте целевую группу WSUS для компьютеров, которым требуется исправление, и добавьте их в группу. Дополнительные сведения о компьютерах и группах см. в руководстве по управлению клиентскими компьютерами WSUS и группами компьютеров WSUS и настройке групп компьютеров WSUS в руководстве по развертыванию WSUS.
- Скачайте файлы для хотфикса.
- Задайте разрешения этих файлов, чтобы их могли читать только учетные записи этих компьютеров. Кроме того, необходимо разрешить учетной записи сетевой службы полный доступ к файлам.
- Утвердить исправление для целевой группы WSUS, созданной на шаге 2.
Note
Вы можете удалить обновления, импортированные из каталога обновлений Майкрософт, которые заданы как "Не утверждены " или " Отклонены ", выполнив мастер очистки сервера WSUS. Вы можете повторно импортировать обновления, которые ранее были удалены из систем WSUS.
Импорт обновлений на разных языках
Каталог включает обновления, поддерживающие несколько языков.
Important
Сопоставляйте языки, поддерживаемые сервером WSUS, с языками, поддерживаемыми импортированными обновлениями.
Если сервер WSUS не поддерживает все языки, включенные в обновление, обновление не будет развернуто на клиентских компьютерах. Если обновление, поддерживающее несколько языков, было загружено на сервер WSUS, но еще не развернуто на клиентских компьютерах, а администратор отменит выбор одного из языков, включенных в обновление, обновление не будет развернуто на клиентах.
Troubleshooting
Раздел ".NOTES" скрипта можно использовать для диагностики проблем, которые могут возникнуть при его запуске.
Если возникает ошибка, попробуйте включить протокол TLS 1.2. Дополнительные сведения см. в статье "Включение TLS 1.2 на клиентах".
Следующая команда позволяет автоматизировать процесс добавления значения реестра, связанного с использованием строгого шифрования. Вручную перезапустите службу Windows Server Update Services и службу публикации Всемирной паутины после добавления значения реестра.
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /V SchUseStrongCrypto /T REG_DWORD /D 1
Выполните следующий скрипт PowerShell, чтобы автоматизировать процесс добавления значения реестра, связанного с использованием строгого шифрования. Затем перезапустите службу обновления Windows Server Update и службу публикации в Интернете.
$registryPath = "HKLM:\Software\Microsoft\.NETFramework\v4.0.30319" $Name = "SchUseStrongCrypto" $value = "1" if (!(Test-Path $registryPath)) { New-Item -Path $registryPath -Force | Out-Null } New-ItemProperty -Path $registryPath -Name $name -Value $value -PropertyType DWORD -Force | Out-Null Restart-Service WsusService, w3svc
Действия и/или ошибки, связанные с импортом обновлений, можно найти в %ProgramFiles%\Update Services\LogFiles\SoftwareDistribution.log сервера WSUS, где импортируются обновления.