Версия AutoIt: 3.
Описание:
Здравствуйте! Помогите, пожалуйста с задачей со следующими условиями:
1. В системе загружен общий пользователь, который не имеет права запускать заданное приложение (far.exe).
2. Любой другой пользователь, авторизовавшись от своего имени во время сессии первого пользователя, имеет право запускать приложение (far.exe).
3. Все пользователи являются локальными администраторами (изначально).
4. Авторизация происходит посредством команды runas в cmd.
5. После запуска заданного приложения cmd должна автоматически закрываться.
6. Необходимо, чтобы пользователи не получили доступ к командной строке.
7. Windows XP английская версия.
Пример скрипта, недостатком которого является: при неправильной авторизации пользователь получает доступ к командной строке:
Собственно проблема:
1. Необходимо заблокировать кнопки клавиатуры с момента запуска командной строки до ввода пароля для команды runas, чтобы не сбить ход выполнения скрипта
2. Отследить нажатие клавиш enter, esc, ctrl и горячих клавиш во время ввода пароля и, если произошло нажатие, то закрыть cmd.
3. Закрыть cmd, если авторизация не прошла (ошибка 1326: Logon failure: uknown user name or bad password).
4. Закрыть cmd после того, как запустился far.exe.
Примечания:
Описание:
Здравствуйте! Помогите, пожалуйста с задачей со следующими условиями:
1. В системе загружен общий пользователь, который не имеет права запускать заданное приложение (far.exe).
2. Любой другой пользователь, авторизовавшись от своего имени во время сессии первого пользователя, имеет право запускать приложение (far.exe).
3. Все пользователи являются локальными администраторами (изначально).
4. Авторизация происходит посредством команды runas в cmd.
5. После запуска заданного приложения cmd должна автоматически закрываться.
6. Необходимо, чтобы пользователи не получили доступ к командной строке.
7. Windows XP английская версия.
Пример скрипта, недостатком которого является: при неправильной авторизации пользователь получает доступ к командной строке:
Код:
$answer = MsgBox(4, "Program starts", "Enter your logon name. Run?")
If $answer = 7 Then
MsgBox(4096, "Exit", "OK. Bye!")
Exit
EndIf
$username = InputBox("Program starts", "Please type in your username and click OK")
If $username == "operator" And "operator" Then
MsgBox(4096, "Error", "operator is not allowed to run the program!")
Exit
Else
Run("cmd")
WinWaitActive("C:\WINDOWS\system32\cmd.exe")
Send("runas /user:")
Send($username)
Send( ' "C:\Program Files\Far\Far.exe"')
Send( "{enter}")
EndIf
Собственно проблема:
1. Необходимо заблокировать кнопки клавиатуры с момента запуска командной строки до ввода пароля для команды runas, чтобы не сбить ход выполнения скрипта
2. Отследить нажатие клавиш enter, esc, ctrl и горячих клавиш во время ввода пароля и, если произошло нажатие, то закрыть cmd.
3. Закрыть cmd, если авторизация не прошла (ошибка 1326: Logon failure: uknown user name or bad password).
4. Закрыть cmd после того, как запустился far.exe.
Примечания: