How to automate Win7 tweaks & simple tasks on multiple machines?

bigpow

Platinum Member
Dec 10, 2000
2,372
2
81
Target: 10 Win7 Pro machines, freshly imaged.

Requirement:
Need to set up one local user with specific settings/styles:
- themes: solid black background, black color theme, transparency disabled, no sounds, blank screensaver 60min
- power: high performance, sleep/hibernation disabled
- ease of access: animations disabled, prevent windows automatic arrangement
- misc taskbar & start menu settings
- windows update: download but let user install
- uninstall gadget platform, tablet, xps and media
- folder options: show all files, extensions, list, etc
- enable RDP all protocols
- and a few more misc tweaks

A big plus if it's a .reg or .bat push, so it can be pushed remotely.
No sysprep or reinstall with vlite, please. Can't do that.

Big bonus if it could also help with automating installers such as python chain, notepad++, etc.


What's the best way to accomplish this task?
Please share your tips, either reply or PM.
Please point me to the right direction if not.


Your help is much appreciated!
I spent a couple of hours googling this subject and most of the topics of discussions are sysprep-related.
 

smakme7757

Golden Member
Nov 20, 2010
1,487
1
81
If they are on a domain you could just push that out with roaming profiles and group policy, but i guess you knew that..
 

taq8ojh

Golden Member
Mar 2, 2013
1,296
1
81
Some of these things can't be done I THINK.
themes:
go to \\Windows\Resources\Themes\ and pick whichever file you want and edit it. I don't think you can automate activating it, though (not by any regular means at least)

power:
Piece of cake. from command prompt: powercfg -?
example of what I do for some laptops:
Code:
powercfg -change -monitor-timeout-ac 30
powercfg -change -monitor-timeout-dc 5
powercfg -change -disk-timeout-ac 60
powercfg -change -disk-timeout-dc 10
powercfg -change -standby-timeout-ac 30
powercfg -change -standby-timeout-dc 15
powercfg -change -hibernate-timeout-ac 0
powercfg -change -hibernate-timeout-dc 360
powercfg -setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e sub_none consolelock 0
powercfg -setdcvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e sub_none consolelock 0

WU:
Some documentation can be found here: http://www.windowstipspage.com/windows-update-registry-keys/
I guess you could do
Code:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v AUOptions /t reg_dword /d 3 /f
from a batch file, or as a reg file
Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update]
"AUOptions"=dword:00000003

folder options and Start menu stuff:
This is a list of most if not all possible settings I took from some site, pick what you want (if in doubt what a setting does, google it up):
Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\WIM_Default\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
;Use check boxes to select items
"AutoCheckSelect"=dword:00000000
"DisablePreviewDesktop"=dword:00000000
;Force Explorer to Display Correct Filename Capitalization
"DontPrettyPath"=dword:00000000
"FolderContentsInfoTip"=dword:00000000
"Hidden"=dword:00000001
"HideDrivesWithNoMedia"=dword:00000000
"HideFileExt"=dword:00000000
"HideIcons"=dword:00000000
"ListviewAlphaSelect"=dword:00000001
"SeparateProcess"=dword:00000000
"SharingWizardOn"=dword:00000000
"ShowCompColor"=dword:00000001
"ShowInfoTip"=dword:00000001
;Show Preview Handlers in Preview Pane
"ShowPreviewHandlers"=dword:00000001
"ShowSuperHidden"=dword:00000001
"Start_AdminToolsRoot"=dword:00000002
"Start_AutoCascade"=dword:00000001
"Start_EnableDragDrop"=dword:00000001
"Start_JumpListItems"=dword:0000000a
"Start_LargeMFUIcons"=dword:00000000
"Start_MinMFU"=dword:0000000a
"Start_NotifyNewApps"=dword:00000001
"Start_PowerButtonAction"=dword:00000002
"Start_SearchFiles"=dword:00000002
"Start_SearchPrograms"=dword:00000001
"Start_ShowControlPanel"=dword:00000001
"Start_ShowDownloads"=dword:00000000
"Start_ShowHelp"=dword:00000001
"Start_ShowHomegroup"=dword:00000000
"Start_ShowMyComputer"=dword:00000001
"Start_ShowMyDocs"=dword:00000002
"Start_ShowMyGames"=dword:00000000
"Start_ShowMyMusic"=dword:00000000
"Start_ShowMyPics"=dword:00000000
"Start_ShowNetConn"=dword:00000000
"Start_ShowNetPlaces"=dword:00000001
"Start_ShowPrinters"=dword:00000001
"Start_ShowRecentDocs"=dword:00000000
"Start_ShowRecordedTV"=dword:00000000
"Start_ShowRun"=dword:00000001
"Start_ShowSetProgramAccessAndDefaults"=dword:00000001
"Start_ShowUser"=dword:00000002
"Start_ShowVideos"=dword:00000000
"Start_SortByName"=dword:00000001
"StartMenuAdminTools"=dword:00000001
"StartMenuFavorites"=dword:00000000
"SuperHidden"=dword:00000001
"TaskbarAnimations"=dword:00000001
;Taskbar icons grouping
"TaskbarGlomLevel"=dword:00000001
"TaskbarSizeMove"=dword:00000000
"TaskbarSmallIcons"=dword:00000001

For RDP I would google around for command line parameters for Windows Firewall, I guess.

That's all I can think of, but I am just an average user, unfortunately, so there's definitely a lot more you can achieve with proper knowledge. Some of the things you mentioned can only be done via Powershell and some awkward scripting (often with help of 3rd party tools, which is sometimes out of question) though, I believe.

P.S. Sysprep IS the way to go. Of course, it takes a few weeks to learn the basics, but it's great investment in future. I waited SO long for a bloody Windows 7 customization tool like vLite to be released (ironically, all of them were failures, and currently there's only one newer that actually works) I finally said screw it and learned how to do it manually.
 
Last edited:

bigpow

Platinum Member
Dec 10, 2000
2,372
2
81
Octopuss: Your tips are much appreciated. I could deploy most of them to achieve 90% of what I want to do.
As for 3rd party scripts/apps, any recommendations?
I think I'm going with ninite to help automate installing/updating apps on these machines (use it with task scheduler).
I've also looked at AutoIT, which seems promising as well (but more involved - not sure if I want to invest time there).

The reason why I can't do it with sysprep or via domain/group policy is because I'm not part of IT. I need to simplify/automate the set up process so that all the machines are uniform/identical, and so that I could work on something else.
 

taq8ojh

Golden Member
Mar 2, 2013
1,296
1
81
No idea really, I never got deep enough into that kind of stuff. I just collect tweaks I can put to use, but nothing advanced.

The IT guys over there wouldn't be willing to help? Deploying some of the stuff via GP would be very nice.
 

bigpow

Platinum Member
Dec 10, 2000
2,372
2
81
Nope. Everyone's busy as it is.
Besides, last time they pushed a domain logon script to install new printers, they end up deleting all printers of my machine. :(

You should definitely check out ninite.com - tried it just now, it works great!
I think AutoIT is promising because it runs on some kind of BASIC.

Thanks again!
 

winoutreach5

Junior Member
Dec 14, 2011
11
0
0
As smakme7757 suggested, you definitely could push out your required settings using Group Policy and Roaming Profiles.

I know you said that you are looking for a way to automate the process without sysprep however with the automation you are looking for, creating an image to deploy or using GP will really be the best method.

As suggested, you also could create a reference machine with all your settings configured and then capture an image of that machine using Sysprep.
Next, you could deploy that image out accordingly.

One way to deploy a single image easily and lightly automate the deployment process is with using the Microsoft Deployment Toolkit (MDT) as it acts as a common console for all of your deployments and can integrate with Windows Deployment Services (WDS) and PXE boot.

First off, MDT is entirely free. Next, MDT can be used to deploy Windows XP, Windows 7, Windows 8, Windows Server 2003, Windows Server 2008 and Windows Server 2008R2 without the need of using sysprep (though it will give you that option as well). Using MDT, you can easily add both applications and drivers, manage Windows updates, create task sequences, prompt for a computer name, join a domain, add a KMS or MAK product key, create an administrator account, specify time zone, etc. You can also import all user data into the new environment using the User State Migration Tool (also free). In addition to creating standard client task sequences, you can create sysprep and capture task sequences that will do just that – sysprep and capture an image of your reference machine. To become familiar with the process of using MDT, you might want to check out these videos from the Springboard Series page on TechNet:

Deployment Day Session 1: Introduction to MDT 2012
Deployment Day Session 2: MDT 2012 Advanced

Finally, there is also a great deal of resources for various deployment, virtualization and management scenarios available from the Springboard Series on TechNet.

Hope this helps and keep us posted on your progress!

Jessica
Windows Outreach Team – IT Pro
 
Last edited:

taq8ojh

Golden Member
Mar 2, 2013
1,296
1
81
Looks like you completely ignored his post where he said he was NOT the IT in the company, so all of the above is pointless.
 

bigpow

Platinum Member
Dec 10, 2000
2,372
2
81
Jessica, thanks for the detailed instructions. Saved for future reference.