PowerShell script to edit remote registry
Did you ever wanted to modify your registry or add a key/value pair to registry? Wished there was a script to help you do that? Even better, wished it can run remotely without PowerShell WinRM listener configured on target server?
I had custom script that would modify certain registry entry but it was inflexible and in my recent rewrite of another script, I wanted more flexibility. So out of necessity, I decided to rewrite my registry script and made it independent script with lot of flexibility.
Using this script, you can now run it like this:
.\Set-RemoteRegistry.ps1 -Key SYSTEM\CurrentControlSet\services\AudioSrv\Parameters -Name ServiceDllUnloadOnStop -Value 1 -Type DWord
If you want to suppress prompts, you can use –Force parameter like this:
.\Set-RemoteRegistry.ps1 -Key SYSTEM\CurrentControlSet\services\AudioSrv\Parameters -Name ServiceDllUnloadOnStop -Value 0 -Type DWord –Force
This script is also a good example of cmdletbinding and support of whatif. I still think use of Whatif in scripts has its limitations as apprarent in this script (without adding more code to it to work around that limitation).
The script is also a good example of how you can use parameter validation right in the parameter declaration. This way you can avoid if..then code blocks to validate parameter inputs. What a wonderful discovery, I gotta thank PowerShell team for this.
So go ahead, get the script Set-RemoteRegistry.ps1 here and if you find any issues, let me know. Have Fun!
Comments
Anonymous
January 01, 2003
Susan, The erros is because you are using incorrect syntax. You need to use the following syntax: .set-remoteregistry -Key SOFTWAREWow6432NodeMicrosoftCCMCcmExec -name -provisioningmode -Value false -type string HLKM is hive and if you don't spoecify -hive, localmachine is used as default.Anonymous
October 24, 2011
The comment has been removed