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.
S’applique à : Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
Le catalogue Microsoft Update est un service qui fournit une liste des mises à jour qui peuvent être distribuées sur un réseau d’entreprise. Vous pouvez utiliser le catalogue pour trouver des informations sur les mises à jour logicielles, les pilotes et les correctifs logiciels Microsoft. WSUS currently includes an option to Import Updates from the Microsoft Update Catalog. However, the Import Updates action in WSUS was built using ActiveX, which is now deprecated. Cette fonctionnalité d’importation dans WSUS a été remplacée par un script PowerShell. Le script vous permet d’importer une mise à jour unique ou plusieurs mises à jour dans WSUS. Cet article fournit des informations sur le catalogue, le script d’importation et la façon d’utiliser le script.
Conditions préalables pour l’importation de mises à jour dans WSUS
Les conditions préalables suivantes sont requises pour importer des mises à jour dans WSUS avec le script PowerShell :
- Tout ordinateur sur lequel la console administrative WSUS est installée, qu’il s’agisse ou non d’un serveur WSUS, peut être utilisé pour importer des mises à jour.
- Lors de l’importation à partir d’un serveur WSUS, utilisez un compte membre du groupe Administrateurs WSUS ou du groupe Administrateurs locaux.
- Lors de l’importation à partir d’un ordinateur distant, utilisez un compte membre du groupe Administrateurs WSUS et disposez d’autorisations d’administration sur l’ordinateur local. Les ordinateurs distants doivent être en mesure d’atteindre le serveur WSUS sur le réseau.
Le catalogue Microsoft Update
Le catalogue Microsoft Update vous permet de rechercher sur différents champs et catégories de mise à jour. Ces champs de mise à jour sont les suivants :
- Update title
- Description
- Applicable products
- Classifications
- Numéros d’articles de la base de connaissances au format
KB1234567
Lorsque vous recherchez des mises à jour matérielles ou des pilotes, vous pouvez également rechercher les champs suivants :
- Driver model
- Manufacturer
- Class
- L'identifiant matériel à quatre parties, de type
PCI\VEN_14E4&DEV_1677&SUBSYS_01AD1028
.
Vous pouvez limiter l’étendue de votre recherche en ajoutant des termes de recherche supplémentaires. Pour rechercher une chaîne spécifique, utilisez des guillemets doubles.
Note
Le catalogue vous permet également de télécharger les mises à jour directement à partir du site à l’aide du bouton de téléchargement. Toutefois, les mises à jour téléchargées de cette façon sont au .MSU
format. WSUS ne peut pas importer de mises à jour au .MSU
format. Ce type de fichier est couramment utilisé par le programme d’installation autonome de Windows Update, DISM ou d’autres outils de mise à jour. Certains outils nécessitent que vous extrayiez les fichiers du .MSU
avant qu’ils puissent être utilisés.
Importer des mises à jour dans WSUS à l’aide de PowerShell
Utilisez les instructions ci-dessous pour importer des mises à jour dans WSUS :
Copiez à partir de cet article le script PowerShell pour importer des mises à jour dans WSUS dans un éditeur de texte et enregistrez-le sous
ImportUpdateToWSUS.ps1
. Utilisez un emplacement auquel vous pouvez facilement accéder, par exempleC:\temp
.Ouvrez le catalogue Microsoft Update, https://catalog.update.microsoft.comdans un navigateur.
Recherchez une mise à jour que vous souhaitez importer dans WSUS.
Dans la liste retournée, sélectionnez la mise à jour que vous souhaitez importer dans WSUS. La page détails de la mise à jour s’ouvre.
Use the Copy button on the update details page to copy the UpdateID.
Le script peut être utilisé pour importer une mise à jour unique ou plusieurs mises à jour.
- Pour importer plusieurs mises à jour dans WSUS, collez les ID de mise à jour pour chaque mise à jour que vous souhaitez importer dans un fichier texte. Répertoriez un ID de mise à jour par ligne, puis enregistrez le fichier texte lorsque vous avez terminé. Utilisez un emplacement auquel vous pouvez facilement accéder, par exemple
C:\temp\UpdateIDs.txt
. - Pour importer une seule mise à jour, vous devez uniquement copier l’ID de mise à jour unique.
- Pour importer plusieurs mises à jour dans WSUS, collez les ID de mise à jour pour chaque mise à jour que vous souhaitez importer dans un fichier texte. Répertoriez un ID de mise à jour par ligne, puis enregistrez le fichier texte lorsque vous avez terminé. Utilisez un emplacement auquel vous pouvez facilement accéder, par exemple
To import updates, open a PowerShell console as an administrator and run the script with the following syntax using any needed parameters:
C:\temp\ImportUpdateToWSUS.ps1 [-WsusServer] <String> [-PortNumber] <Int32> [-UseSsl] [-UpdateId] <String> [-UpdateIdFilePath] <string> [<CommonParameters>]
Example 1: While signed into a WSUS server that uses the default port, import a single update using the following syntax:
.\ImportUpdateToWSUS.ps1 -UpdateId 12345678-90ab-cdef-1234-567890abcdef
Example 2: Using a remote computer, import multiple updates into a WSUS server using SSL with the following syntax:
.\ImportUpdateToWSUS.ps1 -WsusServer WSUSServer.contoso.com -PortNumber 8531 -UseSsl -UpdateIdFilePath C:\temp\UpdateIDs.txt
The update files for updates that are imported are downloaded based on your Update files settings. Par exemple, si vous utilisez l’option Télécharger les fichiers de mise à jour sur ce serveur uniquement lorsque les mises à jour sont approuvées, les fichiers de mise à jour sont téléchargés lorsque la mise à jour est approuvée. Pour plus d’informations sur les options de stockage des mises à jour, consultez la section 1.3 Choisir une stratégie de stockage WSUS.
Script PowerShell pour importer des mises à jour dans 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 using the provided UpdateID from the catalog.
.INPUTS
The script takes WSUS server Name/IP, WSUS server port, SSL configuration option and UpdateID as input. 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 updateID's
.\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 not 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 we should 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 path to a text file containing a list of update ID's 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 id's
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. $_"
}
}
Script parameters
WsusServer: <string>
Specifies the name of a WSUS server. S’il n’est pas spécifié, le script se connecte à localhost.
- Required: false
- Default value: localhost
PortNumber: <Int32>
Specifies the port number to use to communicate with the upstream WSUS server.
- Required: false
- Default value: 8530
- Allowed values: 80, 443, 8530, 8531
UseSsl: <switch>
Specifies if Secure Sockets Layer (SSL) via HTTPS should be used to communicate with the WSUS server. Si ce nom de paramètre est présent, les tests du paramètre $true
et la connexion au serveur WSUS sont établis en utilisant SSL, sinon false
. When using the USeSSL parameter, set the PortNumber to either 443 or 8531.
- Required: false
UpdateId: <string>
Specifies the update ID you want to import to WSUS. Ce paramètre est requis si vous importez une mise à jour unique. UpdateId can't be used with UpdateIdFilePath.
- Required: true, when importing a single updateID specified as a script parameter
UpdateIdFilePath: <string>
Specifies the path to a text file containing a list of update IDs on each line. Ce paramètre est requis si vous importez plusieurs mises à jour. UpdateIdFilePath can't be used with UpdateId.
- Required: true, when using a text file to import multiple updates
CommonParameters:
Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see About CommonParameters
Restriction de l’accès aux correctifs logiciels
Les administrateurs WSUS peuvent envisager de restreindre l’accès aux correctifs logiciels qu’ils ont téléchargés à partir du catalogue Microsoft Update. Pour restreindre les correctifs logiciels disponibles, procédez comme suit :
- Démarrez la console du Gestionnaire des services Internet (IIS).
- Navigate to the Content node under WSUS Administration web site.
- On the Content Home pane, double-click in the Authentication option.
- Select Anonymous Authentication and select Disable in the Actions pane on the right.
- Select Windows Authentication and select Enable in the Actions pane on the right.
- Dans la console d’administration WSUS, créez un groupe cible WSUS pour les ordinateurs qui ont besoin du correctif logiciel et ajoutez-les au groupe. Pour plus d’informations sur les ordinateurs et les groupes, consultez Gestion des ordinateurs clients WSUS et des groupes d’ordinateurs WSUS dans ce guide, et Configurer des groupes d’ordinateurs WSUS dans le guide de déploiement WSUS.
- Téléchargez les fichiers du correctif logiciel.
- Définissez les autorisations de ces fichiers afin que seuls les comptes d’ordinateur de ces machines puissent les lire. Vous devez également autoriser le compte de service réseau à accéder entièrement aux fichiers.
- Approuvez le correctif logiciel pour le groupe cible WSUS créé à l’étape 2.
Note
You can remove updates that are imported from the Microsoft Update Catalog that are set as either Not Approved or Declined, by running the WSUS Server cleanup Wizard. Vous pouvez réimporter les mises à jour qui ont été précédemment supprimées de vos systèmes WSUS.
Importation de mises à jour dans différentes langues
Le catalogue inclut des mises à jour qui prennent en charge plusieurs langues.
Important
Mettre en correspondance les langues prises en charge par le serveur WSUS avec les langues prises en charge par les mises à jour importées.
Si le serveur WSUS ne prend pas en charge toutes les langues incluses dans la mise à jour, la mise à jour ne sera pas déployée sur les ordinateurs clients. Si une mise à jour prenant en charge plusieurs langues a été téléchargée sur le serveur WSUS, mais pas encore déployée sur les ordinateurs clients et qu’un administrateur désélectionne l’une des langues incluses dans la mise à jour, la mise à jour ne sera pas déployée sur les clients.
Troubleshooting
La section ".NOTES" du script peut être utilisée pour résoudre les problèmes qui peuvent survenir lors de l’exécution du script.
Si vous recevez une erreur, essayez d’activer TLS (Transport Layer Security) 1.2. Pour plus d’informations, consultez Comment activer TLS 1.2 sur les clients
Vous pouvez utiliser la commande suivante pour automatiser le processus d’ajout d’une valeur de Registre liée à l’utilisation de chiffrement fort. Redémarrez manuellement le service Windows Server Update Services et le service World Wide Web Publishing après avoir ajouté la valeur du Registre.
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /V SchUseStrongCrypto /T REG_DWORD /D 1
Exécutez ce script PowerShell pour automatiser le processus d’ajout d’une valeur de Registre liée à l’utilisation d’un chiffrement fort et redémarrer le service Windows Server Update Services et le service de publication World Wide Web :
$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
Activity and/or errors related to importing updates can be found in %ProgramFiles%\Update Services\LogFiles\SoftwareDistribution.log of the WSUS server where updates are being imported.