|
Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 2000/XP » Службы - [решено] вопрос: контроль за службой |
|
|
Службы - [решено] вопрос: контроль за службой
|
Старожил Сообщения: 402 |
Добрый час ! Вопрос: можно ли средствами CMD контролировать статус службы (работает, пауза, останов), например может есть команда которая возвращает значение некого кода статуса ? Спасибо.
|
|
Отправлено: 13:05, 24-01-2008 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата SavmiN:
Путь: Конфигурация пользователя\Конфигурация Windows\Сценарии сюда можно добавлять любые *.BAT, *.CMD, *.VBS или *.JS скрипты на вход и выход... правда локальные политики (в отличие от доменных) отрабатывают одинаково для всех локальных пользователей, поэтому распознавание пользователей придется встраивать в скрипт... вот доработанный вариант батника, который: для пользователя USER-1: останавливает и отключает службу Планировщика задач и перегружает "Обозреватель" для пользователя USER-2: восстанавливает состояние Планировщика и перезапускает службу Диспетчера печати. @echo off IF "%USERNAME%"=="User-1" ( CALL :SC_STOP SCHEDULE CALL :SC_DISABLE SCHEDULE CALL :SC_RESTART BROWSER ) IF "%USERNAME%"=="User-2" ( CALL :SC_ENABLE SCHEDULE CALL :SC_START SCHEDULE CALL :SC_RESTART SPOOLER ) EXIT :SC_STOP :: ----- Set STATUS=RUNNING @echo Остановка сервиса "%1"... :SC_STOP_LOOP SC STOP %1 >nul For /F "Tokens=3 Usebackq Delims=: " %%i in (`SC QUERY %1^|FIND "STATE"`) Do SET STATUS=%%i If NOT "%STATUS%"=="STOPPED" GOTO :SC_STOP_LOOP @echo Сервис остановлен! :: ----- GOTO :EOF :SC_START :: ----- Set STATUS=STOPPED @echo Запуск сервиса "%1"... :SC_START_LOOP SC START %1 >nul For /F "Tokens=3 Usebackq Delims=: " %%i in (`SC QUERY %1^|FIND "STATE"`) Do SET STATUS=%%i If NOT "%STATUS%"=="RUNNING" GOTO :SC_START_LOOP @echo Сервис запущен! :: ----- GOTO :EOF :SC_RESTART :: ----- CALL :SC_STOP %1 CALL :SC_START %1 :: ----- GOTO :EOF :SC_ENABLE :: ----- SC CONFIG %1 start= demand >nul @echo Сервис %1 включен! :: ----- GOTO :EOF :SC_DISABLE :: ----- SC CONFIG %1 start= disabled >nul @echo Сервис %1 отключен! :: ----- GOTO :EOF |
|
Отправлено: 03:56, 31-01-2008 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 402
|
Профиль | Отправить PM | Цитировать Есть подробная информация по возможностям командной строки ? в справочнике параметров по командной строке (v 1.1) я не нахожу описания и поэтому не могу разобрать например такие операторы
@echo off If "%1"=="" Exit Set STATUS=RUNNING @echo Остановка сервиса "%1"... :LBL0 SC STOP %1 >nul 2>&1 For /F "Tokens=3 Usebackq Delims=: " %%i in (`SC QUERY %1^|FIND "STATE"`) Do SET STATUS=%%i If NOT "%STATUS%"=="STOPPED" GOTO :LBL0 SC START %1 >nul 2>&1 @echo Произведен перезапуск сервиса! |
Отправлено: 09:26, 31-01-2008 | #22 |
Ветеран Сообщения: 788
|
Профиль | Отправить PM | Цитировать Цитата foxbat:
|
|
------- Отправлено: 09:54, 31-01-2008 | #23 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата foxbat:
http://www.windowsfaq.ru/content/category/3/19/57/ http://www.windowsfaq.ru/content/category/3/7/45 |
|
Отправлено: 10:12, 31-01-2008 | #24 |
![]() Пользователь Сообщения: 73
|
Профиль | Сайт | Отправить PM | Цитировать Цитата amel27:
а также: USER-1 - это имя учетной записи - а пароль как указывать для автологона? ну и совсем плохой вопрос - что такое в данном случае "%1" = что то припоминаю … HLT, Цитата:
![]() |
||
------- Отправлено: 01:57, 01-02-2008 | #25 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата SavmiN:
Цитата SavmiN:
Цитата SavmiN:
|
|||
Отправлено: 05:52, 01-02-2008 | #26 |
Старожил Сообщения: 402
|
Профиль | Отправить PM | Цитировать если не трудно разьясните пож-та эту строку, я что понял сам откаментирую а вы меня поправте если не так:
SC STOP %1 >nul 2>&1 SC - команда cmd STOP - команда (параметр) команды SC %1 - параметр командной строки, в данном случае название сервиса -до этого момента понятно, а дальше >nul - ?? некое пустое устройство-файл, т.е. перенаправляем вникуда, (отчего ничего не видим в консоли когда выполняем команду) 2>&1 - "2>&1" это дублирование дескрипторов, т.е. выход дескриптора 2 (Ошибка вывода) направляется в дескриптор 1 (Вывод командной строки), так ? только с НУЛом у меня всё равно пустой экран. Вот к примеру пускаю В CMD X:\>sc stop W32Time SERVICE_NAME: W32Time TYPE : 20 WIN32_SHARE_PROCESS STATE : 3 STOP_PENDING (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x1 WAIT_HINT : 0x3e8 X:\>sc stop W32Time >nul ничего нет X:\>sc stop W32Time >nul 2&>1 тоже ничего нет |
Отправлено: 13:12, 01-02-2008 | #27 |
![]() Пользователь Сообщения: 73
|
Профиль | Сайт | Отправить PM | Цитировать amel27, у вас указано: Планировщик - "SCHEDULE", а после Сервер печати - "Spooler" ну и ещё "Browser"
У Планировщика исполняемый файл schedule.exe, у brouser - explorer.exe не знаю по печати, но вот сам вопрос: на Пк установлена оболочка Pshell с исполняемым файлом pshell.exe - как мне указывать его в коде? - это ведь не стандартная служба или сервис Windows … также имеется ещё одна программа за которой требуется наблюдение и перезапуск в случае сбоя или умышленной попытки отключения classic.exe - какое имя требуется задать в коде? Спасибо! |
------- Отправлено: 17:08, 01-02-2008 | #28 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата foxbat:
Цитата SavmiN:
|
||
Отправлено: 17:12, 01-02-2008 | #29 |
![]() Пользователь Сообщения: 73
|
Профиль | Сайт | Отправить PM | Цитировать amel27, отлично! - осталось уточнить - уточняю
![]() Цитата amel27:
поясни пожалуйста !!! Спасибо! |
|
------- Отправлено: 19:26, 03-02-2008 | #30 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] контроль за службой | foxbat | Скриптовые языки администрирования Windows | 11 | 30-07-2009 08:47 | |
Система - [Решено]Изменение имени процесса запускаемого службой Ventrilo | Tomonaka | Программное обеспечение Windows | 1 | 10-07-2009 23:02 | |
[решено] Проблемы со службой печати на Win2003 | banbug | Microsoft Windows NT/2000/2003 | 6 | 29-01-2009 01:31 | |
Загрузка - [решено] Контроль автозагрузки | Basser | Microsoft Windows Vista | 5 | 08-06-2007 07:06 |
|