Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Помощь по: батник для управления сервисами

Ответить
Настройки темы
CMD/BAT - [решено] Помощь по: батник для управления сервисами

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: cobra2029
Дата: 05-04-2011
Описание: добавлен код батника
Изображения
Тип файла: jpg ошибка.JPG
(31.6 Kb, 9 просмотров)
Возникла необходимость мониторинга и запуска сервисов на удалённом PC, для решения данной проблемы был использован батник взятый с этого форума (ссылку к сожалению не смогу указать) автор батника registeruser1


Итак, скопировал я батник изменил то что мне надо было, понятное дело что изменил кодировку, расширение... запустил при выполнение батника вылезла ошибка (скрин прилагается).

вопрос такой: что нужно было прописывать в переменной среде?


P.S.
Если важно: OS - Windows Server2003


код баника:
Код: Выделить весь код
@echo off
echo.
echo *******************************************************************************
@echo.
echo PLEASE WAIT... SCANING SERVICES:
@echo.                        
echo *******************************************************************************
echo.
setlocal enabledelayedexpansion
set server=\\127.0.0.1
ping -n 1  %server:~2% 1>nul 2>nul || ( echo NO RESPOND FROM SERVER, EXITING... & pause & exit )  
title Scanning
set "sernum=100"
for /f "tokens=1*" %%a in ('sc %server% query state^= all') do (
if /i .%%a equ .SERVICE_NAME: set "_servicen_=%%b" && title Scanning %server%: %%b
if /i .%%a equ .DISPLAY_NAME: echo %%b | find /i "Windows" 1>nul && (
echo %%b
set /a sernum += 1
set "_service_!sernum:~1!=!_servicen_!"
set "_serviced_!sernum:~1!=%%b"
)
)
:display
TITLE WELCOME
cls
if errorlevel 0 @echo  
echo.
echo *******************************************************************************
@echo.
echo STARTING/STOPPED SERVICES MENU:
@echo.
echo *******************************************************************************
echo.
for /f "tokens=2,3* delims=_=" %%a in ('set _service_') do ( 
for /f "tokens=4" %%s in ('sc %server% query %%b ^| findstr /r /b /c:" *STATE " ') do ( 
set "_displ_=!_serviced_%%a!                                                " 
echo.%%a !_displ_:~0,58! %%s 
)
) 
echo.   
TITLE WELCOME
set "reply=0" 
set /p reply="Please select number for start/stop and press Enter (0=RESCAN): " 
set "reply=00%reply: =%" 
set "reply=%reply:~-2%" 
if %reply% == 00 goto :display
if not defined _service_%reply% echo Service %reply% not defined & pause & exit 
sc %server% query !_service_%reply%! | findstr /r /b /c:" *STATE " | 1>nul find "RUNNING" && (1>nul sc %server% stop !_service_%reply%! & sc %server% config !_service_%reply%! start= disabled 1>nul 2>&1)||(sc %server% config !_service_%reply%! start= auto 1>nul 2>&1 & 1>nul sc %server% start !_service_%reply%!)
goto :display

Отправлено: 13:51, 05-04-2011

 

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


просто интересно:

почему не запускается вот этот скрипт?

Код: Выделить весь код
' Full Computer Name
' can be found by right-clicking My Computer,
' then click Properties, then click the Computer Name tab)
' or use the computer's IP address
strComputer = "127.0.0.1" 
strDomain = "djs-klon" 
Wscript.StdOut.Write "Please enter your user name:"
strUser = Wscript.StdIn.ReadLine 
Set objPassword = CreateObject("ScriptPW.Password")
Wscript.StdOut.Write "Please enter your password:"
strPassword = objPassword.GetPassword()
 
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer, _
    "root\cimv2", _
     strUser, _
     strPassword, _
     "MS_409", _
     "ntlmdomain:" + strDomain)
Set colSwbemObjectSet = _
    objSWbemServices.ExecQuery("Select * From Win32_Process")
For Each objProcess in colSWbemObjectSet
    Wscript.Echo "Process Name: " & objProcess.Name 
Next
скрипт взят от сюда: http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

P.S. просто решил попробовать выполнить уже готовый скрипт и все равно ошибка.

Последний раз редактировалось cobra2029, 07-04-2011 в 15:17.


Отправлено: 14:43, 07-04-2011 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


перечитал еще несколько статей на тему: "VBS: WMI на удаленном компьютере"
но решение своей задачи не нашел.
изучил 2 статьи по возможному решению ошибки "Разрешение отклонено "GetObject" ", проверил все какие только знал (и те которые узнал из статей) настройки DCOM, но и там безрезультатно.

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

Суть задачи (повторю для тех кому лень читать с самого начала):

"что должен делать скрипт?"

Скрипт должен узнавать какое состояние (запущен или остановлен) у сервисов на удаленном компе, и по команде пользователя запустить, или остановить сервис.

Небольшое отступление:
как я вижу выполнение этого скрипта:

После запуска скрипта, пользователю выводится список всех сервисов (неважно запущенных или не запущенных) удалённый машины (в самом скрипте прописывается ip, user name, pw).

После того как скрипт вывел список сервисов, пользователь нажимает кнопку (предположим "ОК") и ему предлагается ввести имя сервиса.
Он нажимает снова "ОК", и появляется диалоговое окно где задаётся вопрос остановить или запустить.

вот в принципе и вся задача.
Буду очень благодарен тем кто поможет её решить.

Отправлено: 17:33, 07-04-2011 | #12


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Задача решилась добавлением нового пользователя на сервер.

Отправлено: 10:11, 11-04-2011 | #13



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Помощь по: батник для управления сервисами

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Новые элементы панели управления! Нужна помощь! LP92 Автоматическая установка Windows 2000/XP/2003 2 16-07-2010 14:23
CMD/BAT - [решено] батник для управления сервисами registeruser1 Скриптовые языки администрирования Windows 9 07-05-2010 13:24
батник для NTOS admart Лечение систем от вредоносных программ 2 17-10-2008 23:36
Проблема с сервисами CTEPBA Microsoft Windows NT/2000/2003 1 19-01-2006 08:51
батник для выключения win98 mikesip Microsoft Windows 95/98/Me (архив) 4 21-12-2004 19:01




 
Переход