批处理脚本中的用户名/密码对话框

时间:2011-10-26 14:38:15

标签: windows vbscript batch-file passwords

我需要从批处理脚本子例程中提示输入用户名和密码,我有以下要求:

  1. 必须是用户友好的(即不在命令行上,而是来自a 对话框)。
  2. 必须屏蔽密码。
  3. 在运行批处理脚本之前,不得要求自定义设置或安装(无AutoIT或奇数IE设置)。
  4. 必须与Windows XP,2008和7兼容(但如果主题的变体是合适的,我可以检查特定的操作系统。)
  5. 我假设我可能需要使用VBscript,我可以在批处理脚本中轻松创建,然后删除。我找到this link,有两个不同的VBScript选项,但第一个违反了要求1(基于控制台),第二个违反了要求3(默认的IE设置现在不允许动态内容)。还有其他想法吗?

3 个答案:

答案 0 :(得分:1)

我会编写一个本机C ++或Delphi应用程序,它包含一个带密码输入字段的对话框。

将此文件编译为单个可执行文件并将输入的值返回给调用进程,批处理脚本可以将可执行文件附加到同一文件夹中,并使用它来查询密码。

如果.NET是一个选项,请编写WindowsForms应用程序而不是本机C ++(以提高开发速度)

答案 1 :(得分:1)

HTML Applications可能适合您。您可以使用<input type="password" />控件创建一个简单页面。但是,除了将密码写入临时文件或注册表密钥之外,我想不出从HTA获取密码到密码文件的好方法。

答案 2 :(得分:0)

使用Powershell是不可能的?

您可以Get-Credential使用prompt for authentication.

$Credentials = Get-Credential Domain\UserName

编辑:

分发此应用程序的另一个选择是在安装程序中输入用户名和密码的提示。您可以在MSI中执行此操作,但它可能比您想要的开销更多。您可以改为使用NSIS并在安装程序向导中提示输入信息。 NSIS是自包含的,可以在您指定的所有操作系统上运行。