- Как удалить службу в Windows
- Как удалить службу в Windows 7
- Удаляем службу в Windows из командной строки
- Удаляем службу с помощью редактора реестра
- Управление службами Windows с помощью PowerShell
- Основные командлеты PowerShell для управления службами Windows
- Остановка, запуск, приостановка и перезапуск служб из PowerShell
- Set-Service – изменение настроек службы Windows
- Создание и удаление служб Windows c помощью PowerShell
- Изменение учетной записи для запуска службы
Как удалить службу в Windows
Как удалить службу в Windows 10
В сегодняшней статье я расскажу, каким образом можно удалить службу в Windows 7,8 или 10. Такая необходимость может возникнуть в том случае, если вы, например, удалили с компьютера какую-либо программу, но ее служба все равно осталась в системе и никак не хочет удаляться.
Способ 1. Удаление службы с помощью командной строки
1. Зайдите в “Пуск” – “Панель управления” – “Администрирование” – “Службы”. Либо нажмите на клавиатуре сочетание клавиш Win+R и в окне “Выполнить” введите команду services.msc – нажмите “ОК”.
2. Найдите в списке службу, которую требуется удалить. Откройте ее двойным щелчком.
На вкладке “Общие” скопируйте имя службы:
3. Теперь запустите командную строку от имени Администратора. Для этого можете ввести в поиске (значок лупы на панели задач) команду cmd – затем щелкнуть по “Командной строке” правой клавишей мыши и выбрать пункт “Запуск от имени администратора”:
Затем жмем Enter на клавиатуре. В случае успешного выполнения команды – должно появиться сообщение: [SC] DeleteService: успех
Теперь можете перезагрузить компьютер – больше в списке служб удаленная служба отображаться не будет.
Способ 2. Удаление службы с помощью редактора реестра
1. Откройте редактор реестра. Для этого нажмите на клавиатуре сочетание клавиш Win+R и в окне “Выполнить” введите команду regedit – нажмите “ОК”:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Здесь найдите раздел с именем удаляемой службы. Щелкните по нему правой клавишей мыши и выберете пункт “Удалить”: В появившемся окне нажмите “Да”, подтверждая удаление.
После этого служба будет полностью удалена из системы.
Как удалить службу в Windows 7
В этой статье мы познакомимся с простым способом, позволяющим удалить любую службу в Windows 7 средствами самой операционной системы без использования сторонних программ.
Прежде чем начать, необходимо уяснить несколько моментов:
- При удалении службы она навсегда исчезнет из системы, и восстановить ее непросто, а в ряде случаем просто невозможно
- Удаление определенных служб может вызвать неработоспособность тех или иных программ. Поэтому не стоит удалять службу, если вы на 100% не уверены за что она отвечает.
- Не удаляйте системные службы Windows 7, т.к. это может привести к неработоспособности всей системы
Также попытаемся понять, в каких случаях возникает необходимость в удалении службы Windows.
- Зачастую программы при удалении из системы оставляют свои службы нетронутыми, и каждый раз при загрузке компьютера система пытается запустить такую службу, однако из-за отсутствия исполняемых или библиотечных файлов сделать этого не может, генерируя ошибку.
- Некоторые вирусы и трояны для маскировки своих деструктивных действий могут создать в системе новую службу. И даже если, ваш антивирус удалит тело вируса, служба может остаться, и ее придется удалять вручную.
- Возможно также ситуация, когда производительность системы снижается вследствие наличия большого количества процессов, работающих в виде служб, и вы решили удалить (а не просто остановить) ряд ненужных более служб в Windows 7.
Чтобы удалить службу в Windows 7, нужно знать ее имя. Для чего откройте окно управления службами Start -> Settings -> Control Panel-> Systems and Maintenance->Administrative Tools->Services.
В появившемся окне служб найдите ту службу, которую вы планируете удалить (в моем примере это “Adobe Lm Service”)
Дважды щелкните по выбранной службе и в появившемся окне свойств в поле «Service name» будет отображено ее имя (у меня имя службы — Adobe LM Service, т.е. оно совпадает с именем в списке служб, но обычно это не так), скопируйте его в буфер обмена.
Затем остановите службу, нажав кнопку «Stop»
Удаляем службу в Windows из командной строки
Откройте окно командной строки (cmd.exe) с правами администратора («Run as administrator»). Чтобы удалить службу в Windows 7 можно воспользоваться системной командой sc. Команда sc.exe – это утилита командной строки, которая используется в Windows 7/Vista/XP для создания, редактирования и удаления служб. Согласно документации TechNet, sc.exe:
sc.exe (Service Controller) осуществляет взаимодействие с установленными службами, получая и задавая их параметры. Утилиту SC.exe можно использовать для тестирования и отладки программ, работающих как службы. Свойства служб хранятся в реестре, параметры команды SC.exe позволяют модифицировать значения этих свойств, а также управлять запуском и остановкой служб. Возможности SC.exe во многом сходны с mmc консолью Services, расположенной в «Панели Управления».
Синтаксис команды удаления службы выглядит так:
Если имя службы содержит пробелы (как в нашем случае), его нужно взять в кавычки:
В случае успешного выполнения команды sc delete в командной строке должно появиться сообщение [SC] DeleteService SUCCESS
Теперь, если в консоли управления службами нажать F5, вы увидите, что служа удалена и в списке не значится.
Удаляем службу с помощью редактора реестра
Альтернативный метод удаления служб в Windows 7 подразумевает использование редактора реестра.
Откройте редактор реестра (regedit.exe), и перейдите в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. В ней содержится список всех служб, установленных в системе.
Найдите имя ветки реестра, соответствующее имени удаляемой службы.
Удостоверьтесь, что в значениях DisplayName and ImagePath содержатся, соответственно имя и путь к исполняемому файлу службы, которую вы планируете удалить.
Щелкните правой конкой мыши по имени найденной ветки реестра с именем службы и выберите «Delete». После чего служба будет удалена из системы.
Управление службами Windows с помощью PowerShell
В Windows вы можете управлять службами не только из графической консоли services.msc или утилиты командной строки Sc.exe (первоначальна включалась в пакет ресурсов Resource Kit), но и с помощью PowerShell. В этой статье мы смотрим различные сценарии управления службами Windows с помощью PowerShell.
Основные командлеты PowerShell для управления службами Windows
Существует восемь основных командлетов Service, предназначенных для просмотра состояния и управления службами Windows.
Чтобы получить весь список командлетов Service, введите команду:
- Get-Service — позволяет получить службы на локальном или удаленном компьютере, как запущенные, так и остановленные;
- New-Service – создать службу. Создает в реестре и базе данных служб новую запись для службы Windows;
- Restart-Service – перезапустить службу. Передает сообщение об перезапуске службы через Windows Service Controller
- Resume-Service – возобновить службы. Отсылает сообщение о возобновлении работы диспетчеру служб Windows;
- Set-Service — изменить параметры локальной или удаленной службы, включая состояние, описание, отображаемое имя и режим запуска. Этот командлет также можно использовать для запуска, остановки или приостановки службы;
- Start-Service – запустить службу;
- Stop-Service – остановить службу (отсылает сообщение об остановке диспетчеру служб Windows);
- Suspend-Service приостановить службу. Приостановленная служба по-прежнему выполняется, однако ее работа прекращается до возобновления работы службы, например с помощью командлета Resume-Service.
Получить подробное описание и примеры использования конкретного командлета можно через Get-help:
Get-Service: получаем список служб и их состояние
Получить список и состояние (Running/Stopped) службы на локальном или удаленном компьютере можно с помощью командлета Get-Service. Параметр -Name позволяет делать отбор по имени службы. Имя службы можно задать с использованием подстановочного символа *.
Если вы не знаете точное имя службы, есть возможность найти службы по отображаемому имени с помощью параметра –DisplayName. Можно использовать список значений и подстановочные знаки.
.
Командлет Get-Service можно использовать для получения состояния служб на удаленных компьютерах, указав параметр -ComputerName. Можно опросить статус службы сразу на множестве удаленных компьютеров, их имена нужно перечислить через запятую. Например, приведенная ниже команда получает состояние службы Spooler на удаленных компьютерах RM1 и RM2.
Get-Service spooler –ComputerName RM1,RM2
Вывести все свойства службы позволит командлет Select-Object:
Get-Service spooler | Select-Object *
Командлет Select-Object позволит вывести определенные свойства службы. Например, нам нужно вывести имя, статус и доступные возможности службы Spooler:
Get-Service Spooler | Select DisplayName,Status,ServiceName,Can*
Командлет Get-Service имеет два параметра, которые позволяют получить зависимости служб:
- Параметр -DependentServices позволяет вывести службы, которые зависят от данной службы;
- Параметр -RequiredServices позволяет вывести службы, от которых зависит данная служба.
Приведенная ниже команда выводит службы, необходимые для запуска службе Spooler:
Get-Service –Name Spooler -RequiredServices
Следующая команда выводит службы, которые зависят от службы Spooler:
Get-Service –Name Spooler -DependentServices
При необходимости найти службы с определенным состоянием или параметрами, используйте командлет Where-Object. Например, получим список запущенных служб со статусом Running:
Для вывода служб с типом запуска Manual, выполните команду
Проверить, что в системе имеется указанная служба:
if (Get-Service «ServiceTest» -ErrorAction SilentlyContinue)
<
Write-host «ServiceTest exists»
>
Остановка, запуск, приостановка и перезапуск служб из PowerShell
Остановить службу можно с помощью командлета Stop-Service. Чтобы остановить службу печати, выполните команду:
Stop-Service -Name spooler
Командлет Stop-Service не выводит никаких данных после выполнения. Чтобы увидеть результат выполнения команды, используйте параметр -PassThru.
Обратите внимание, что не каждую службу можно остановить. Если есть зависимые службы, то получите ошибку
Для принудительной остановки используйте параметр –Force. Вы должны помнить, что остановятся также все зависимые службы:
Stop-Service samss –Force -Passthru
Следующая команда остановит перечисленные службы (bits,spooler) со статусом ”Running”:
get-service bits,spooler | where <$_.status -eq 'running'>| stop-service –passthru
Командлет Start-Service запускает остановленные службы:
Start-Service -Name spooler -PassThru
Служба не запустится, если есть остановленные зависимые службы. Чтобы их найти и включить:
get-service samss | Foreach
Командлет Suspend-Service может приостанавливать службы, допускающие временную приостановку и возобновление. Для получения сведений о возможности временной приостановки конкретной службы используйте командлет Get-Service со свойством «CanPauseAndContinue«.
Get-Service samss | Format-List name, canpauseandcontinue
Чтобы отобразить список всех служб, работа которых может быть приостановлена, введите команду:
Приостановим службу SQLBrowser:
Suspend-Service -Name SQLBrowser
Для возобновления работы приостановленной службы служит командлет Resume-service:
Resume-Service -Name SQLBrowser
Следующая команда возобновляет работу всех приостановленных служб:
get-service | where-object <$_.Status -eq "Paused">| resume-service
Командлет Restart-Service перезапускает службу:
Restart-Service -Name spooler
Эта команда запускает все остановленные сетевые службы компьютера:
get-service net* | where-object <$_.Status -eq "Stopped">| restart-service
Параметр —ComputerName у этих командлетов отсутствует, но их можно выполнить на удаленном компьютере с помощью командлета Invoke-Command или через пайп:
Например, чтобы перезапустите очередь печати на удаленном компьютере RM1, выполните команду:
Get-Service Spooler -ComputerName RM1 | Start-Service
Set-Service – изменение настроек службы Windows
Командлет Set-Service позволяет изменить параметры или настройки служб на локальном или удаленном компьютере. Так как состояние службы является свойством, этот командлет можно использовать для запуска, остановки и приостановки службы. Командлет Set-Service имеет параметр -StartupType, позволяющий изменять тип запуска службы.
Изменим тип запуска службы spooler на автоматический:
Set-Service spooler –startuptype automatic –passthru
Можно перевести службу на ручной (manual) запуск:
Set-Service spooler –startuptype manual –passthru
Создание и удаление служб Windows c помощью PowerShell
New-Service – командлет для создания новой службы в Windows. Для новой службы требуется указать имя и исполняемый файл (вы можете запустить PowerShell скрипт как службу Windows).
В примере создадим новую службу с именем TestService.
new-service -name TestService -binaryPathName «C:\WINDOWS\System32\svchost.exe -k netsvcs»
С помощью параметра Get-WmiObject получим информацию о режиме запуска и описание службы
get-wmiobject win32_service -filter «name=’testservice'»
Изменить параметры новой службы можно командой
Set-Service -Name TestService -Description ‘My Service’ -StartupType Manual
Чтобы удалить службу используйте команду
(Get-WmiObject win32_service -Filter ″name=′TestService′″).delete()
Изменение учетной записи для запуска службы
Вы можете изменить учетную запись, из-под которой запускается служба. Получим имя учетной записи, которая используется для запуска службы TestService
get-wmiobject win32_service -filter «name=’TestService'» | Select name,startname
Для изменения имени и пароля учетной записи выполняем команды.
$svc = get-wmiobject win32_service -filter «name=’TestService'»
$svc.GetMethodParameters(«change»)
В результате получаем список параметров метода Change(). Считаем на каком месте находятся параметры StartName и StartPassword – 20 и 21 место соответственно.
$svc | Invoke-WmiMethod -Name Change –ArgumentList @ ($null,$null,$null,$null,$null,$null,$null, $null,$null,$null,$null,$null,$null,$null,$null,$null, $null,$null,$null,»Administrator»,»P@ssw0rd»)
Либо вы можете указать имя gMSA аккаунта. Пароль при этом не указывается.
Как видите, PowerShell позволяет легко управлять службами Windows. Можно создавать, останавливать, запускать и возобновлять службы, менять их свойства. Большинство командлетов позволяют управлять службами на удаленных компьютерах.