HTTP-services kunnen niet worden gestopt wanneer de Microsoft Web Deployment-service is geïnstalleerd
Dit artikel helpt u bij het oplossen van het probleem waarbij u HTTP-services niet kunt stoppen met behulp van de OPDRACHT NET STOP HTTP wanneer de Microsoft Web Deployment Service (MSDEPSVC) is geïnstalleerd.
Oorspronkelijke productversie: Microsoft Web Deployment Service
Origineel KB-nummer: 2597817
Symptomen
Neem het volgende scenario: U probeert de HTTP-service te stoppen op een server waarop Internet Information Services (IIS) 6, 7 of 7.5 wordt uitgevoerd. Op de server is ook de Microsoft Web Deployment Service (MSDEPSVC) geïnstalleerd. Wanneer u de HTTP-service probeert te stoppen met behulp van de NET STOP HTTP
opdrachtregelinstructie, wordt het volgende foutbericht weergegeven in de opdrachtprompt:
De HTTP-service wordt gestopt.....
De HTTP-service kan niet worden gestopt.
Als u de NET STOP HTTP
opdracht opnieuw uitvoert, wordt het volgende bericht weergegeven:
De service wordt gestart of gestopt. Probeer het later nogmaals.
Oorzaak
Dit probleem treedt op omdat de Microsoft Web Deployment Service (MSDEPSVC) afhankelijk is van de HTTP-service, maar wanneer MSDEPSVC in eerste instantie wordt geïnstalleerd, wordt deze afhankelijkheid niet geregistreerd bij Service Control Manager. Wanneer HTTP probeert te stoppen, moet het ook de afhankelijke services stoppen. HTTP is zich er echter niet van bewust dat MSDEPSVC moet worden gestopt vanwege de niet-geregistreerde afhankelijkheid en daarom mislukt de serviceonderbreking.
Oplossing
U kunt dit probleem oplossen door het volgende script te kopiëren en als een PowerShell-script op de server uit te voeren. Het script zorgt ervoor dat alle afhankelijkheden van de HTTP-service correct zijn geregistreerd.
$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
}
}
Controleer of het probleem is opgelost. Als het probleem is opgelost, bent u klaar met deze sectie. Als het probleem niet is verholpen, kunt u contact opnemen met de ondersteuning.
Verwijzingen
Zie Web Deploy 3.6 voor meer informatie over het hulpprogramma voor webimplementatie.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor