gpt4 book ai didi

database - 替代 VBScript 中的 sendkeys

转载 作者:行者123 更新时间:2023-11-29 13:59:25 25 4
gpt4 key购买 nike

我遇到了 VBScript 的一些问题,它会自动输入 Runas 命令的密码。我正在使用以下 VBScript (runasDBUser.vbs) 来执行程序:

Option explicit
Dim oShell, k
Const PASSWORD = "DBPassword1~"
set oShell= Wscript.CreateObject("WScript.Shell")
WScript.Sleep 500
oShell.run("RunAs /noprofile /user:DBUser " & Chr(34) & "cmd /c\" & Chr(34) & WScript.Arguments(0) & "\" & Chr(34) & Chr(34))
WScript.Sleep 700
oShell.SendKeys (PASSWORD)
Wscript.Quit

此脚本在批处理文件中调用:

cscript //Nologo //B runasDBUser.vbs ""C:postgresql\bin\initdb.exe" --locale=C --encoding=UTF-8  -U %ADMIN_DB% -D "%DATA_DIR%""`

这在某些 Windows 服务器上成功运行,但在某些 Windows 服务器上不起作用。似乎它不会正确输入密码,所以 initdb.exe 不会运行。当我在安装过程中手动输入密码时,它工作正常。是否有 sendkeys 的替代方法,我可以使用它在运行“Runas”命令时自动输入 DBUser 的密码?

或者,是否有其他人可以建议自动输入 Runas 密码的脚本?不能使用像 psexec 这样的第三方 exe 文件。

最佳答案

首先,我认为最好不要使用vbscript 来发送密码。例如,如果用户将焦点转移到另一个窗口,则密码将改为发送到该窗口。它在某些服务器上不起作用的原因可能是因为在脚本运行时另一个窗口可能已成为事件窗口。

如果确实需要自动化,使用 AUTOIT 可能会更好。然而,话虽如此,另一种方法是在快捷方式文件中输入此命令。

runas/profile/env/savecred/user:用户名文件路径。因此,您手动输入一次密码,之后它将始终以指定的用户名执行。

关于database - 替代 VBScript 中的 sendkeys,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24193879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com