Запуск и настройка службы Windows из командной строки |

Запуск и настройка службы windows из командной строки |

Несмотря на свой примитивный вид и скромные размеры, командная строка предоставляет множество вариаций на тему «А что если… произвести запуск службы из командной строки». Фактически, простому обывателю она понадобится в очень редких случаях, если совсем не понадобится, работа со службами (их запуск или остановка) и то реже (хотя тут скорее уместна команда net stop).

Работа со со службами из командной строки

Но, есть множество талантливой молодежи, или просто проницательных людей, которые с огромным удовольствие захотят засунуть свой нос в вашу систему. Конечно, большинство простых обывателей не будет извращаться над собой используя Windows NT или Windows 2000, да и Семерка все чаще наступает на горло «простенькому» ХР, но, командная_строка в мире операционных систем, это все ровно, что таблица умножения в мире финансов.

В Панели управление/Администрирование находится оснастка Службы, которая позволяет управлять рядом сервисов. Двойной щелчок по любой из них позволяет просмотреть ряд параметров:

настройка и запуск службы из командной строки

Вкладка Общие показывает состояние, тип запуска, описание, исполняемый файл и другую информацию. Использование CMD позволяет получить аналогичную информацию, а также управлять состоянием и запуском служб, используя командную строку:

Sc start Имя_Службы – производится запуск службы из командной строки

Sc pause Имя_Службы – приостановка сервиса

Sc continue Имя_Службы – восстановление работы приостановленного сервиса

Sc stop Имя_Службы – полная остановка

Эти команды можно применять и на удаленных машинах. Например, что бы запустить УдаленныйРеестр на машине с адресом 192.168.1.6., надо прописать (вместо IP можно и имя машины прописать, например Mailer):

Хотя, запустить службу из командной строки можно и при использовании утилиту net start, или net stop соответственно (net stop RemoteRegistry)

Что бы настроить тип запуска применяется команда sc config (хотя ее возможности этим не ограничиваются). Синтаксис следующий:

Флаг может принимать три значения:

тут мы отключили RemoteRegistry на удаленной машине. Стоит помнить, что отключение сервиса его не останавливает, после перезагрузки он может вновь запустится.

настройка и запуск службы из командной строки

На вкладке Вход в систему видно, что сервис можно запускать или от имени системной учетной записи, или от имени любой другой учетной записи. Так, что бы запустить службу из командной строки под тои или иной учетной записью, используется синтаксис:

В данном примере УдаленныйРеестр грузится под ЛокальнойСлужбой (NT AUTHORITYLocalService), а можно и под системной учетной записью (LocalSystem), но лучше этого не делать:

Если использовать флаг type= interact, то это укажет, что сервис может взаимодействовать с рабочим столом Windows:

тут флаг type= own говорит, что cлужбa выполняется в собственном процессе, если же работа происходит в общем процессе, то применятся флаг type= share. Например:

Используя команду sc qc ИмяСлужбы можно детально просмотреть информацию о ней, в том числе и тип запуска, например:

TYPE : 20 WIN32_SHARE_PROCESS (общий процесс)
или
TYPE : 20 WIN32_OWN_PROCESS (собственный процесс)

Может возникнуть необходимость сделать запуск определенной службы, используя командную строку, не от имени системы, а от имени пользователя, в таком случае надо указывать имя учетной записи и пароль, например:

sс config w3svc obj = User password=UserPass — тут w3svc настроена на запуск от имени пользователя User с паролем UserPass. Общий же синтаксис такой:

sс config ИмяCлужбы obj = [Домен]Пользователь password= пароль — тут Домен — имя домена, где находится учетная запись (не является обязательным). В случае, если системная cлужбa была прежде сконфигурирована под локальную систему, то при перенастройке под учетную запись домена надо использовать флаг type= own:

Операционная система Windows содержит множество лазеек, которые позволяют в нее проникнуть (в том числе и сервер сценариев Windows Script Host), обходя стандартные правила. Не последнюю роль тут играют и системные службы. Например, утилита PsExec позволяет войти в удаленную систему или же запустить приложение от имени Локальной Системы. В процессе создается служба которая работает на обеих машина, она то и оперирует всем процессом связи. Однако, гордые обладатели Семерки, или даже ХР (если были установлены нужные обновления), могут сильно разочароваться. Хотя запуск службы psexecsvc можно произвести и непосредственно из командной строки, система ее просто игнорирует (или запрещает выполнять ее функции). Конечно, если есть голова, то можно создать аналог Psexec (тем более, что алгоритм работы известен), авось прокатит, но, если бы все было так, как в книге пишут…

Спасибо за внимание. Автор блога

Запуск службы из powershell

Во избежании ошибки «Access is denied«, запустите PowerShell с правами администратора: нажмите клавишу Win, чтобы открыть меню «Пуск», наберите powershell, чтобы найти командную строку и нажмите комбинацию Ctrl Shift Enter, чтобы запустить PowerShell от имени администратора.

Используйте следующие команды, чтобы запустить, остановить или проверить статус службы в Windows из PowerShell.

Запустить службу:

PS C:> Start-Service serviceName

Узнать состояние службы:

PS C:> Get-Service serviceName

Остановить службу:

PS C:> Stop-Service serviceName

Запуск службы из командной строки (cmd)

Во избежании ошибки «Access is denied«, запустите CMD с правами администратора: нажмите клавишу Win, чтобы открыть меню «Пуск», наберите cmd, чтобы найти командную строку и нажмите комбинацию Ctrl Shift Enter, чтобы запустить командную строку от имени администратора.

Используйте следующие команды, чтобы запустить, остановить или проверить статус службы в Windows из командной строки (CMD).

Запустить службу:

C:> net start serviceName

Узнать состояние службы:

C:> sc query serviceName

Остановить службу:

C:> net stop serviceName

Командная строка (cmd) windows и её команды (параметры)

Что такое командная строка?

Командная строка windows – это отдельное ПО, которое входит в состав Операционной Системы и обеспечивает взаимосвязь между пользователем и ОС. С её помощью можно производить команды MS-DOS и других компьютерных команд. Основное преимущество командной строки состоит в том, что она позволяет вводить все команды без участия графического интерфейса, который намного быстрее и имеет массу дополнительных возможностей, которые не могут быть осуществлены в графическом интерфейсе.

:/>  Почему не заряжается батарея на ноутбуке но ноутбук работает от сети

Командная строка запускается в своей оболочке и предназначена для более опытных пользователей и помогает в таких сложных ситуациях, когда другие команды уже не работают. Например, через командную строку вводят команды в случае заражения вирусами или “поломки” системных файлов, а так же восстановление windows.

Где находится командная строка?

Основной файл командной строки – консоль cmd.exe переводящий команды пользователя в понятный системе вид, находится в папке с установленной ОС по пути: {буква_системного_диска}:WINDOWSsystem32cmd.exe

Как запустить / открыть / вызвать командную строку?

Данные методы запуска командный строки актуальны для всех версий, в том числе и тех, которые я рассматриваю на своем сайте – windows XP , 7 , 8

1) Пуск – Все программы – Стандартные – Командная строка

2) Пуск – Выполнить – вводим cmd.exe

3) сочетание клавиш Win R – вводим cmd

4) Запуск из системной папки: {буква_системного_диска}:WINDOWSsystem32cmd.exe

Для того, чтобы запустить командную строку от имени Администратора, подойдет 1 и 4 способ, нужно на ярлыке щёлкнуть ПКМ и выбрать в меню “Запуск от имени Администратора”.

в этом случае вверху окна будет значится

Администратор:

командная строка (путь).

Команды / параметры / ключи командной строки.
Узнать команды командной строки можно прям в ней же, набрав help и нажав клавишу Enter (после окончания ввода всех команд нужно использовать именно Enter (ВВОД) ).

только этот список не совсем полный, в нём отображаются лишь основные наиболее часто используемые команды и параметры.

Ниже, под спойлером, я собрал

список команд командной строки (CMD) и их описание

.

append – позволяет программам открывать файлы в указанных каталогах так , будто они находятся в текущем каталоге
arp – отображение и изменение таблиц преобразования IP-адресов в физические, используемые протоколом разрешения адресов
at – запуск программ в указанное время
atmsdm – контроль подключений и адресов, зарегистрированных диспетчером вызовов ATM в сетях с асинхронным режимом передачи (ATM).
attrib – изменение атрибутов файлов и папок
auditusr – задаёт политику аудита пользователей
assoc – вывод, либо изменение, сопоставлений по расширениям имён файлов
break – включение режима обработки клавиш CTRL C
blastcln – утилита очистки от червей
bootcfg – может быть использована для настройки, извлечения, изменения или удаления параматров командной строки в файле Boot.ini
call – вызов одного пакетного файла из другого
cacls – просмотр изменение таблиц управления доступом ACL к файлам
cd – вывод имени, либо изменение текущей папки
chcp – вывод, либо изменение активной кодовой страницы
chdir – вывод, либо смена текущей папки
copy – копирование одного или нескольких файлов
cls – очистка экрана
chkdsk – проверка диска и вывод отчёта
chkntfs – выводит или изменяет параметры проверки диска во время загрузки
ciddaemon – сервис индексации файлов
cipher – программа шифрования файлов
comp – сравнение содержимого двух файлов или наборов файлов
compact – просмотр и изменение параметров сжатия файлов в разделах NTFS
convert – преобразование файловой системы тома FAT в NTFS
date – вывод, либо установка текущей даты
del – удаление одного или нескольких файлов
dir – вывод списка файлов и подпапок из указанной папки
diskcopy – копирование содержимого одного гибкого диска на другой
diskcomp – сравнение содержимого двух гибких дисков
debug – средство отладки и редактирования программ
defrag – дефрагментатор
devcon – это программа с интерфейсом командной строки, которая используется в качестве альтернативы диспетчеру устройств. С ее помощью можно включать, выключать, перезапускать, обновлять, удалять и опрашивать отдельные устройства или группы устройств. Программа DevCon также предоставляет необходимые разработчику драйвера сведения, которые недоступны с помощью диспетчера устройств.
diantz – cссылка на программу makecab.exe.
diskpart – использования сценария diskpart
diskperf – счётчик производительности
doskey – редактирование и повторный вызов команд windows xp , создание макросов driverquery – просмотр списка установленных драйверов устройств и их свойства
edlin – запуск построчного текстового редактора
echo – вывод сообщений и переключение режима отображения команд на экране
endlocal – конец локальных изменений среды для пакетного файла
erase – удаление одного или нескольких файлов
esentutl – maintance utilities for microsoft windows databases
eventcreate – позволяет создать запись об основном событии в журнале событий
eventtriggers – позволяет настроить триггеры событий в локальной или удалённой системе
exe2bin – преобразование exe в двоичный формат
expand – распаковка сжатых файлов
fc – сравнение файлов и вывод различий между ними
for – запуск указанной команды для каждого файла в наборе
format – форматирование диска
ftype – вывод, либо изменение типов файлов
find – поиск текстовой строки в одном или нескольких файлах
findstr – поиск строк в файлах
finger – вывод сведений о пользователях указанной системы, на которой запущена служба
fltmc – работа с драйверами фильтров
fontview – программа просмотра шрифтов
forcedos – запуск заданной программы в подсистеме MS-DOS. Эта команда необходима для тех программ MS-DOS, которые не распознаются системой Microsoft Windows XP.
fsutil – служебная программа командной строки, которая используется для выполнения связанных задач файловых систем FAT и NTFS, таких как управление точками повторной обработки, управление разреженными файлами, отключение тома или расширение тома.
ftp – программа передачи файлов
goto – передача управления в указанную строку пакетного файла
graftabl – позволяет windows отображать расширенный набор символов в графическом режиме
getmac – отображает MAC-адрес одного или нескольких сетевых адаптеров
gpresult – отображает результирующую политику RSoP для указанного компьютера
gpupdate – выполнение обновления групповых политик
if – оператор условного выполнения команд в пакетном файле
ipconfig – информация о IP адресе
ipxroute – программа управления маршрутизацией nwlink ipx
label – создание , изменение и удаление меток тома для диска
lodctr – обновление имен счётчиков и поясняющего текста для расширенного счётчика
logman – управление службой “повешения и журналы производительности”
logoff – завершение сеанса
lpq – отображение состояния очереди удалённой очереди печати lpq
lpr – направляет задание печати на сетевой принтер
lsass – сам не пойму для чего )
md – создание папки
mkdir – создать папку
mode – конфигурирование системных устройств
more – последовательный вывод данных по частям размером в один экран
move – перемещение одного или нескольких файлов из одной папки в другую
makecab – архивирует файлы в cab архив
mem – выводит сведения об используемой и свободной памяти
mofcomp – 32-разрядный компилятор
mountvol – создание, просмотр и удаление точек подключения
mqbkup – утилита архивирования и восстановления очереди сообщений
mqsvc – обеспечивает инфраструктуру для работы распределенных приложений, основанных на асинхронных сообщениях. MSMQ
mrinfo – работа с многоадресными рассылками.
msg – отправка сообщений
nbtstat – отображение статистики протокола и текущих подключений tcp/ip с помощью nbt
net – имеет кучу синтаксисов, узнать можно введя net /?
net1 – то же самое что и net
netsh – тоже много синтаксисов
netstat – отображение статистики протоколов и текущих сетевых подключений TCP/IP
nlsfunc – загрузка сведений о национальных стандартах
odbcconf – настройка драйвера ODBC.
openfiles – вывод списка открытых файлов и папок, которые были открыты в системе
path – вывод, либо установка пути поиска исполняемых файлов
popd – восстановление предыдущего значения текущей папки
prompt – изменение приглашения в командной строке
pushd – сохранения значений текущей активной папки и переход к следующей
pathping – программа пингования и поиска пути.
pentnt – обнаруживает ошибки деления с плавающей точкой процессора Pentium, отключает аппаратную обработку чисел с плавающей точкой и включает эмуляции операций с плавающей точкой.
ping – отправка пакетов на указанный адрес
ping6 – команда проверки связи
powercfg – управление электропитанием системы
print – печать текстового файла
proxycfg – инструмент настройки прокси
qappsrv – отображает доступные серверы терминалов в сети
qprocess – отображает информацию о процессах
qwinsta – отображение информации о сеансах терминалов
rd – удаление папки
rem – помещение ремарки в пакетный файл
ren – переименование файлов и папок
rename – переименовать файл или папку
rmdir – удаление папки
rasdial – интерфейс связи из командной строки для клиента службы удалённого доступа
rcp – обмен файлами с компьютером, на котором выполняется служба rcp
recover – восстановление данных на повреждённом диске
reg – служит для работы с реестром
regsvr32 – сервер регистрации
relog – создаёт новый журнал производительности из уже имеющегося, изменяет интервал сбора данных и ещё что то…
replace – замена файлов
reset – утилита сброса служб терминалов
rexec – выполнение команд на удаленных узлах на которых выполняется служба rexec
route – обработка таблиц сетевых маршрутов
rsh – выполнение команд на удалённых узлах на которых запущена служба rsh
runas – использование приложений от имени другого пользователя
rwinsta – сброс значений подсистем оборудования и программ сеанса в начальное состояние
sc – можно узнать где находиться профиль для работы в домене
set – вывод, установка и удаление переменных среды windows
setlocal – начало локальных изменений среды для пакетного файла
shift – изменение содержимого подставляемых параметров для пакетного файла
start – запуск программы или команды в отдельном окне
schtasks – заменяет AT, только чуть получше
sdbinst – установщик базы данных совместимости
setver – задаёт номер версии, который MS-DOS сообщает программе
sfc – проверка всех запущенных системных файлов и замена неправильных версий
shadow – наблюдение за другим сеансом служб терминалов
shutdown – перезагрузка, выключения компьютера и т.п.
smbinst – процесс, принадлежащий System Management BIOS Driver Installer.
sort – программа сортировки
subst – сопоставление имени диска указанному пути
systeminfo – позволяет получить информацию о конфигурации системы
taskkill – принудительное завершение процессов
tasklist – показывает процессы, выполняемые в данный момент
time – просмотр и изменение текущего времени
title – назначение заголовка текущего окна интерпретатора
tree – графическое отображение структуры заданного диска или папке
type – вывод на экране содержимого текстовых файлов
tcmsetup – установка клиента телефонии
tftp – обмен файлами с удалённым компьютером
tlntadmn – без понятия, так и не разобрался
tracerpt – обрабатывает двоичные файлы журнала отслеживания событий или потоки данных в реальном времени от поставщиков отслеживания событий и создаёт отчёт в текстовом файле, с описанием произошедших событий
tracert – трассировка маршрута к указанному узлу
tracert6 – версия tracert для протокола IPv6
tscon – присоединяет сеанс пользователя к сеансу терминала
tsdiscon – отключение сеанса терминала
tskill – прекращение процесса
tsshutdn – завершение работы сервера в установленном порядке
typeperf – выводит сведения о производительности на экран или в журнал
ver – вывод сведений о версии windows
verify – установка режима проверки правильности записи файлов на диск
vol – вывод метки и серийного номера тома для диска
unlodctr – удаление имен счётчиков и поясняющего текста для расширенного счётчика
userinit – является частью операционных систем Windows, отвечая за процесс загрузки системы
vssadmin – инструмент командной строки теневого копирования тома
w32tm – диагностика службы времени
wbemtest – тест инструментария windows
winver – информация о версии windows
wmic – настройка старта сеанса(для продвинутых пользователей, не советую использовать без должного опыта)
xcopy – копирование файлов и дерева папок

:/>  Меню Пуск Windows 10 сделать как в 7 – инструкция |

Узнать все параметры для каждой команды в командной строке, можно с помощью команды:

{имя_команды} /?

.

не забудьте про ПРОБЕЛ

Например, я ввел

attrib /?

и

cls /?

и вот что получил:

Так же можно воспользоваться командой:

help имя_команды

, но она не всегда работает

Вдаваться слишком глубоко не буду, потому что для этого лучше писать отдельную статью. Приведу лишь небольшой пример использования командной строки.
Допустим у меня на диске E находится папка 123, а в ней текстовый файл test.txt.
Вот теперь я хочу сделать этот файл скрытым, не заходя на этот диск и не “видя” этого файла с папкой.
Команда, отвечающая за атрибут “Системный” – это attrib. И у неё существуют свои атрибуты (уже команды). Можете даже посмотреть на скрине выше, я там показывал именно её на примере.
Из всех её атрибутов мне нужны только два – это его установка и сам атрибут. За это отвечают и s.
Итак, моя команда будет следующей: attrib s e:/123/test.txt . Вот так будет выглядеть правильный результат:

а так неправильно:

Ой. Только заметил что вместо Скрытый я сделал его Системным, а ещё удивляюсь почему он не пропал в папке. Я специально не стал удалять скрины и редактировать статью для того, чтобы показать Вам как можно исправить такую оплошность (как я сделал). Тоже хорошая информация.

На заметку:
чтобы не вводить каждый раз предыдущие команды заново, просто нажмите кнопку “Вверх” на клавиатуре.

Ну и напоследок:
Как редактировать текст в окне командной строки?
Дело в том, что стандартные методы с помощью сочетаний клавиш Ctrl C и Ctrl V в командной строке не работают.
Тут нужно пользоваться ПКМ – Правой Кнопкой Мыши.
Для того, чтобы вставить текст в командную строку, просто кликаем ПКМ на любом месте командной строки, затем выбираем Вставить.

:/>  Как увеличить, уменьшить или отключить файл подкачки в Windows 10: настройка и выбор оптимального размера

Для того, чтобы скопировать часть текста из командной строки можно воспользоваться одним из двух методов:
1) ПКМ – Выделить всё
Выделится весь текст, но можете выделить сразу какой Вам угодно, просто как обычно зажав ЛКМ
2) ПКМ – Пометить
Появится мигающий курсор в начале строки, которым можно управлять “стрелочками” на клавиатуре. И при нажатой кнопке shift выделить текст, управляя так же “стрелками” на клавиатуре. Либо выделаем снова с помощью мыши.

Важно! После выделения жать не ПКМ, а Enter

Кстати, кликните ПКМ на заголовке окна командной строки. Вы увидите не совсем обычное меню для окон.

при желании, можете изменить настройки командной строки, выбрав пункт в меню выше “Свойства”

Примеры работы с командами sc

Во всех командах можно указывать имя удаленного компьютера, со службами которого вы хотите работать. Для этого вставьте UNC-имя (например, \Roza) или IP-адрес (например, 192.168.1.1) компьютера перед используемой подкомандой. Вот синтаксис: sc ИмяСервера Подкоманда.

Пример команды sc на компьютере с Windows 10:

Управление работой служб с помощью консоли управления.

Для управления службами в Windows существует графическая утилита – службы (services.msc), для ее запуска необходимо перейти:

Управление службами из командной строки.

Службами window можно управлять не только используя графическую утилиту, но и из командной строки windows cmd. Для запуска переходим в пункт меню: Пуск –> Выполнить –> В строку вводим команду cmd.exe. Ниже приведу команды для управления службами.

Остановка службы.

sc stop [имя_службы]

Запуск службы.

sc start [имя_службы]

Удаление службы.

sc delete [имя_службы]

Установка режима запуска службы:

sc config [имя_службы] start= [параметр_запуска]
	параметр_запуска:
		auto - автоматически.
		demand - вручную.
		disabled - отключена.
Примечание: После start= должен идти обязательно пробел.

Запрос данных конфигурации для службы.

sc qc [имя_службы]

Просмотр всех служб:

sc query

Для удобства чтения выводимой информации используем утилиту more.

sc query | more

Для копирования вывода в буфер используем утилиту clip.

sc query | clip

Вывод справки по команде sc.

sc ?

Примечание: Если имя службы содержит пробелы, то необходимо его заключить в кавычки.

sc delete “Events Utility”

Особенностью служб является то, что они запускаются от имени пользователя LocalSystem – обладающего полными правами в системе.

Список всех служб расположен в ветке реестра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices

На этом заканчиваем знакомство со службами windows. Надеюсь статья была полезная.

Установить службу windows с помощью командной строки windows?

откройте Visual studio и выберите новый проект, выбрав Windows Service шаблон Windows Desktop tab. Чем скопировать следующий код в service_name.cs файл.

using System.Diagnostics;
using System.ServiceProcess;
namespace TimerService
{
    public partial class Timer_Service : ServiceBase
    {
        public Timer_Service()
        {
            InitializeComponent();
        }
        static void Main()
        {
            if (System.Diagnostics.Debugger.IsAttached)
            {
                Timer_Service service = new Timer_Service();
                service.OnStart(null);
            }
            else
            {
                ServiceBase[] ServicesToRun;
                ServicesToRun = new ServiceBase[]
                {
                    new Timer_Service()
                };
                ServiceBase.Run(ServicesToRun);
            }
        }
        protected override void OnStart(string[] args)
        {
            EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service start successfully." });
        }
        protected override void OnStop()
        {            
            EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service stop successfully." });
        }
    }
}

щелкните правой кнопкой мыши на service_name.CS файл и откройте конструктор сервиса. чем щелкните правой кнопкой мыши и выберите Add Installer. чем щелкните правой кнопкой мыши на serviceProcessInstaller1 и изменить его значение свойства Account С User to Local System.

удалить static void main метод .
Чем сохранить и построить свой проект.

Примечание: перейти binDdebug папка вашей папки проекта. Чем открыть свойства вашего . Чем Гото Compatibility tab. Чем нажать на Change Settings For All Users.

Выберите вариант Run this program as an administrator.

теперь вы должны открыть CommandPromt как администратор.
После открытия установите каталог, где ваш это.
например: C:WindowsMicrosoft.NETFramework64v4.0.30319.
теперь напишите следующую команду:

C:WindowsMicrosoft.NETFramework64v4.0.30319>InstallUtil.exe -i C:TimerServiceTimerServicebinDebugTimerService.exe

Примечание: – i для установки он обслуживает и-u для Unsinstall.

после-я установил путь записи, где вы хотите установить свою службу.

теперь напишите команду в CommandPromt следующим образом:

C:TimerServiceTimerServicebinDebug>net start service_name

Примечание: использовать stop для остановки службы.

теперь откройте ViewEventLog.exe. Выберите Журналы Windows>Приложение. Там вы можете проверить журнал своей службы, запустив и остановив службу.

Оставьте комментарий