Chaque jour de correctif Microsoft, j'ai une assez grande quantité de nouvelles mises à jour que je veux approuver pour mes clients. Mais au lieu de `` Approuver toutes les mises à jour et continuer '', je collecte des informations sur chaque mise à jour dans son article de la base de connaissances pour décider s'il s'agit d'une mise à jour importante pour nous ou non.
C'est une tâche assez fastidieuse, car je dois taper le numéro de Ko correspondant dans le navigateur de mon client et attendre que la page Web se charge. Je me demandais pourquoi Microsoft n'utilisait pas la zone de description de la mise à jour du panneau de configuration WSUS pour afficher de vraies informations utiles et détaillées. Au lieu de cela, toutes mes mises à jour se lisent:
Installez cette mise à jour pour résoudre les problèmes dans Windows. Pour obtenir une liste complète des problèmes inclus dans cette mise à jour, consultez l'article associé de la Base de connaissances Microsoft pour plus d'informations. Après avoir installé cet élément, vous devrez peut-être redémarrer votre ordinateur.
J'ai commencé à penser à un petit script Powershell, qui ajoute les informations nécessaires pour moi. Mais j'ai échoué à la première étape, qui consiste à modifier manuellement une description de mise à jour:
PS C: \ Users \ Administrator> $ wsus = Get-WsusServer
PS C: \ Users \ Administrator> $ update = $ wsus.SearchUpdates ('KB3013791')
PS C: \ Users \ Administrator> $ update [0] .Description
Installez cette mise à jour pour résoudre les problèmes sous Windows. Pour obtenir une liste complète des problèmes inclus dans cette mise à jour, consultez l'article associé de la Base de connaissances Microsoft pour plus d'informations. Après avoir installé cet élément, vous devrez peut-être redémarrer votre ordinateur.PS C: \ Users \ Administrator> $ update [0] .Description = '"0x00000133" Erreur d'arrêt en cas de matériel défectueux dans Windows 8.1 ou Windows Server 2012 R2'
PS C: \ Users \ Administrator> $ update [0] .Description
"0x00000133" Erreur d'arrêt en cas de matériel défectueux dans Windows 8.1 ou Windows Server 2012 R2PS C: \ Users \ Administrator> $ update = $ wsus.SearchUpdates ('KB3013791')
PS C: \ Users \ Administrator> $ update [0] .Description
Installez cette mise à jour pour résoudre les problèmes sous Windows. Pour obtenir une liste complète des problèmes inclus dans cette mise à jour, consultez l'article associé de la Base de connaissances Microsoft pour plus d'informations. Après avoir installé cet élément, vous devrez peut-être redémarrer votre ordinateur.
Il semble que mes modifications ne soient pas enregistrées dans la base de données. Soit je manque une sorte de, $wsus.SubmitChanges()
soit la $wsus.SearchUpdates()
commande retourne un 'update.Clone ()' afin que mes modifications ne soient enregistrées nulle part.
Comment puis-je atteindre mon objectif de modifier les descriptions de mise à jour WSUS?
la source
$update[0].Description | Get-Member
Vous pourrez peut-être utiliser la.Replace()
fonction membre, mais il n'est pas clair comment gérer sa modification. Vous auriez besoin d'appeler en quelque sorte un,Set()
mais je ne vois pas tout de suite comment cela fonctionne.Réponses:
Mise à jour
En utilisant la réponse ci-dessous, j'ai créé un petit outil qui ajoute automatiquement les descriptions à mon serveur WSUS. J'ai décidé de publier mon outil sur Github, alors n'hésitez pas à l'essayer.
https://github.com/Physikbuddha/wsus-online-descriptions/releases/latest
Réponse originale
J'ai essayé de résoudre le problème avec Get-Member, comme suggéré par mortenya dans la section des commentaires, mais sans succès.
Enfin, j'ai fini par modifier directement la base de données WSUS pour changer la description.
Faites attention! N'utilisez ma solution que si vous êtes absolument sûr de ce que vous faites. Modifier la base de données dont dépend votre serveur, c'est comme effectuer une opération à cœur ouvert sur votre meilleur ami.
Mon installation WSUS utilise la base de données interne Windows pour stocker les informations de mise à jour. Étant donné que cette version ne permet pas les requêtes distantes, j'ai dû utiliser une installation locale de SQL Server Management Studio.
Connectez-vous à la base de données en utilisant le nom de serveur fourni par l'article lié ci-dessus.
J'ai pu modifier la description de la mise à jour en exécutant cette requête:
Ceci est juste un moyen de définir la description à la main, donc je vais faire d'autres expériences sur la façon d'obtenir les descriptions directement à partir du site Web de la base de connaissances et de les appliquer automatiquement à toutes les nouvelles mises à jour. Je vais ajouter les informations à ce post.
la source