ascnd
asked on
VBS or BAT to update the local registry on domain pc run by poweruser
VBS or BAT to update the local registry on domain pc run by poweruser.
I am trying to create a bat or vbs script to that a designated poweruser can run on a Domain Users machine to edit the registry. The Domain Users account have been locked down with Group Policy so I am using the 'runas' command so johndoe (the poweruser, who as admin priv on every machine) can execute the script and update the registry key. I have two files, the first is a batch file as shown below with one line and the second is the .reg file to alter the registry. The script HAS TO BE RUN while the current domain user is logged on the change the key. I keep getting directory doesn't exist errors. Could someone please help me?
FixIE.bat:
runas /profile /env /user:thedomain\johndoe "regedit \"\\DC01\Shared Folder\Scripts\FixIE\FixIE .reg\""
FixIE.reg:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\TypeLib \{EAB22AC0 -30C1-11CF -A7EB-0000 C05BAE0B}\ 1.1\0\win3 2]
@="C:\\WINDOWS\\system32\\ ieframe.dl l"
I am trying to create a bat or vbs script to that a designated poweruser can run on a Domain Users machine to edit the registry. The Domain Users account have been locked down with Group Policy so I am using the 'runas' command so johndoe (the poweruser, who as admin priv on every machine) can execute the script and update the registry key. I have two files, the first is a batch file as shown below with one line and the second is the .reg file to alter the registry. The script HAS TO BE RUN while the current domain user is logged on the change the key. I keep getting directory doesn't exist errors. Could someone please help me?
FixIE.bat:
runas /profile /env /user:thedomain\johndoe "regedit \"\\DC01\Shared Folder\Scripts\FixIE\FixIE
FixIE.reg:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\TypeLib
@="C:\\WINDOWS\\system32\\
Or if you want to use runas, try it with reg.exe instead:
runas /profile /env /user:thedomain\johndoe reg add \\%pc%\hkey_classes_root\t ypelib\{EA B22AC0-30C 1-11CF-A7E B-0000C05B AE0B}\1.1\ 0\win32 /ve /d "C:\\WINDOWS\\system32\\ie frame.dll"
runas /profile /env /user:thedomain\johndoe reg add \\%pc%\hkey_classes_root\t
ASKER
The proposed solution below (which is the one I want to use) has %pc% in it. There are many PC's can't this be eliminated. If so what would the line look like?
runas /profile /env /user:thedomain\johndoe reg add \\%pc%\hkey_classes_root\t ypelib\{EA B22AC0-30C 1-11CF-A7E B-0000C05B AE0B}\1.1\ 0\win32 /ve /d "C:\\WINDOWS\\system32\\ie frame.dll"
runas /profile /env /user:thedomain\johndoe reg add \\%pc%\hkey_classes_root\t
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Hmm. I don't think you can add or query hkey_classes_root remotely.
You need to do it through HKLM. You probably want to add the /f too.
Of course on the local machine use sirbounty's last runas command above. Add /f to not prompt you.
You need to do it through HKLM. You probably want to add the /f too.
Of course on the local machine use sirbounty's last runas command above. Add /f to not prompt you.
@echo off
for /f %%a in (C:\Computers.txt) do call :process %%a
goto :eof
:process
set pc=%1
reg add \\%pc%\hklm\software\classes\typelib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\1.1\0\win32 /ve /f /d "C:\\WINDOWS\\system32\\ieframe.dll"
ASKER
Sirbounty,
Thank you for the solution. I only had to alter one thing. I had to add quotes around the command and then I had to add a \ to the nested quotes to get it to work fully.
runas /profile /env /user:c21nebraska\ghasse "reg add hkey_classes_root\typelib\ {EAB22AC0- 30C1-11CF- A7EB-0000C 05BAE0B}\1 .1\0\win32 /ve /d \"C:\\WINDOWS\\system32\\i eframe.dll \""
Thank you for the solution. I only had to alter one thing. I had to add quotes around the command and then I had to add a \ to the nested quotes to get it to work fully.
runas /profile /env /user:c21nebraska\ghasse "reg add hkey_classes_root\typelib\
Glad I could help - thanx for the grade! :^)
1) Create a list of devices you want to update - c:\Computers.txt
2) Create the following batch file:
Open in new window