我正在尝试编写一个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")
*还纠正了注册表路径中的某些错字。