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

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

Ответить
Настройки темы
CMD/BAT - Проверка состояния службы. Возврат значения из CMD. Непредвиденное появление.

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


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

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


Есть CMD из которого надо получить результат состояния службы. Хотелось использовать его как функцию в процедурных языках
При работе результат выдает верный, но перед ним выводит "Непредвиденное появление"
Хотелось бы чтобы просто выдавал числовое значение.

В параметрах имя сервера и службы передаю в кавычках.

Код: Выделить весь код
@echo off

for /f "tokens=1,4" %%i in ('sc %~1 query %~2') do ( 
     if "%%i"=="Состояние" ( 
         if "%%j"=="RUNNING" (set do=0) else (set do=1) 
    ) 
 ) 
rem service is NOT running! 
if %do% EQU 1 > 0

rem service is running. 
if %do% EQU 0 > 1

rem service state unknown.
if %do% EQU 0 > -1

Отправлено: 23:09, 29-11-2013

 

Ветеран


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

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


Цитата amazzzing:
Хотелось использовать его как функцию в процедурных языках »
Не нужно. Wbem доступен ещё с Windows 98. Для любого языка, поддерживающего Automation. Пример на WSH, подробно:
читать дальше »
Код: Выделить весь код
Option Explicit

Dim strComputer

Dim objSWbemLocator
Dim objSWbemServicesEx
Dim objSWbemObjectEx


strComputer = "."

Set objSWbemLocator    = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
Set objSWbemObjectEx   = objSWbemServicesEx.Get("Win32_Service.Name='wuauserv'")

WScript.Echo objSWbemObjectEx.State

Set objSWbemLocator    = Nothing
Set objSWbemObjectEx   = Nothing
Set objSWbemServicesEx = Nothing

WScript.Quit 0

Тот же пример, коротко :
читать дальше »
Код: Выделить весь код
WScript.Echo GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").Get("Win32_Service.Name='wuauserv'").State


Так, кажется, я всё-таки понял Вашу мысль. Держите процедуру с примерами использования:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

call :GetServiceState "lanmanserver"
echo lanmanserver: %ServiceState%

call :GetServiceState "wuauserv"
echo wuauserv:     %ServiceState%

call :GetServiceState "bla-bla-bla"
echo bla-bla-bla:  %ServiceState%

endlocal
exit /b 0

:GetServiceState
	setlocal enableextensions enabledelayedexpansion
	set sOut=%~0
	set sServiceName=%~1
	
	for /f "usebackq" %%i in (
		`wmic.exe Service where "Name='%sServiceName%'" get State /value 2^>nul ^| find.exe /i "State"`
	) do set b%%~i
	
	if not defined bState set bState=Not found [%sServiceName%] service
	
	endlocal & set %sOut:~4%=%bState%
	exit /b

Отправлено: 01:41, 30-11-2013 | #2



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

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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Проверка состояния сети. LikeSD AutoIt 6 29-03-2014 09:18
Разное - Проверка состояния активации Windows 8.1 Expo37 Microsoft Windows 8 и 8.1 0 23-11-2013 21:36
CMD/BAT - [решено] Непредвиденное появление: <. Tetranoid Скриптовые языки администрирования Windows 6 22-06-2013 11:01
CMD/BAT - [решено] Ошибка работы скрипта (Непредвиденное появление: and) sunnykey Скриптовые языки администрирования Windows 4 21-02-2012 05:54
HDD - [решено] Значения атрибутов SMART и возврат HDD продавцу minos66 Накопители (SSD, HDD, USB Flash) 1 01-02-2009 18:21




 
Переход