|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Помогите в создании Bat скрипта |
|
|
CMD/BAT - Помогите в создании Bat скрипта
|
|
Новый участник Сообщения: 7 |
Здравствуйте, имеется подключение через vpn к удаленному серверу, по cisco annyconnect, при не активности соединение автоматически разрывается в течении 30 минут. Сейчас имею два скрипта:
Первый запуск подключения в файле connect.txt указаны параметры подключения. Второй отключение Возможно ли реализовать скрипт, который при запуске первого скрипта будет пинговать заданный узел раз в 5 минут и в случае если пинг не проходит запускать второй скрипт, для разрыва соединения и после чего вновь первый на подключение. |
|
|
Отправлено: 17:03, 15-04-2019 |
|
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать |
|
------- Последний раз редактировалось megaloman, 15-04-2019 в 19:28. Отправлено: 18:11, 15-04-2019 | #2 |
|
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
|
Последний раз редактировалось fimus, 16-04-2019 в 09:58. Отправлено: 09:52, 16-04-2019 | #3 |
|
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 15:00, 16-04-2019 | #4 |
|
Ветеран Сообщения: 20133
|
Профиль | Отправить PM | Цитировать fimus, вот только непонятно, зачем вам текстовый файл с параметрами подключения?
Всё это можно прописать в скрипт, предложенный megaloman и при условии дисконнекта, подключаться там же, из скрипта, без необходимости вызывать параметры из второго файла. Или я не прав? |
|
|
------- Отправлено: 15:53, 16-04-2019 | #5 |
|
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата yurfed:
|
|
|
Отправлено: 16:51, 16-04-2019 | #6 |
|
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Цитата fimus:
Вот .vbs-скрипт. Пропишите пути к Вашим программе и коннект-файлу вместо моих бредовых, и IP
HostName = "192.168.100.123"
mSec = 300000
PRG = "C:\Windows\System32\notepad.exe"
Con = "Z:\Soft_IN\connect.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
NotFile FSO,PRG
NotFile FSO,Con
Comm1 = "CMD /C """ + PRG + """ disconnect"
Comm2 = "CMD /C """ + PRG + """ -s <""" + Con + """"
Set WShell = CreateObject("WScript.Shell")
Do
Set Ping = GetObject("winmgmts:").Get("Win32_PingStatus.Address='" & HostName & "'")
If Ping.StatusCode = 0 Then
WScript.Sleep mSec
Else
OutRun = WShell.Run(Comm1, 7, True)
OutRun = WShell.Run(Comm2, 7, True)
End If
Loop
WScript.Quit 0
Sub NotFile(FSO,f)
If Not FSO.FileExists(f) Then
MsgBox "File" + vbCrLf + f + vbCrLf + "not found"
WScript.Quit 2
End If
End Sub
Скрипт можно убить только из диспетчера задач (wscript.exe) |
|
|
------- Отправлено: 18:05, 16-04-2019 | #7 |
|
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать IP берётся из файла
CMD
@Echo Off
Set "Prg=vpncli.exe"
Set "Con=connect.txt"
Set "IPkey=connect"
Set /A Sec=300
FOR /F "usebackq tokens=1,2 delims= " %%i IN ("%Con%") DO If /I "%IPkey%"=="%%i" Set "IP=%%j"
:Begin
Ping %IP% |Find "TTL=" >nul 2>&1 ||(
"%Prg%" disconnect
"%Prg%" -s <"%Con%"
GoTo :Begin
)
TIMEOUT /T %Sec% /NOBREAK
GoTo :Begin
vbs
PRG = "C:\Windows\System32\notepad.exe"
Con = "Z:\Soft_IN\connect.txt"
IPkey = "connect"
mSec = 300000
Comm1 = "CMD /C """ + PRG + """ disconnect"
Comm2 = "CMD /C """ + PRG + """ -s <""" + Con + """"
Set FSO = CreateObject("Scripting.FileSystemObject")
NotFile FSO, PRG
NotFile FSO, Con
With FSO.OpenTextFile(Con, 1, False)
AllTxt = .ReadAll
.Close
End With
Mas = Split(AllTxt, vbCrLf)
Set Alls = Nothing
For Each iMas In Mas
HostName = LCase(Replace(iMas, " ", ""))
If InStr(HostName, LCase(IPkey)) = 1 Then
HostName = Replace(HostName, LCase(IPkey), "")
Exit For
End If
Next
Set Mas = Nothing
' MsgBox HostName
Set WShell = CreateObject("WScript.Shell")
Do
Set Ping = GetObject("winmgmts:").Get("Win32_PingStatus.Address='" & HostName & "'")
If Ping.StatusCode = 0 Then
WScript.Sleep mSec
Else
OutRun = WShell.Run(Comm1, 7, True)
OutRun = WShell.Run(Comm2, 7, True)
End If
Loop
WScript.Quit 0
Sub NotFile(FSO, f)
If Not FSO.FileExists(f) Then
MsgBox "File" + vbCrLf + f + vbCrLf + "not found"
WScript.Quit 2
End If
End Sub
|
|
------- Последний раз редактировалось megaloman, 16-04-2019 в 22:39. Отправлено: 19:18, 16-04-2019 | #8 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| CMD/BAT - Запуск ps скрипта из bat скрита | pogo | Скриптовые языки администрирования Windows | 13 | 10-10-2018 16:18 | |
| CMD/BAT - [решено] перезагрузка linux с помощью скрипта .bat | nox2 | Скриптовые языки администрирования Windows | 1 | 24-03-2016 16:01 | |
| PowerShell - Помогите в создании простенького скрипта | artlive | Скриптовые языки администрирования Windows | 2 | 20-10-2015 15:53 | |
| CMD/BAT - Помогите в создании bat файла для запуска игры | the_mazix@vk | Скриптовые языки администрирования Windows | 0 | 07-06-2014 02:19 | |
| CMD/BAT - [решено] Нужна помощь в создании bat-ника для распаковки и переименования файлов/папок | Nun-Nun | Скриптовые языки администрирования Windows | 6 | 14-05-2009 15:45 | |
|