VBScript Windows自动登录脚本

VBScript Windows自动登录脚本,windows,vbscript,autologin,Windows,Vbscript,Autologin,我正在尝试编写一个VBScript,通过使用注册表和InputBox/Msgbox自动登录到Windows。我是VBScript新手,所以我什么都不知道,但我在想这样的事情: Set WshSehll = WScript.CreateObject("WScript.Shell") WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windwos NT\Current Version\Winlogon\DefaultUserName", "Myusername

我正在尝试编写一个VBScript,通过使用注册表和InputBox/Msgbox自动登录到Windows。我是VBScript新手,所以我什么都不知道,但我在想这样的事情:

Set WshSehll = WScript.CreateObject("WScript.Shell")

WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windwos NT\Current Version\Winlogon\DefaultUserName", "Myusername", "REG_SZ"
WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windwos NT\Current Version\Winlogon\DefaultPassword", "Mypassword" "REG_SZ"
WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windwos NT\Current Version\Winlogon\AutoAdminLogon", "1", "REG_SZ"

Dim sInput
sInput = InputBox "HKLM\SOFTWARE\Microsoft\Windwos NT\Current Version\Winlogon\DefaultUserName", "Myusername" ("Username: ")
sInput = InputBox "HKLM\SOFTWARE\Microsoft\Windwos NT\Current Version\Winlogon\DefaultPassword", "Mypassword" ("Password: ")

我的想法是打开一个窗口,您可以在其中输入用户名和密码,按OK或Cancel。非常简单,但我还没有找到一种方法将注册表项的值与输入字段相结合。感谢您提供一些提示或任何帮助。

脚本需要首先从
InputBox()
调用中捕获值,然后才能更新注册表,请尝试以下操作:

Dim user, pwd
Dim wsh: Set wsh = WScript.CreateObject("WScript.Shell")

'Collect input.
user = InputBox("Username: ", "Enter Username")
pwd = InputBox("Password: ", "Enter Password")

'Assess whether registry should be updated.
If Len(user) > 0 Then
    Call wsh.RegWrite("HKLM\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon\DefaultUserName", user, "REG_SZ")
End If
If Len(pwd) > 0 Then
    Call wsh.RegWrite("HKLM\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon\DefaultPassword", pwd, "REG_SZ")
End If

Call wsh.RegWrite("HKLM\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon\AutoAdminLogon", Abs((Len(user) > 0 And Len(password) > 0)), "REG_SZ")

*还更正了注册表路径中的一些输入错误。

您的注册表路径是向后的。例如,从变量
user
pwd
中的
InputBox()
捕获值,然后使用它们来填充
RegWrite()
调用,用
user
替换
“Myusername”
,用pwd替换
“Mypassword”
。谢谢!脚本在第10行调用注册表项时出错。当注册表项不存在时会出现错误(我自己也检查过)。我将设法在脚本中添加/更新密钥。@user12398266会有的,这不是一个防弹解决方案,我只是对代码重新排序并添加了一些基本检查。我将把错误处理留给您。我搜索了一种添加/更新密钥的方法,并将其添加到代码中:
Dim ObjShell
Dim ShellObject
Set ObjShell=ShellObject.regrad(“HKLM\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon\DefaultUserName”)
如果ObjShell=“”,那么“不存在,将被添加”,“4”,“ShellObject.RegWrite”HKLM\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon\“
其他
ShellObject.Popup”存在,“3”“
如果我收到一个错误,说Set ObjShell需要一个值,但我似乎无法解决这个问题。好吧,我会继续尝试。无论如何谢谢你!