Скрипт выполняет исполняемые файлы от имени администратора домена. Для чего нужно ?
Для простоты установки приложений из под обычного пользователя, чтоб не переключаться между пользователем и администратором.
Критика и пожелания тоже приветствуются. 8)
Чтобы получить доступ к командам нужно в поле обзора ввести секретное слово и нажать ОК.
Для простоты установки приложений из под обычного пользователя, чтоб не переключаться между пользователем и администратором.
Код:
$user = 'Имя пользователя' ; имя пользователя администратора домена
$domain = 'Имя домена' ; имя домена
$etalon = 'пароль' ; пароль
$secret = 'ктулху' ; секретное слово
$time = 'RunDll32.exe shell32.dll,Control_RunDLL timedate.cpl' ; настройка даты и времени
$divace = 'RunDll32.exe devmgr.dll DeviceManager_Execute' ; диспетчер устройств
$print = 'rundll32 SHELL32,SHHelpShortcuts_RunDLL AddPrinter' ; установка принтера
$taskm = 'taskmgr' ; диспетчер задач
$regedit = @WindowsDir & '\regedit.exe' ; реестр
$msconfigxp = @WindowsDir & '\pchealth\helpctr\binaries\msconfig' ; конфигурация системы windows xp
$msconfig7 = 'msconfig' ; конфигурация системы windows 7
$cmd = 'cmd' ; командная сторока
$pass = InputBox("Секретный пароль","В ведите пароль от " & $user, "", "*", 170, 150)
If @error Then Exit
If $etalon = $pass Then
$message = "Выберите исполняемый файл для запуска от имени администратора домена"
$var = FileOpenDialog($message, @DesktopDir & "\", "Все форматы (*.*)")
If @error Then Exit
$Exp = StringRegExpReplace($var, '.*\.(\S+)', '\1')
If @DesktopDir & "\" & $secret = $var Then
$command = InputBox("Системные команды", "Доступны следующие команды:" & @CRLF & @CRLF & "cmd" & @TAB & @TAB &"командная строка" & @CRLF & "msconfig" & @TAB & "конфигурация системы" & @CRLF & "regedit" & @TAB & @TAB &"реестр" & @CRLF & "task" & @TAB & @TAB &"диспетчер задач" & @CRLF & "divace" & @TAB & @TAB &"диспетчер устройств"& @CRLF & "print" & @TAB & @TAB &"установка принтера" & @CRLF & "time" & @TAB & @TAB &"настройка даты", "", "", 250, 240)
If "time" = $command Then
RunAs($user, $domain, $pass, 0, $time)
ElseIf "divace" = $command Then
RunAs($user, $domain, $pass, 0, $divace)
ElseIf "print" = $command Then
RunAs($user, $domain, $pass, 4, $print)
ElseIf "task" = $command Then
RunAs($user, $domain, $pass, 4, $taskm)
ElseIf "cmd" = $command Then
RunAs($user, $domain, $pass, 0, $cmd)
ElseIf "regedit" = $command Then
RunAs($user, $domain, $pass, 0, $regedit)
ElseIf "msconfig" = $command Then
If "Win_XP" = @OSVersion Then
RunAs($user, $domain, $pass, 0, $msconfigxp)
Else
RunAs($user, $domain, $pass, 0, $msconfig7)
EndIf
Else
Exit
EndIf
ElseIf "msi" = $Exp Then
RunAs($user, $domain, $pass, 0, 'msiexec /i ' & '"'& $var &'"')
Else
RunAs($user, $domain, $pass, 0, $var)
EndIf
Else
MsgBox(4096,"Error Pass","Дальше будем подбирать пароль? O_o")
EndIf
Критика и пожелания тоже приветствуются. 8)
Чтобы получить доступ к командам нужно в поле обзора ввести секретное слово и нажать ОК.