Impossible de supprimer la fonctionnalité Web-Server

J’ai un tas de problèmes, mais j’ai pensé me concentrer sur celui qui, je pense, me permettra au moins de réinitialiser IIS.

Sur Windows Server 2019 Standard, la désinstallation de la fonctionnalité Web-Server depuis une session PowerShell élevée échoue avec une erreur de fichier introuvable.

Uninstall-WindowsFeature -Name Web-Server -Restart

Erreur :

Uninstall-WindowsFeature:
The request to add or remove features on the specified server failed.
Removal of one or more roles, role services, or features failed.
The system cannot find the file specified. Error: 0x80070002
At line:1 char:1
+ Uninstall-WindowsFeature -Name Web-Server -Restart
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (@{Vhd=; Credent...Name=localhost}:PSObject) [Uninstall-WindowsFeature
   ], Exception
    + FullyQualifiedErrorId : DISMAPI_Error__Failed_Disabling_Updates,Microsoft.Windows.ServerManager.Commands.RemoveW
   indowsFeatureCommand

Cela a commencé quand mon CI/CD a échoué lors d’un déploiement. Il cherche le fichier ApplicationHost.config dans :

c:\Windows\system32\inetsrv\config\applicationHost.config

J’ai essayé de restaurer depuis l’historique et cela échoue aussi.

La mise à jour Windows KB5060531 échoue aussi, elle atteint 100% pour l’installation, et échoue à la fin.

ApplicationHost.config n’est pas dans le répertoire où il devrait être. Rien de ce que je fais ne peut y mettre une copie.

Failed to deploy web package to IIS website.
Error: Filename: \\?\C:\Windows\system32\inetsrv\config\applicationHost.config
Error: Cannot read configuration file
Error count: 1.
Error: The process 'C:\azagent\A5\_work\_tasks\IISWebAppDeploymentOnMachineGroup_1b467810-6725-4b6d-accd-886174c09bba\0.257.0\node_modules\azure-pipelines-tasks-webdeployment-common\MSDeploy\M142\MSDeploy3.6\msdeploy.exe' failed with exit code 4294967295 (0xFFFFFFFF)

J’espère juste que quelqu’un sait quoi faire ici.


Source : Server Fault.)

Il s’est avéré que c’était une situation de malware.

Larva-25003

Il fait quelque chose de sournois en ajoutant un pilote au système, dans mon cas winkbj.sys, et en enregistrant un mauvais module IIS IsapiCachesModule. Puis il rend les fichiers applicationhost, caches.dll et winkbj.sys invisibles dans l’explorateur Windows (même lorsque vous demandez l’affichage des fichiers cachés et protégés).

Tout est couvert ici.

Ce qui n’est pas couvert, c’est comment corriger cela.

  • Obtenez une copie propre de votre fichier applicationhost.config, vous pouvez regarder dans votre dossier c:\Inetpub\history, mais assurez-vous d’ouvrir le fichier et de supprimer toute référence au module et à la DLL mentionnés ci-dessus (vous aurez quelques endroits à mettre à jour). Enregistrez ce fichier dans un nouveau dossier facile à trouver (j’ai utilisé c:\temp).

  • Connectez-vous à votre ordinateur en mode sans échec. C’était problématique pour moi car j’ai un serveur dédié. J’ai dû trouver une solution tierce compatible avec mon hébergeur (comme TightVNC). Si vous utilisez TightVNC, assurez-vous de faire ce qui est couvert dans le lien suivant.

  • Supprimez c:\windows\system32\drivers\winkbj.sys et c:\windows\system32\inetsrv\caches.dll.

  • Déplacez votre fichier ApplicationHost.config frais/sûr vers c:\windows\system32\inetsrv\config

Comme toujours, assurez-vous de sauvegarder tout ce que vous modifiez au préalable.