Os serviços HTTP não podem ser interrompidos quando o Serviço de Implantação Web da Microsoft é instalado
Este artigo ajuda você a resolve o problema em que não é possível parar os serviços HTTP usando o comando HTTP NET STOP quando o MSDEPSVC (Serviço de Implantação Web da Microsoft) está instalado.
Versão original do produto: Serviço de Implantação Web da Microsoft
Número de KB original: 2597817
Sintomas
Considere o seguinte cenário. Você está tentando parar o serviço HTTP em um servidor que executa os Serviços de Informações da Internet (IIS) 6, 7 ou 7.5. O servidor também tem o MSDEPSVC (Serviço de Implantação Web da Microsoft) instalado. Quando você tenta parar o serviço HTTP usando a NET STOP HTTP
instrução de linha de comando, a seguinte mensagem de erro é exibida no prompt de comando:
O serviço HTTP está parando.....
O serviço HTTP não pôde ser interrompido.
Se você executar o NET STOP HTTP
comando novamente, a seguinte mensagem será exibida:
O serviço está começando ou parando. Tente novamente mais tarde.
Motivo
Esse problema ocorre porque o MSDEPSVC (Serviço de Implantação Web da Microsoft) depende do serviço HTTP, mas quando o MSDEPSVC é instalado inicialmente, essa dependência não é registrada no Service Control Manager. Quando o HTTP tenta parar, ele também precisa parar seus serviços dependentes. No entanto, o HTTP não está ciente de que precisa parar o MSDEPSVC devido à dependência não registrada e, portanto, a paralisação do serviço falha.
Resolução
Para resolve esse problema, copie o script a seguir e execute-o como um script do PowerShell no servidor. O script garantirá que todas as dependências do serviço HTTP sejam registradas corretamente.
$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
}
}
Verifique se o problema foi corrigido. Se o problema tiver sido corrigido, você terá concluído esta seção. Se o problema não tiver sido corrigido, você poderá contatar o suporte.
Referências
Para obter mais informações sobre a Ferramenta de Implantação da Web, consulte Implantação da Web 3.6.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários