Solved

VBS file to modify registry

Posted on 2008-10-31
6
434 Views
Last Modified: 2012-06-27
I am looking to create a simple .vbs file that will modify a registry key. I need it to have a prompt to change one key, and automatically change the other key.

The keys are
hkey_local_machine>software>microsoft>windows nt>winlogon>defaultusername
hkey_local_machine>software>microsoft>windows nt>winlogon>defaultdomainname

I need a simple prompt that will ask me for the defaultusername, and when I enter it, it will change the key with my value. And, I need it to always change the defaultdomainname to "MCPS".

I have never programmed, and I am not even sure if this is the correct way to do this. Thanks for your help!
0
Comment
Question by:dougstech
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
6 Comments
 
LVL 7

Accepted Solution

by:
Hubasan earned 125 total points
ID: 22850933
Here is the script you requested. Let me know if you have any questions.
Const HKEY_LOCAL_MACHINE = &H80000002
Const cTitle = "Change Registry Values"
strComputer = "."
Set oWS = CreateObject("wscript.shell")
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
    strComputer & "\root\default:StdRegProv")
 
 
sKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
sValueName = "DefaultUserName"
sDomain = "DefaultDomainName"
sDomainValue = "MCPS"
Do
sValue = InputBox("Please type in the DefaultUserName registry value you want to use:", cTitle, "(Enter value)")
	If sValue = "" Then
		sRes = oWS.Popup("Sorry, you must enter the DefaultUserName reg value to continue." &_
		" Do you wish to try again?", ,cTitle,vbExclamation+vbYesNo)
			If sRes = vbNo Then
				oWS.Popup "User canceled, Exiting script!", , cTitle, vbInformation
				WScript.Quit
			End If
	End If
Loop Until sValue <> ""
 
oReg.SetStringValue HKEY_LOCAL_MACHINE,sKeyPath,sValueName,sValue
oReg.SetStringValue HKEY_LOCAL_MACHINE,sKeyPath,sDomain,sDomainValue
 
oReg.GetStringValue HKEY_LOCAL_MACHINE,sKeyPath,sValueName,sValue2
oReg.GetStringValue HKEY_LOCAL_MACHINE,sKeyPath,sDomain,sDomainValue2
 
If sValue <> sValue2 Or sDomainValue <> sDomainValue2 Then
	oWS.Popup "There was a problem in changing the registry values," &_
	" please check that you have enough rights to write to the HKLM of the registry", , cTitle, vbCritical
Else
	oWS.Popup "Registry values were changed successfuly!", , cTitle, vbInformation
End If

Open in new window

0
 
LVL 39

Expert Comment

by:BrandonGalderisi
ID: 22851028
Although hubasan's code appears to be correct, I would HIGHLY advise you not do this.  Storing default domain/user/password information in the registry is a big security hole.  That means that booting the computer (by anyone) will log it in and then the user could navigate to that key to get the users's password.

I realize that you can't do this with vbs, but it's a better setup to use xp power toys to do your auto login as it won't store the PW in cleartext.

http://www.windowsreference.com/windows-xp/enable-autologon-in-windows-2000xp2003/
0
 
LVL 5

Author Comment

by:dougstech
ID: 22853139
BrandonGalderisi

the script does NOT have a password to be stored in the registry. the user will still have to enter their password, but the username and domain would be filled in for them.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 39

Expert Comment

by:BrandonGalderisi
ID: 22853161
I BELIEVE... the defaultusername and defaultdomainname are only used for auto login when the autologin flag is set.  I believe that the defaultusername and defaultdomainname will still always display the last logged in user.  

But I could be wrong.
0
 
LVL 5

Author Closing Comment

by:dougstech
ID: 31512064
Thank you so much! It worked perfectly! This saves me a TON of time in the registry! thanks again
0
 
LVL 7

Expert Comment

by:Hubasan
ID: 22853351
you are welcome :-)
0

Featured Post

[Webinar] Code, Load, and Grow

Managing multiple websites, servers, applications, and security on a daily basis? Join us for a webinar on May 25th to learn how to simplify administration and management of virtual hosts for IT admins, create a secure environment, and deploy code more effectively and frequently.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…

740 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question