Приветствую любителей AutoIt
AutoItом увлекаюсь не так давно потому прошу сильно не пинать...
(на php код не стыдно паказать, а здесь стесьняюсь :D )
Написал (накарякал) маленький скрипт
Пожалуйста посмотрите и исправте (подскажите) как надо..
Я понимаю что вариант If GUICtrlRead($rename) == 1 Then десткий но по другому как не нашел....
Прошу коментировать ваши поправки!!!
AutoItом увлекаюсь не так давно потому прошу сильно не пинать...
(на php код не стыдно паказать, а здесь стесьняюсь :D )
Написал (накарякал) маленький скрипт
Пожалуйста посмотрите и исправте (подскажите) как надо..
Я понимаю что вариант If GUICtrlRead($rename) == 1 Then десткий но по другому как не нашел....
Прошу коментировать ваши поправки!!!
Код:
#include <GUIConstants.au3>
$oService = ObjGet("winmgmts:\\.\root\cimv2")
$oServiseDomage = ObjGet("winmgmts:{impersonationLevel=Impersonate}!\\" & @ComputerName & "\root\cimv2:Win32_ComputerSystem.Name='" & @ComputerName & "'")
$JOIN_DOMAIN = 1
$Null = "NULL"
$group = "Администраторы"
$put = @WindowsDir & '\' & 'script.ini'
Func oshbka($i)
If $i == 5 Then
FileDelete($put)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
MsgBox(16, "Ошибка...", "Ошибка. Доступ ограничен используйте другую пару логин пароль! Свяжитесь с системным адмнистратором! Выполнение всех команд прекращено!")
Exit
EndIf
If $i == 87 Then
FileDelete($put)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
MsgBox(16, "Ошибка...", "Ошибка. Параметр домена неверен! Выполнение всех команд прекращено!")
Exit
EndIf
If $i == 110 Then
$msgbox = MsgBox(20, "Ошибка...", "Ошибка. Невозможно подключится к домену! Свяжитесь с системным адмнистратором! Повторить подключение после перезагрузки?")
If $msgbox == 6 Then
Shutdown(2)
Exit
Else
FileDelete($put)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
Exit
EndIf
EndIf
If $i == 1323 Then
FileDelete($put)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
MsgBox(16, "Ошибка...", "Ошибка. Неверно задан пароль! Выполнение всех команд прекращено!")
Exit
EndIf
If $i == 1326 Then
FileDelete($put)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
MsgBox(16, "Ошибка...", "Ошибка. Имя пользователя или пароль не опознаны! Выполнение всех команд прекращено!")
Exit
EndIf
If $i == 1332 Then
$msgbox = MsgBox(20, "Ошибка...", "Ошибка Сервера. Именам пользователей не сопоставлены коды защиты данных.! Свяжитесь с системным адмнистратором! Повторить подключение после перезагрузки?")
If $msgbox == 6 Then
Shutdown(2)
Exit
Else
FileDelete($put)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
Exit
EndIf
EndIf
If $i == 1355 Then
FileDelete($put)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
MsgBox(16, "Ошибка...", "Ошибка. Указанный домен не существует! Выполнение всех команд прекращено!")
Exit
EndIf
If $i == 2224 Then
FileDelete($put)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
MsgBox(16, "Ошибка...", "Ошибка. Параметр уже существует! Выполнение всех команд прекращено!")
Exit
EndIf
If $i == 2691 Then
FileDelete($put)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
MsgBox(16, "Ошибка...", "Ошибка. Компьютер уже соединен с доменом! Выполнение всех команд прекращено!")
Exit
EndIf
If $i == 2692 Then
$msgbox = MsgBox(20, "Ошибка...", "Ошибка. Этот компьютер в данный момент не присоединен к домену! Свяжитесь с системным адмнистратором! Повторить подключение после перезагрузки?")
If $msgbox == 6 Then
Shutdown(2)
Exit
Else
FileDelete($put)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
Exit
EndIf
EndIf
If $i <> 5 And $i <> 87 And $i <> 110 And $i <> 1323 And $i <> 1332 And $i <> 1326 And $i <> 1355 And $i <> 2224 And $i <> 2691 And $i <> 2692 Then
FileDelete($put)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
MsgBox(16, "Ошибка...", "Ошибка. Неизвестная критическая ошибка! Выполнение всех команд прекращено!")
Exit
EndIf
EndFunc
Func soft($id, $t, $iz)
Sleep(6500)
SplashTextOn("Установка программы " & $t & " из " & $iz, "Идет установка " & $id, 265, 80)
If $id=="WinRar 3" Then
RunWait("\\192.168.1.33\script$\Winrar\winrar.exe /S")
EndIf
; еще много прог установки
; еще много прог установки
; еще много прог установки
SplashOff()
EndFunc
If FileExists($put) Then
$IniArraySoft = IniReadSection($put, "soft")
$iniArrayName = IniReadSection($put, "name")
$IniArrayDomain = IniReadSection($put, "domain")
If $iniArrayName <> 1 Then
If $iniArrayName[1][1] <> @ComputerName Then
$msgbox = MsgBox (4, "Ошибка", "Пожалуйста перезагрузите компьютер после переименования! Сделать это сейчас?", 7)
If $msgbox == 6 Or $msgbox == -1 Then
Shutdown(2)
Exit
EndIf
EndIf
EndIf
If $IniArrayDomain <> 1 Then
Sleep(7000)
$prava = IniRead($put, "domain", "user", False)
SplashTextOn("Пожалуйста подождите...", "Внесение компьютера в домен " & $IniArrayDomain[1][1], 265, 70)
$return = $oServiseDomage.JoinDomainOrWorkGroup($IniArrayDomain[1][1], $IniArrayDomain[3][1], $IniArrayDomain[1][1] & '\' & $IniArrayDomain[2][1], $Null, $JOIN_DOMAIN)
If $return == 0 Then
If $prava Then ; если присваеваем права админа
$private = RunWait("net localgroup " & $group & " " & $prava & " /add", "", @SW_HIDE)
IniDelete($put, "name") ; удаляем записи
IniDelete($put, "domain") ; удаляем записи
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName) ; удаляем записи
If $IniArraySoft <> 1 Then ; проверяем будем ли устанавливать софт
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", @WindowsDir & '\system32\' & @ScriptName)
EndIf
SplashOff()
If $private == 0 Or $private == 2 Then
$msgbox = MsgBox(4, "Информация...", "Компьютер успешно добавлен в домен " & $IniArrayDomain[1][1] & ", Пользователю " & $prava & " присвоены права Администратора. Необходимо перезагрузить компьютер! Сделать это сейчас?", 5)
If $msgbox == 6 Or $msgbox == -1 Then
Shutdown(2)
Exit
EndIf
Else
$msgbox = MsgBox(4, "Информация...", "Компьютер успешно добавлен в домен " & $IniArrayDomain[1][1] & ". Ошибка, пользователю " & $prava & " не были присвоены права Администратора! Попробуйте в ручном режиме! Необходимо перезагрузить компьютер! Сделать это сейчас?", 5)
If $msgbox == 6 Or $msgbox == -1 Then
Shutdown(2)
Exit
EndIf
EndIf
Else
IniDelete($put, "name")
IniDelete($put, "domain")
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
If $IniArraySoft <> 1 Then
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", @WindowsDir & '\system32\' & @ScriptName)
EndIf
SplashOff()
$msgbox = MsgBox(4, "Информация...", "Компьютер успешно добавлен в домен " & $IniArrayDomain[1][1] & ". Необходимо перезагрузить компьютер! Сделать это сейчас?", 5)
If $msgbox == 6 Or $msgbox == -1 Then
Shutdown(2)
Exit
EndIf
EndIf
Else
SplashOff()
oshbka($return)
EndIf
EndIf
If $IniArraySoft <> 1 Then
Sleep(6500)
For $i=1 To UBound($IniArraySoft)-1
soft($IniArraySoft[$i][0], $i, UBound($IniArraySoft)-2)
Next
FileDelete($put)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
Exit
EndIf
EndIf
GUICreate("Внесение компьютера " & @ComputerName & " в домен...", 550, 315)
GUISetIcon("shell32.dll", 16)
GUICtrlCreateGroup(" Изменение компьютера ", 10, 10, 340, 210)
$rename = GUICtrlCreateCheckbox("Переименовать компьютер", 20, 30)
$CName = GUICtrlCreateInput(@ComputerName , 190, 30, 150, 20)
$domage = GUICtrlCreateCheckbox("Внести компьютер в домен", 20, 80)
$domain = GUICtrlCreateInput("atc.kz", 190, 80, 150, 20)
GUICtrlCreateLabel("Логин:", 145, 113)
$Alogin = GUICtrlCreateInput(@UserName, 190, 110, 150, 20)
GUICtrlCreateLabel("Пароль:", 140, 143)
$Apass = GUICtrlCreateInput("", 190, 140, 150, 20)
$Uadmin = GUICtrlCreateCheckbox("В группу Администраторы", 20, 185)
$user = GUICtrlCreateInput(@UserName, 190, 185, 150, 20)
; ===================
GUICtrlCreateGroup(" Установка программ ", 370, 10, 165, 295)
$winrar = GUICtrlCreateCheckbox("WinRar", 390, 30)
; еще много чего
; еще много чего
; еще много чего
$Run = GUICtrlCreateButton("Начать", 50, 240, 100, 50)
$Exit = GUICtrlCreateButton("Выход", 200, 240, 100, 50)
Func paste()
If GUICtrlRead($winrar) == 1 Then
IniWrite($put, "soft", "WinRar", "1")
EndIf
; и еще много чего
; и еще много чего
; и еще много чего
EndFunc
GUISetState()
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
Case $Exit
Exit
Case $Run
If GUICtrlRead($rename) == 1 Then
$CompName = GUICtrlRead($CName)
SplashTextOn("Пожалуйста подождите...", "Идет переименование ПК..", 265, 50)
For $System in $oService.InstancesOf("Win32_ComputerSystem") ; переименовываем компьютер
$sReturn = $System.Rename($CompName)
Next
If $sReturn <> 0 Then
SplashOff()
MsgBox(16, "Внимание Ошибка", "Ошибка переименования компьютера! Выполнение прекращенно!")
Exit
Else
IniWrite($put, 'name', 'name', $CompName)
If GUICtrlRead($domage) == 1 Then
$d = GUICtrlRead($domain)
$adminL = GUICtrlRead($Alogin)
$AdminP = GUICtrlRead($Apass)
If GUICtrlRead($Uadmin) == 1 Then
$UserL = GUICtrlRead($user)
$iData = "domain=" & $d & @LF & "admin=" & $adminL & @LF & "pass=" & $AdminP & @LF & "user=" & $UserL
Else
$iData = "domain=" & $d & @LF & "admin=" & $adminL & @LF & "pass=" & $AdminP
EndIf
IniWriteSection($put, "domain", $iData)
EndIf
paste()
FileCopy(@ScriptDir & '\' & @ScriptName, @WindowsDir & '\' & 'system32', 1)
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", @WindowsDir & '\' & 'system32\' & @ScriptName)
SplashOff()
$m = MsgBox(4,"Информация","Компьютер успешно переименован! Необходимо перезагрузить компьютер. Сделать это сейчас?", 5)
If $m == 6 Or $m == -1 Then
Shutdown(2)
Exit
Else
Exit
EndIf
EndIf
EndIf
If GUICtrlRead($domage) == 1 Then
$d = GUICtrlRead($domain)
$adminL = GUICtrlRead($Alogin)
$AdminP = GUICtrlRead($Apass)
$UA = GUICtrlRead($user)
SplashTextOn("Пожалуйста подождите...", "Внесение компьютера в домен " & $atc, 265, 50)
$Return = $oServiseDomage.JoinDomainOrWorkGroup($d, $AdminP, $d & '\' & $adminL, $Null, $JOIN_DOMAIN)
If $Return == 0 Then
If GUICtrlRead($Uadmin) == 1 Then
$private = RunWait("net localgroup " & $group & " " & $UA & " /add", "", @SW_HIDE)
If $private == 0 Or $private == 2 Then
paste()
FileCopy(@ScriptDir & '\' & @ScriptName, @WindowsDir & '\' & 'system32', 1)
SplashOff()
$ms = MsgBox(4, "Информация", "Компьютер " & @ComputerName & " успешно внесен в домен " & $d & ". Пользователю " & $UA & " присвоены права Администратора. Необходимо перезагрузить компьютер, сделать это сейчас?", 5)
If $ms == 6 Or $ms == -1 Then
Shutdown(2)
Exit
Else
Exit
EndIf
Else
paste()
FileCopy(@ScriptDir & '\' & @ScriptName, @WindowsDir & '\' & 'system32', 1)
SplashOff()
$message = MsgBox(4, "Информация", "Компьютер " & @ComputerName & " успешно внесен в домен " & $d & ". Ошибка при добавлении " & $UA & " в группу Администраторы. Попробуй в ручном режиме. Необходимо перезагрузить компьютер, сделать это сейчас?", 5)
If $message == 6 Or $message == -1 Then
Shutdown(2)
Exit
Else
Exit
EndIf
EndIf
Else
paste()
FileCopy(@ScriptDir & '\' & @ScriptName, @WindowsDir & '\' & 'system32', 1)
SplashOff()
$ms = MsgBox(4, "Информация", "Компьютер " & @ComputerName & " успешно внесен в домен " & $d & ". Необходимо перезагрузить компьютер, сделать это сейчас?", 5)
If $ms == 6 Or $ms == -1 Then
Shutdown(2)
Exit
Else
Exit
EndIf
EndIf
Else
SplashOff()
oshbka($Return)
EndIf
EndIf
If GUICtrlRead($winrar) == 1 Then
If FileExists("\\192.168.1.33\script$\Winrar\winrar.exe") Then
RunWait("\\192.168.1.33\script$\Winrar\winrar.exe /S")
GUICtrlSetBkColor($winrar, 0x00ff00)
Else
GUICtrlSetBkColor($winrar, 0xffff00)
Sleep(1000)
EndIf
EndIf
; и т.д
; и т.д
; и т.д
EndSwitch
WEnd