#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ListBoxConstants.au3>
#include <EditConstants.au3>
$SrvHost = "fs-zvk"
$etc = @ScriptDir & "\etc\"
$Client = $etc & "Client.exe"
$psexec= $etc & "psexec.exe"
Local $Font = "Comic Sans MS", $Mylist
Const $Title= "Remote Assistance"
$UserName = "Администратор"
$Window = GUICreate($Title, 290, 440) ;Создаем окно
GUISetState(@SW_SHOW) ; показывает созданное окно
GUISetBkColor(0xE0FFFF)
GUICtrlCreateGroup("Введите имя компьютера или IP: ", 40, 5, 210, 60)
$InputHost = GUICtrlCreateInput('', 45, 28, 200, 22, $WS_BORDER)
GUICtrlCreateGroup("Введите логин и пароль Администратора: ", 30, 85, 230, 135)
GUICtrlCreateLabel ("Введите логин", 35, 107, 75)
GUICtrlCreateLabel ("Введите пароль", 35, 159, 81)
$InputLogin = GUICtrlCreateInput('', 35, 130, 220, 22, $WS_BORDER)
$InputPass = GUICtrlCreateInput('', 35, 180, 220, 22, BitOR($ES_PASSWORD, $WS_BORDER))
$OKButton = GUICtrlCreateButton("Запустить",40, 300, 70) ;Создание кнопок
$EXITButton = GUICtrlCreateButton("Выход", 180, 300, 70)
$DWButtonInstall = GUICtrlCreateCheckbox("Установка/Запуск службы DameWare", 40, 240, 210, 16)
$UVNCButtonInstall = GUICtrlCreateCheckbox("Установка/Запуск сервера UltraVNC", 40, 270, 210, 16)
$Mylist = GUICtrlCreateList("", 7, 343, 275, 80, $WS_BORDER+$WS_VSCROLL+$LBS_NOINTEGRALHEIGHT)
GUICtrlSetState($OKButton, $GUI_DISABLE)
Func SetButtonState()
If GUICtrlRead($DWButtonInstall) = $GUI_CHECKED _
or GUICtrlRead($UVNCButtonInstall) = $GUI_CHECKED _
Then
GUICtrlSetState($OKButton, $GUI_ENABLE)
Else
GUICtrlSetState($OKButton, $GUI_DISABLE)
EndIf
EndFunc
; Запускается цикл опроса GUI до тех пор пока окно не будет закрыто
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $DWButtonInstall
SetButtonState()
Case $UVNCButtonInstall
SetButtonState()
Case $OKButton
$Host=GUICtrlRead($InputHost)
$Login=GUICtrlRead($InputLogin)
$Pass=GUICtrlRead($InputPass)
Start()
Case $EXITButton
Exit
EndSwitch
WEnd
Func Start()
If $Host <> "" Then
GUICtrlSetData($Mylist, "Компьютер: " & $Host)
if $Login <> "" And $Pass <> "" Then
MsgBox(0,"","Не пустые")
Do
$Auth=RunWait($psexec & "\\" & $Host & " -u " & $Login & " -p " & $Pass & " cmd.exe /c ping 127.0.0.1 -n 1")
msgbox(0,"",$Auth)
If $Auth <> 0 Then
MsgBox(0,$Title,"Вы ввели не правильный логин или пароль" &@CRLF&"Попробуйте еще раз.")
EndIf
Until $Auth = 0
$Ping=Ping($Host,1)
$Ping2=Ping($SrvHost,1)
If ($Ping <> 0) Then
If ($Ping2 <> 0) Then
GUICtrlSetData($Mylist, "Компьютер: " & $Host & " доступен )")
GUICtrlSetData($Mylist, "Компьютер: " & $SrvHost & " доступен )")
If GUICtrlRead ($DWButtonInstall) = $GUI_CHECKED Then
DWInstall()
EndIf
If GUICtrlRead ($UVNCButtonInstall) = $GUI_CHECKED Then
UVNCInstall()
EndIf
Else
GUICtrlSetData($Mylist, "Компьютер: " & $Host & " не отвечает (")
GUICtrlSetData($Mylist, "Компьютер: " & $SrvHost & " не отвечает (")
GUICtrlSetData($Mylist, "Выход... ")
Sleep(2000)
Exit
EndIf
EndIf
Else
MsgBox(48,$Title,"Введите логин и пароль!")
EndIf
Else
MsgBox(48,$Title,"Введите имя компьютера или IP!")
EndIf
EndFunc
Func DWInstall()
;MsgBox(0,"",$Connect)
$Connect=RunWait($psexec & " -c -f "& "\\" & $Host & " -u " & $Login & " -p " & $Pass &" "& $Client & " dw")
If $Connect=0 Then
GUICtrlSetData($Mylist, "Служба успешно установлена на компьютере: "& $Host)
sleep(2000)
if FileExists("C:\Program Files (x86)\SolarWinds\DameWare Remote Support\DWRCC.EXE") or FileExists("C:\Program Files (x86)\SolarWinds\DameWare Remote Support\DWRCC.EXE") Then
GUICtrlSetData($Mylist, "Подключаюсь к: "& $Host)
Run("C:\Program Files (x86)\SolarWinds\DameWare Remote Support\DWRCC.EXE -c: -x: -h: -m:" & $Host & " -u:" & $Login & " -p:" & $Pass & " -a:2")
Else
MsgBox(48,$Title,"Dameware не айдена на вашем компьютере")
Exit
EndIf
ElseIf $Connect=4 Then
MsgBox(16,$Title,"Произошла ошибка! " & "Код выхода: " & $Connect)
Exit
ElseIf $Connect=5 Then
MsgBox(16,$Title,"Перезапуск службы не удался")
Exit
EndIf
EndFunc
Func UVNCInstall()
;MsgBox(0,"",$Connect)
$Connect=RunWait($psexec & " -c -f "& "\\" & $Host & " -u " & $Login & " -p " & $Pass &" "& $Client & " vnc")
If $Connect=0 Then
GUICtrlSetData($Mylist, "Служба успешно установлена на компьютере: "& $Host)
sleep(2000)
GUICtrlSetData($Mylist, "Подключаюсь к: "& $Host)
Run($etc & "vncviewer.exe " & $Host &" /password 123456")
ElseIf $Connect=4 Then
MsgBox(16,$Title,"Произошла ошибка! " & "Код выхода: " & $Connect)
Exit
ElseIf $Connect=5 Then
MsgBox(16,$Title,"Перезапуск службы не удался")
Exit
EndIf
EndFunc