Диалог имени пользователя / пароля из пакетного скрипта - PullRequest
0 голосов
/ 26 октября 2011

Мне нужно запросить имя пользователя и пароль из подпрограммы пакетного сценария, и у меня есть следующие требования:

  1. Должно быть удобным для пользователя (то есть не в командной строке, а из диалогового окнакоробка).
  2. Необходимо замаскировать пароль.
  3. Не требует настраиваемых параметров или установки перед запуском пакетного сценария (без параметров AutoIT или нечетных IE).
  4. Должен быть совместим с WindowsXP, 2008 и 7 (хотя, если вариации на тему подходят, я могу проверить конкретную ОС).

Я предполагаю, что мне может понадобиться использовать VBscript, который я могу легко создать изв пакетном скрипте, а затем удалите потом.Я нашел эту ссылку с двумя различными параметрами VBScript, но первая нарушает требование 1 (на основе консоли), а вторая нарушает требование 3 (настройки IE по умолчанию не разрешают динамическое содержимое в наши дни).Есть другие идеи?

Ответы [ 3 ]

1 голос
/ 27 октября 2011

Я бы написал собственное приложение на C ++ или Delphi, состоящее из одного диалога с полем ввода пароля.

Скомпилировав это в один исполняемый файл и вернув введенное значение вызывающему процессу, пакетный скрипт могпоставьте с исполняемым файлом в той же папке и используйте его для запроса пароля.

Если вариант .NET, написать приложение WindowsForms вместо собственного C ++ (для скорости разработки)

1 голос
/ 27 октября 2011

Приложения HTML может работать для вас. Вы можете создать простую страницу с элементом управления <input type="password" />. Однако я не могу придумать хороший способ вернуть пароль из HTA обратно в командный файл, кроме записи пароля во временный файл или, возможно, в ключ реестра.

0 голосов
/ 26 октября 2011

Использование Powershell исключено?

Для аутентификации можно использовать Get-Credential до .

$Credentials = Get-Credential Domain\UserName

Edit:

Другой вариант, если вы распространяете это приложение, это просто ввести подсказку для имени пользователя и пароля в установщике. Вы могли бы сделать это в MSI, но это, вероятно, намного больше, чем хотелось бы. Вместо этого вы можете использовать NSIS и запросить информацию в мастере установки. NSIS является автономным и будет работать на всех указанных вами ОС.

...