Показать полную графическую версию : Получение статуса компьютера через батник по сети.
Serjione
01-06-2009, 18:05
Как я могу узнать через батник по сети выключен ли комп или нет, чтобы в соответствии с полученным результатом выполнить те или иные действия. Спасибо.
Petya V4sechkin
01-06-2009, 18:14
Serjione, если ICMP разрешен (пинг):
Ping -n 1 -w 1 имя_или_IP_компа >nul
If %ErrorLevel%==0 (
Echo Пинг есть - комп включен.
) Else (
Echo Пинга нет - комп выключен.
)
Или пример в теме:
[решено] Быстрое выключение удаленных компов через shutdown (http://forum.oszone.net/thread-134614.html)
Serjione
01-06-2009, 18:37
Petya V4sechkin, по сети через батник можно узнать сколько свободного места на флешке и узнать дан ему шаринг или нет, и если нет то дать ?
Serjione
02-06-2009, 13:43
Petya V4sechkin, запрос насчет флешки может через WMI возможно сделать ?
Petya V4sechkin
02-06-2009, 17:01
по сети через батник можно узнать сколько свободного места на флешке
В общем случае для любых съемных дисков:
WMIC /Node:"имя_компа" LogicalDisk Where "DriveType = 2 And (MediaType = 0 Or MediaType = 11 Or MediaType Is Null)" Get Caption, Description, FreeSpace, Size, VolumeName
Serjione
03-06-2009, 10:30
Petya V4sechkin, в батнике паузу на опреденненное время задавать можно ? Насчет приведенного выше вами кода WMI, батник полученные данные может прочесть, чтобы исходя из размера свободного места на флешке выпонить те или иные действия ? Может определить WMI дан ли общий доступ флешке или нет ?
в батнике паузу на опреденненное время задавать можно ? »
Помоему пауза делается командой Pause
Petya V4sechkin
03-06-2009, 16:14
в батнике паузу на опреденненное время задавать можно ?
Пауза в пакетном файле (http://oszone.net/6160)
Насчет приведенного выше вами кода WMI, батник полученные данные может прочесть, чтобы исходя из размера свободного места на флешке выпонить те или иные действия ? Может определить WMI дан ли общий доступ флешке или нет ?
Пример:
@Echo Off
SetLocal EnableExtensions
For /F "Skip=1 Tokens=2,3 Delims=," %%I In ('WMIC /Node:"имя_компа" LogicalDisk Where "DriveType = 2 And (MediaType = 0 Or MediaType = 11 Or MediaType Is Null)" Get Caption^, FreeSpace^, Size /Format:CSV ^| Find ","') Do (
Echo На диске %%I свободно %%J байт
WMIC /Node:"имя_компа" Share Where "Path Like '%%I%%'" Get Name, Path
)
Внутри цикла переменная %%I содержит букву диска, %%J - свободное место (с помощью оператора If можно выполнить действия по условию). Команда WMIC Share выводит список шар, у которых путь начинается с заданной буквы диска.
Serjione
03-06-2009, 21:01
Petya V4sechkin, спасибо за предыдущий ответ, можно по сети дать шаринг флешке и в Sharing permissions пользователю Everyone дать разрешение на change ?
Medic84, команда Pause есть верно, только через нее конкретное время ожидания задать не возможно.
Petya V4sechkin
04-06-2009, 13:38
можно по сети дать шаринг флешке и в Sharing permissions пользователю Everyone дать разрешение на change ?
[решено] Создание сетевой папки (http://forum.oszone.net/thread-138283.html)
Serjione
04-06-2009, 21:15
Petya V4sechkin, этот код
For /F "Skip=1 Tokens=2,3 Delims=," %%I In ('WMIC /Node:"Sergey" LogicalDisk Where "DriveType = 2 And (MediaType = 0 Or MediaType = 11 Or MediaType Is Null)" Get Caption, FreeSpace, Size /Format:CSV | Find ","')
выдает:
was unexpected at this time
хотя отдельно этот код
WMIC /Node:"Sergey" LogicalDisk Where "DriveType = 2 And (MediaType = 0 Or MediaType = 11 Or MediaType Is Null)" Get Caption, FreeSpace, Size /Format:CSV | Find "," работает.
Petya V4sechkin
05-06-2009, 11:09
Serjione, символы ^ куда у вас делись? Решили, что они не нужны?
Serjione
05-06-2009, 19:59
Petya V4sechkin, с символами ругается что синтаксис некорректен.
Petya V4sechkin
08-06-2009, 09:58
Serjione, код из 8-го поста работает в XP, 2003 и Vista.
В Win 7 Beta опция /Format:CSV выдает ошибку.
Вот еще вариант (добавил условие FreeSpace Is Not Null для исключения пустых кардридеров):
@Echo Off
SetLocal EnableExtensions
For /F "Tokens=1,2 Delims= " %%I In ('WMIC /Node:"имя_компа" LogicalDisk Where "DriveType = 2 And (MediaType = 0 Or MediaType = 11 Or MediaType Is Null) And FreeSpace Is Not Null" Get Caption^, FreeSpace^, Size ^| Find ":"') Do (
Echo На диске %%I свободно %%J байт
WMIC /Node:"имя_компа" Share Where "Path Like '%%I%%'" Get Name, Path
)
Serjione
08-06-2009, 10:53
Не знаю я как этот код работает, у меня не прокатило, запустив отдельно
WMIC /Node:"Sergey" LogicalDisk Where "DriveType = 2 And (MediaType = 0 Or MediaType = 11 Or MediaType Is Null) And FreeSpace Is Not Null" Get Caption^, FreeSpace^, Size ^| Find ":"
получаю Invalid Get Expression
Petya V4sechkin
08-06-2009, 10:55
Serjione, работает целиком в .cmd файле, а не отдельно.
Serjione
08-06-2009, 12:58
Petya V4sechkin, батник выпоняется в целом без ошибок, только до этой строки
WMIC /Node:"имя_компа" Share Where "Path Like '%%I%%'" Get Name, Path
не доходит, хотя флешка вставлена, и свободное место на ней есть.
Serjione
11-06-2009, 22:18
Petya V4sechkin , разобрался что к чему, еще один момент остался, этот запрос
WMIC /Node:"имя компа" Share Where "Path Like '%%I%%'" Get Name, Path на true в случае если имеется шаринг и false в обратном случае можно переиначить ?
Petya V4sechkin
12-06-2009, 11:24
Serjione, можно так (перепишу батник полностью):
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
For /F "Tokens=1,2 Delims= " %%I In ('WMIC /Node:"имя_компа" LogicalDisk Where "DriveType = 2 And (MediaType = 0 Or MediaType = 11 Or MediaType Is Null) And FreeSpace Is Not Null" Get Caption^, FreeSpace^, Size ^| Find ":"') Do (
Echo На диске %%I свободно %%J байт
WMIC /Node:"имя_компа" Share Where "Path Like '%%I%%'" Get Path 2>nul | Find ":" >nul
If !ErrorLevel!==0 (
Echo Есть шара на %%I
) Else (
Echo Нет шары на %%I
)
)
Опция EnableDelayedExpansion нужна, чтобы внутри цикла использовать переменную ErrorLevel. В конструкции 2>nul | Find ":" >nul результат выполнения WMIC по каналу передается команде Find (с полным скрытием вывода на экран), а она возвращает значение в ErrorLevel (нашла/не нашла).
Serjione
14-06-2009, 03:47
Petya V4sechkin, спасибо за предыдущий ответ. WMI позволяет определить через батник размер файла на диске ?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.