Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was about to write a quick script/program to configure Windows, but thought I would check before I spent a few hours coding.

I'm looking to configure things like

  • power settings
  • adding domain users to admin group
  • turn off UAC
  • et cetera

I found it takes me 30 minutes to an hour to configure the Windows settings on a new computer when I take it to a client site to get it set up. Does anyone know of a program that can do this that is a one stop shop?

share|improve this question

migrated from Sep 4 '11 at 4:15

This question came from our site for computer enthusiasts and power users.

Probably belongs on ServerFault actually. – digitxp Aug 30 '11 at 13:49
Both of these were fantastic responses thank you both for the input! – msindle Aug 31 '11 at 13:15
up vote 2 down vote accepted

There are many "tweaking" utilities for Windows, although I don't believe a one-stop-shop exists for all of the settings you wish to modify. Ultimate Windows Tweaker, essentially TweakUI for Windows 7, covers many of the little tweaks users like to make on new systems for functionality and performance reasons and is my personal choice.

That being said, the few hours of coding may be well worth it if it saves you hours of manual labour in the long run. Personally if I had such a customized set of tasks to do I would opt for the coding. It helps you learn Windows internals much better and your program would be more straightforward for you to use than poking around in someone else's UI. PowerShell would be an invaluable resource for this along with the Quest Active Roles AD Management Snap-In.

share|improve this answer
John, thanks for the response, that is what I was looking to find out. I'm versed in many different scripting/programming languages which one of those would be the most reliable to run on a computer, for example i dont anti virus software blocking and deleting it just because it doesn't know what it is? – msindle Aug 30 '11 at 18:04
@msi most anti-viruses that are worth having won't delete custom programs just because they don't recognize the signature. Use whatever you feel most comfortable with. I would recommend C# or Powershell. – John T Aug 30 '11 at 18:13

This is something for Active Directory. Since you have a domain, all this should be configured in the Active Directory configuration.

Create the desired configurations as groups in Active Directory. Create a base configuration that will apply to each and every computer on the domain, and then create other groups to handle certain expected special cases. And then assign user accounts and computers to the groups as appropriate.

Then when they log into the domain all the necessary configurations are applied automatically.

You can even deploy software this way.

UPDATE for no AD options:

Most of these settings can also be applied via Group Policy or Registry where there is no AD domain controller.

You'll have to isolate the registry settings you wish to use, if their global settings in HKLM. But if their in HKCU (Current User), configuring one user account correctly on the machine and then copying C:\Documents and Settings\\ntuser.dat into the Default User directory of each machine (similar hardware is best for this setup, but not strictly necessary) allows the settings to be propagated for each user that logs in.

I wrote a batch script years ago that autodetected several different system aspects (back when XP first came out, we were running Win95, 98, and XP and the script could tell the difference) and then configured, based on system settings, default applications, copying our default ntuser.dat, and various other registry settings.

If I were you, I'd list each configuration you want and then find the place that setting resides on a system, then compile a registry file containing all the registry tweaks, ntuser.dat where applicable, and local group policy where that works (logon and logoff scripts, for instance, can be "installed" just by copying the script to the correct system directory). You'll end up with a collection of a few different files that you can then script together using whichever method you prefer. It's simple enough for Batch, but if you prefer VB or PS, they'd probably be more powerful.

To start you off: Power settings are in the current user registry hive. Use powercfg.cpl to configure the desired settings and then open the registry to HKU.Default\Control Panel\PowerCfg\PowerPolicies\ and remove the numbered entries for all those setting you do not wish to be available. Do the same for each SID under HKU. Now copy ntuser.dat from the user profile you're in to the default user profile. Any user logging in subsequenly will get the power settings you've set up.

share|improve this answer
Thanks for the response, I failed to mention I have a lot of clients that do not have a server much less any kind of OUs available. Our clients that do have servers we use OUs extensively, its just easier. – msindle Aug 30 '11 at 18:06
Got it. Editing to reflect. – music2myear Aug 30 '11 at 19:00

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.