Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья поможет устранить проблему, из-за которой невозможно остановить http-службы с помощью команды NET STOP HTTP при установке службы веб-развертывания Майкрософт (MSDEPSVC).
Исходная версия продукта: Служба веб-развертывания Майкрософт
Исходный номер базы знаний: 2597817
Симптомы
Рассмотрим следующий сценарий. Вы пытаетесь остановить службу HTTP на сервере под управлением службы IIS (IIS) 6, 7 или 7.5. На сервере также установлена служба веб-развертывания Майкрософт (MSDEPSVC). При попытке остановить службу HTTP с помощью NET STOP HTTP
инструкции командной строки в командной строке в командной строке отображается следующее сообщение об ошибке:
Служба HTTP останавливается.....
Не удалось остановить службу HTTP.
При повторном выполнении NET STOP HTTP
команды отображается следующее сообщение:
Служба запускается или останавливается. Повторите попытку позже".
Причина
Эта проблема возникает, так как служба веб-развертывания Майкрософт (MSDEPSVC) зависит от службы HTTP, но когда MSDEPSVC изначально устанавливается, что зависимость не зарегистрирована в диспетчере управления службами. При попытке остановить HTTP необходимо также остановить зависимые службы. Однако HTTP не знает, что он должен остановить MSDEPSVC из-за незарегистрированной зависимости, поэтому остановка службы завершается ошибкой.
Решение
Чтобы устранить эту проблему, скопируйте следующий сценарий и запустите его в качестве скрипта PowerShell на сервере. Скрипт гарантирует правильность регистрации всех зависимостей службы HTTP.
$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
}
}
Проверьте, устранена ли проблема. Если устранена, пропустите дальнейшие инструкции, приведенные в этом разделе. Если нет, обратитесь в службу технической поддержки.
Ссылки
Дополнительные сведения о средстве веб-развертывания см. в разделе "Веб-развертывание 3.6".