Happy 2012 everyone!

Here is an updated Powershell script for setting the powerplan on a server in a much more efficient manner.

 

A big shout out to Amir Rothschild - PFE Extraordinaire & Shay Levy - PowerShell MVP – Thanks guys!

Here is the updated PowerShell script:

 

  1: ##############################################################################################################
  2: #
  3: #	Title: Set-Power.ps1
  4: #
  5: #	By: Aaron Saikovski (asaikov)
  6: #
  7: #	Purpose: Sets the powerplan of the current machine to one of three plan settings:
  8: #			High Performance
  9: #			Balanced
 10: #			Power Saver
 11: #
 12: #	Usage: ./Set-Power.ps1 <Plan Option>
 13: #
 14: #	Version: 2.0
 15: #
 16: #	Activation code courtesy to Amir Rothschild (amrotchi) - PFE Extraordinaire & Shay Levy - PowerShell MVP
 17: #
 18: ##############################################################################################################
 19: 
 20: ##############################################################################################################
 21: #
 22: #	Variables used in this script 
 23: #
 24: #	[string]$PreferredPlan	# Powerplan to set the machine to
 25: #
 26: ##############################################################################################################
 27: 
 28: PARAM
 29: (
 30: 	[Parameter(Mandatory=$true)][ValidateSet("High performance", "Balanced", "Power saver")]
 31: 	[string]$PreferredPlan
 32: )
 33: 
 34: function SetPowerPlan([string]$PreferredPlan)
 35: {
 36: 	Write-Host "Setting Powerplan to $PreferredPlan"
 37: 	(Get-WmiObject -Class Win32_PowerPlan -Namespace root\cimv2\power -Filter "ElementName='$PreferredPlan'").Activate()
 38: }
 39: 
 40: #set Preferred powerplan
 41: SetPowerPlan $PreferredPlan