Les services HTTP ne peuvent pas être arrêtés lors de l’installation du service de déploiement web Microsoft
Cet article vous aide à résoudre le problème dans lequel vous ne pouvez pas arrêter les services HTTP à l’aide de la commande NET STOP HTTP lorsque le service de déploiement web Microsoft (MSDEPSVC) est installé.
Version d’origine du produit : Service de déploiement web Microsoft
Numéro de la base de connaissances d’origine : 2597817
Symptômes
Prenons le cas de figure suivant. Vous essayez d’arrêter le service HTTP sur un serveur exécutant Internet Information Services (IIS) 6, 7 ou 7.5. Le service de déploiement web Microsoft (MSDEPSVC) est également installé sur le serveur. Lorsque vous essayez d’arrêter le service HTTP à l’aide de l’instruction NET STOP HTTP
de ligne de commande, le message d’erreur suivant s’affiche dans l’invite de commandes :
Le service HTTP s’arrête.....
Impossible d’arrêter le service HTTP.
Si vous réexécutez la NET STOP HTTP
commande, le message suivant s’affiche :
Le service démarre ou s’arrête. Veuillez réessayer plus tard.
Cause
Ce problème se produit car le service de déploiement web Microsoft (MSDEPSVC) dépend du service HTTP, mais lorsque le MSDEPSVC est initialement installé, cette dépendance n’est pas inscrite auprès du Gestionnaire de contrôle de service. Lorsque HTTP tente de s’arrêter, il doit également arrêter ses services dépendants. Toutefois, HTTP n’est pas conscient qu’il doit arrêter MSDEPSVC en raison de la dépendance non inscrite et, par conséquent, l’arrêt du service échoue.
Résolution
Pour résoudre ce problème, copiez le script suivant et exécutez-le en tant que script PowerShell sur le serveur. Le script garantit que toutes les dépendances du service HTTP sont correctement inscrites.
$bFoundHttp = $false
$msdepsvc = Get-Service -name MsDepSvc
$reqsvcs = "HTTP"
$msdepsvc.ServicesDependedOn | ForEach-Object `
{
if($_.Name -eq "HTTP")
{
$bFoundHttp = $true
}
else
{
if($_.Name -ne "")
{
$reqsvcs += "/" + $_.Name
}
}
}
if ($bFoundHttp -eq $false)
{
$status = $msdepsvc.Status
if($status -eq "Running")
{
Stop-Service -name MsDepSvc
}
sc.exe config MsDepSvc depend= $reqsvcs
if($status -eq "Running")
{
Start-Service -name MsDepSvc
}
}
Vérifiez si le problème est résolu. Si c’est le cas, vous n’avez plus besoin de cette section. Sinon, vous pouvez contacter le support technique.
References
Pour plus d’informations sur l’outil déploiement web, consultez Web Deploy 3.6.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour