Windows Update ne fonctionne pas sur Windows 2012 R2 Standard

18

J'ai récemment hérité de la gestion d'un serveur Windows 2012 sur un site distant.

J'ai vérifié Windows Update et il n'a pas été mis à jour depuis mars. Quand je dis à Windows de vérifier les mises à jour, il agit comme s'il vérifiait, mais il semble que cela dure des heures. Si j'essaye de redémarrer le service de mise à jour de Windows, il ne semble jamais pouvoir s'arrêter. Mon seul remède semble être le redémarrage pour revenir au point où je peux dire à Windows Update de vérifier les nouvelles mises à jour.

La dernière vérification réussie des mises à jour indique le 20 mars.

La dernière fois que les mises à jour ont été installées, le 17 mars (échec).

L'historique des mises à jour montre qu'une mise à jour a échoué le 17 mars, une mise à jour du pilote d'imprimante, mais l'historique affiche 13 mises à jour ayant échoué le 17 février.

Je ne sais pas quoi d'autre à essayer.

Écossais
la source
Tirent-elles directement les mises à jour de Microsoft, WSUS ou SCCM?
Davidw
1
Directement de Microsoft.
Scot
Arrêtez wuauserv (Windows Update Service), supprimez \ Windows \ WindowsUpdate.log, démarrez le service, recherchez la mise à jour et vérifiez WindowsUpdate.log. (il a tendance à croître rapidement, il est donc plus facile de le nettoyer avant de le lire).
Somescout
1
Quelle est l'erreur exacte dans \ Windows \ WindowsUpdate.log? Voir support.microsoft.com/kb/938205 pour les codes d'erreur
xXhRQ8sD2L7Z
Il est répondu ici: serverfault.com/a/830047/398329 Je l'ai trouvé utile.
niveshsaharan

Réponses:

20

Deux de mes trois machines 2012R2 ont présenté ce comportement en avril dernier. Ils se bloqueraient à la recherche de mises à jour ... pour toujours.

Je n'ai jamais appris exactement ce qui a causé le problème, mais je l'ai résolu en procédant comme suit:

  1. Arrêtez le service Windows Update.

    net stop wuauserv
    
  2. Supprimez le répertoire de cache de Windows Update C:\Windows\SoftwareDistribution.

    Remove-Item -Recurse -Force C:\Windows\SoftwareDistribution
    
  3. Redémarrer le PC. (Sur une machine, il a fallu plusieurs redémarrages pour que tout soit supprimé de ce répertoire, alors continuez d'essayer si nécessaire.)

  4. Exécutez à nouveau Windows Update manuellement. Il échouera presque instantanément et proposera d'exécuter un outil de diagnostic. Téléchargez l'outil et laissez-le s'exécuter.

  5. L'outil détectera et résoudra certains problèmes. À ce stade, réexécutez manuellement Windows Update. Windows Update a bien fonctionné à ce stade.

Michael Hampton
la source
3
Je suis passé à l'étape 4, mais il n'a pas échoué instantanément ni proposé d'exécuter un outil de diagnostic. Il continue de fonctionner avec la barre de progression en boucle, sans obtenir de mises à jour.
Scot
1
Essayez l'outil de diagnostic Windows Update lié à ce stade, que Windows le propose ou non.
Michael Hampton
6
@MichalSokolowski "Il n'y a AUCUNE raison, sur un système fonctionnant correctement, pourquoi ce dossier devrait jamais être touché." En effet, mais nous ne discutons pas ici de systèmes fonctionnant correctement.
Michael Hampton
1
Je voulais souligner autre chose ici; détruire l'historique des correctifs de l'agent Windows Update est vraiment une mauvaise idée, car après la suppression, il perd la capacité de déterminer ce qui a été corrigé et ce qui ne l'a pas été. En un mot, les conclusions sont (selon ce fil): 1) la suppression de la distribution logicielle doit être traitée en dernier recours avant de reformater la boîte, 2) la suppression doit être précédée d'un diagnostic approprié - c'est-à-dire DataStore.EDB cassé, DataStore.EDB désynchronisé et Dossier de téléchargement - ce sont les plus courants. La suppression du contenu DataStore \ Logs détruira l'historique des correctifs.
Michal Sokolowski
1
@MichalSokolowski Vous avez probablement raison. Pourtant - sur chacun de mes systèmes, Windows 2k3, 2012, 2012R2, 7, 8, 8.1 (pas encore 10), j'ai eu le même problème. Donc .. une bonne analyse est un peu difficile à moins que vous ne vouliez en faire un travail à plein temps. J'ai également le même problème sur les machines d'autres personnes, donc ce ne peut pas être seulement ma faute mais cela doit être un problème général de Windows Update (en particulier les nouvelles installations de systèmes d'exploitation plus anciens).
Andreas Reiff
7

J'ai trouvé cette excellente réponse ici et cela a fonctionné à merveille pour moi. Je veux juste partager au cas où quelqu'un chercherait:

Essayez ceci à une invite de commande élevée:

netsh winhttp import proxy source=ie

et redémarrer

une autre solution qui a également fonctionné pour moi a été de définir le mode de mise à jour sur "Ne jamais vérifier les mises à jour"

avs099
la source
Qu'est-ce que cela fait?
GlennG
0

J'ai utilisé l'outil de préparation de mise à jour du système et DISM. Ça a marché pour moi. Vous pouvez l'obtenir ici: http://support.microsoft.com/kB/947821

Greg Olson
la source
J'ai récemment utilisé l'outil de préparation de la mise à jour du système, et avec succès également.
Mitch
0

J'ai joué avec une machine virtuelle 2012 et j'ai eu ce problème. Ma solution (rapide, non sécurisée, etc.) a consisté à désactiver la sécurité renforcée IE sur le serveur et il a commencé à parler avec plaisir à MS Windows Update. Pas une solution pour un vrai serveur, mais c'est un serveur de développement de jouets et je suis d'accord avec ça.

Vraisemblablement, le site de mise à jour Windows doit simplement être ajouté à certains sites de confiance quelque part pour une vraie solution?

marcus.greasly
la source
0

Mon correctif sur une machine nouvellement installée sur Windows Server 2012 R2 sur Citrix 6.5, et comme Marcus Greasly l'a signalé, désactivez IE Enchanced Security ... a fonctionné immédiatement ...

Pour désactiver la sécurité renforcée d'IE dans Windows Server 2012 R2, lancez le Gestionnaire de serveur, sur le côté gauche, cliquez sur Serveur local. Sur le côté droit, cliquez sur le lien Activé à côté de Configuration de sécurité renforcée IE. Vous verrez maintenant la boîte de configuration de sécurité renforcée d'Internet Explorer.

https://prajwaldesai.com/disable-ie-enhanced-security-in-windows-server-2012-r2/

Peter Matsumoto
la source
0

J'ai récemment rencontré les mêmes problèmes sur mon serveur 2012 et tout ce que j'ai fait a été de désactiver le service Malwarebytes et les mises à jour téléchargées immédiatement. Essayez de désactiver tout logiciel malveillant ou antivirus dont vous disposez, car cela pourrait être la cause de la racine.

rockit
la source
0

Aperçu

Nous avons rencontré ce problème sur certains serveurs virtuels migrés d'un fournisseur «cloud» vers notre centre de données interne. La cause principale était les autorisations sur le %SystemRoot%\System32\catroot2dossier. Il y avait un certain nombre de différences entre les autorisations sur ce dossier sur un serveur sain et celles sur le serveur migré. Je crois que la clé était que cela TrustedInstallern'avait pas full access.

Symptômes supplémentaires

En regardant le journal des applications dans l'Observateur d'événements, nous avons vu un certain nombre d'erreurs:

Source: CAPI2
EventId: 257
Text: The Cryptographic Services service failed to initialize the Catalog Database. The ESENT error was: -1032.

Source: ESENT
EventId: 490
Text: Catalog Database (416) Catalog Database: An attempt to open the file "C:\Windows\system32\CatRoot2\{127D0A1D-4EF2-11D1-8608-00C04FC295EE}\catdb" for read / write access failed with system error 5 (0x00000005): "Access is denied. ".  The open file operation will fail with error -1032 (0xfffffbf8).

L'indice se trouve dans le texte de l'erreur ESENT; c'est-à-dire que les autorisations d'accès à un fichier sous le dossier catroot2.

Résolution

Donnez au compte Trusted Installer le contrôle total sur le dossier catroot2 et ses enfants.

Au cas où cela ne suffirait pas, à titre de comparaison, l'exécution icacls %systemroot%\system32\catroot2sur un serveur sain donne ceci:

C:\Windows\system32\catroot2 NT SERVICE\CryptSvc:(F)
                         NT SERVICE\CryptSvc:(OI)(CI)(IO)(F)
                         NT SERVICE\TrustedInstaller:(I)(F)
                         NT SERVICE\TrustedInstaller:(I)(CI)(IO)(F)
                         NT AUTHORITY\SYSTEM:(I)(F)
                         NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
                         BUILTIN\Administrators:(I)(F)
                         BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
                         BUILTIN\Users:(I)(RX)
                         BUILTIN\Users:(I)(OI)(CI)(IO)(GR,GE)
                         CREATOR OWNER:(I)(OI)(CI)(IO)(F)
                         APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(RX)
                         APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(OI)(CI)(IO)(GR,GE)

NB: Pour ajouter Trusted Installer, vous devrez rechercher dans les comptes d'ordinateurs locaux nt service\trustedinstaller.

Après avoir remplacé les autorisations catroot2, assurez-vous de replace permissions on child objects & containerscocher la case pour vous assurer que les éléments enfants ont également leurs autorisations résolues.

Aucun redémarrage n'est requis pour le correctif lui-même (bien évidemment, une fois que les mises à jour recommenceront à fonctionner, vous devrez probablement redémarrer pour celles-ci).

JohnLBevan
la source