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

发布于 2024-12-11 21:50:04 字数 510 浏览 0 评论 0原文

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

  1. 必须是用户友好的(即不是在命令行上,而是从 对话框)。
  2. 必须屏蔽密码。
  3. 在运行批处理脚本之前不得要求自定义设置或安装(无 AutoIT 或奇怪的 IE 设置)。
  4. 必须与 Windows XP、2008 和 7 兼容(尽管如果主题的变体合适,我可以检查特定的操作系统)。

我假设我可能需要使用 VBscript,我可以轻松地从批处理脚本中创建它,然后将其删除。我确实找到了 此链接,有两个不同的 VBScript 选项,但第一个违反了要求 1(基于控制台),第二个违反了要求 3(默认 IE 设置不允许动态这些天的内容)。还有其他想法吗?

I need to prompt for a username and password from a batch script subroutine and I have the following requirements:

  1. Must be user-friendly (i.e. not on the command line, but from a
    dialog box).
  2. Must mask the password.
  3. Must not require customized settings or installation before I run the batch script (no AutoIT or odd IE settings).
  4. Must be compatible with Windows XP, 2008, and 7 (though if variations on a theme are appropriate I can check the specific OS).

I'm assuming that I may need to use VBscript, which I can easily create from within the batch script and then delete afterward. I did find this link, with two different VBScript options, but the first one violates requirement 1 (console based), and the second violates requirement 3 (default IE settings aren't allowing dynamic content these days). Any other ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

A君 2024-12-18 21:50:04

HTML 应用程序可能适合您。您可以使用 控件创建一个简单的页面。不过,除了将密码写入临时文件或注册表项之外,我想不出将密码从 HTA 返回到批处理文件的好方法。

HTML Applications might work for you. You could create a simple page with an <input type="password" /> control. I can't think of a good way to get the password from the HTA back to the batch file, though, other than writing the password to a temporary file, or maybe a registry key.

静谧 2024-12-18 21:50:04

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

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

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

I would write a native C++ or Delphi application that consists of a single dialog with a password input field.

Compiling this to a single executable and returning the entered value to the calling process, the batch script could ship with the executable in the same folder and use it to query for the password.

If .NET is an option, write a WindowsForms application instead of native C++ (for speed of development)

优雅的叶子 2024-12-18 21:50:04

使用Powershell 是不可能的吗?

您可以使用 Get-Credential提示身份验证。

$Credentials = Get-Credential Domain\UserName

编辑:

如果分发此应用程序,另一种选择是仅提示身份验证安装程序中的用户名和密码。您可以在 MSI 中执行此操作,但这可能比您想要的要多得多。您可以改用 NSIS 并在安装程序向导中提示输入信息。 NSIS 是独立的,可以在您指定的所有操作系统上运行。

Is using Powershell out of the question?

You can use Get-Credential to prompt for authentication.

$Credentials = Get-Credential Domain\UserName

Edit:

Another option if distributing this application is to just put the prompt for a username and password in the installer. You could do this in an MSI, but it is probably a lot more overhead than you'd want. You could instead use NSIS and prompt for the info in the installer wizard. NSIS is self-contained and would run on all the OS's you specified.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文