Jarod KORDICS
Ingénieur MECM
Dans ce tutoriel nous allons voir comment déployer une vague de patch sur deux collections différentes, nous passerons par plusieurs étapes, de l’activation du rôle SUP jusqu’à la vérification complètement post-déploiement.
- Activation du rôle SUP
Dans un premier temps nous allons devoir activer le rôle lié au patch management, avant cela vérifiez bien que votre serveur dispose du rôle WSUS.
Pour ajouter le rôle il faut se rendre dans l’onglet ‘’Navigation’’, puis ‘’Servers and Site System Roles’’. Faites clic droit sur votre serveur et « Add Site System Roles ». |
|
Cette fenêtre une fois ouverte, vous permet de vérifier que vous avez bien ciblez le bon serveur. Cliquez sur « Next » jusqu’à la prochaine capture d’écran. |
|
Sur cette fenêtre cochez la case « Software update point ». Cliquez sur « Next » jusqu’à la prochaine capture d’écran. |
|
L’objectif sur cette fenêtre est de cliquer sur les cases correspondant aux updates que vous souhaitez récupérer sur votre console. Cliquez sur « Next ». |
Ici l’objectif est de cibler les produits sur lesquels vous voulez récupérer les updates, il y a de nombreux produits et je vous invite à naviguer dans l’encadré afin de repérer de possible produit qui pourrait vous être utile. Cliquez sur « Next ». |
Ici vous allez cocher la version de langue lié aux updates sélectionnés précédemment. Cliquez sur « Next » jusqu’à la prochaine capture d’écran. |
|
Une fois sur la fenêtre de ‘’Completion’’, vérifiez bien que les voyants soient tous verts. Maintenant le rôle SUP est ajouté à votre console. Cliquez sur « Close ». |
|
- Création de collections
Pour ce tutoriel nous allons créer deux collections test.
Dans l’onglet ‘’Asset and Compliance’’ puis sur ‘’Device Collections’’. Patientez le temps que les membres soient ajoutés aux collections. |
|
- Création d’un Software Update Group
Nous allons maintenant devoir récupérer les mises à jour puis en faire un groupe pour le déployer après.
En attendant la remontée des membres dans les collections, nous allons synchroniser les updates et notre console. Pour cela allez dans l’onglet ‘’Software Library’’, ‘’Software Updates’’ puis ‘’All Software Updates’’. Cliquez sur le bouton « Synchronize Software Updates » puis « Yes ». |
Les mises à jour vont donc apparaître dans l’encadré précédemment vide. |
|
Cliquez sur le bouton « Saved Searches » puis « Manage Searches for Current Node ». |
|
Ici nous allons trier les mises à jour que vous souhaitez consulter selon une classification précise. Identifiez votre besoin puis cliquez sur « OK ». |
|
Effectué ‘’CTLR + A’’ afin de sélectionner toutes les mises à jour et clique droit « Create Software Update Group ». Nous allons créer le groupe de mises à jour qui sera ensuite déployer. Renseignez le nom souhaité puis « OK ». |
|
Allez dans l’onglet « Software Update Groups » afin de constater la création de votre groupe. Une fois créé faites clic droit « Download ». |
|
Une fois sur cette fenêtre, sélectionnez ‘’Create a new deployment package’’. Renseignez dans la ligne ‘’Package Sources’’ l’emplacement où votre package sera stocké en cliquant sur « Browse ». Cliquez sur « Next ». |
|
Ajoutez votre point de distribution avec le bouton « Add » puis ‘’Distribution Point’’. Cliquez sur « Next ». |
|
Sur la fenêtre ‘’Distribution Settings’’. Vous avez la possibilité d’indiquer la priorité de distribution pour votre package. Cliquez sur « Next ». |
|
Ici vous allez spécifier si vous souhaitez télécharger les mises à jour via internet, ou si vous avez toutes les sources de façon locale, renseignez son emplacement réseau. Cliquez sur « Next » jusqu’à la prochaine capture d’écran. |
Une fois sur la fenêtre de ‘’Completion’’ vérifiez que les voyants soient tous verts. Cliquez sur « Close ». Maintenant les mises à jour présentes dans le groupe de mises à jour vont se télécharger, cette opération peut prendre du temps en fonction de votre connexion internet, patientez jusqu’à la fin des téléchargements avant de passer à l’étape suivante. |
- Déploiement du package
Une fois toutes les mises à jour présentes dans le package il faut maintenant le déployer.
Rendez-vous sur votre groupe de mises à jour puis clic droit « Deploy ». |
|
Ici vous allez donner un nom au déploiement. La ligne ‘’Collection’’ vous permettra de cibler qui sera visé par le déploiement. Cliquez sur « Next » jusqu’à la prochaine capture d’écran, les options de base sont à mon sens les meilleurs pour un déploiement de patch. S’il s’agit d’un déploiement temporaire vous pouvez le modifier dans la section ‘’Scheduling’’. |
|
Sur la fenêtre de ‘’Completion’’ vérifiez que tous les voyants soient verts. Cliquez sur « Close ». Maintenant notre déploiement est lancé. Répétez les étapes précédentes afin d’avoir deux déploiements. |
|
- Vérification
Afin de nous assurez de la bonne réception des déploiements, je vais vous montrer différentes méthodes de vérification.
Vous pouvez consulter le diagramme ici en vert afin de vérifier si les éléments présents dans le packages ont bien été délivré. |
Vous trouverez en lien cliquable en fin de tutoriel un script téléchargeable. |
|
Ce script sert à exporter les résultats d’un déploiement. Vous pourrez donc consulter le fichier .TXT généré afin de voir si le déploiement s’est bien déroulé. |
Vous pouvez consulter le fichier log suivant afin de suivre le déroulé de déploiement : ’’WindowsUpdate.log’’. |
Annexe script PS1
Script export deploiement sccm.ps1
#
module for Windows PowerShell and will connect to the site.
#
Site configuration
$SiteCode = « 001 » # Site code
$ProviderMachineName = « WIN-1O3Q4QHO20R.JK.local » # SMS Provider machine name
Customizations
$initParams = @{}
$initParams.Add(« Verbose », $true) # Uncomment this line to enable verbose logging
$initParams.Add(« ErrorAction », « Stop ») # Uncomment this line to stop the script on any errors
Do not change anything below this line
Import the ConfigurationManager.psd1 module
if((Get-Module ConfigurationManager) -eq $null) {
Import-Module « $($ENV:SMS_ADMIN_UI_PATH)..\ConfigurationManager.psd1 » @initParams
}
Connect to the site’s drive if it is not already present
if((Get-PSDrive -Name $SiteCode -PSProvider CMSite -ErrorAction SilentlyContinue) -eq $null) {
New-PSDrive -Name $SiteCode -PSProvider CMSite -Root $ProviderMachineName @initParams
}
Set the current location to be the site code.
Set-Location « $($SiteCode):\ » @initParams
Paramètres du script
$NomDeLaCollection = « All Users »
$CheminFichierExport = « C:\Report-Script\Resultat_Deploiement.txt »
Obtenir les détails du déploiement pour la collection spécifiée
$Deploiement = Get-CMDeployment -CollectionName $NomDeLaCollection
Vérifier si le déploiement existe
if ($Deploiement -eq $null) {
Write-Host « Le déploiement n’a pas été trouvé. »
} else {
# Obtenir le statut du déploiement
$StatutDeploiement = $Deploiement | Get-CMDeploymentStatus
# Exporter le résultat vers un fichier texte
$StatutDeploiement | Out-File -FilePath $CheminFichierExport
Write-Host "Le résultat du déploiement a été exporté avec succès vers $CheminFichierExport."
}