Feel free to contact me :)
Tested with opsi 4.0.3.1
requiredWinstVersion >= 4.10.8.3
Tested with Windows 7/8 Enterprise x64/x32
Not working for Windows XP
By Compilenix 2014-01-22
Download: installable opsi package
Tree: |-- delsub.ins |-- FAW gGmbH.pow |-- once.ins |-- pow_cnfg.png |-- pow_cnfg_full_size.png |-- setup.ins `-- uninstall.ins
It Does:
It Does Not:
if $reset_to$ = "high_performance"
Set $reset_to_guid$ = $guid_high_performance$
endif
if $reset_to$ = "powersave"
Set $reset_to_guid$ = $guid_powersave$
endif
if $reset_to$ = "balanced"
Set $reset_to_guid$ = $guid_balanced$
endif
Message "Reset to: " + $reset_to$ + " (" + $reset_to_guid$ + ")"
WinBatch_reset_to
Message "Delete: " + $name$ + " (" + $guid$ + ")"
WinBatch_Delete
[WinBatch_reset_to]
powercfg -SETACTIVE "$reset_to_guid$"
[WinBatch_Delete]
powercfg -DELETE "$guid$"
[Initial]
setLogLevel=9
ExitOnError=True
ScriptErrorMessages=on
TraceMode=off
StayOnTop=True
[Actions]
Message "Preparing..."
DefVar $guid$
DefVar $guid_balanced$
DefVar $guid_high_performance$
DefVar $guid_powersave$
DefVar $name$
DefVar $ProductId$
DefVar $OS$
DefVar $TEMP$
DefVar $MinorOS$
DefVar $reset_to$
DefVar $reset_to_guid$
DefVar $monitor-timeout-ac$
DefVar $monitor-timeout-dc$
DefVar $disk-timeout-ac$
DefVar $disk-timeout-dc$
DefVar $standby-timeout-ac$
DefVar $standby-timeout-dc$
Set $reset_to$ = GetProductProperty ( "reset_to", "high_performance" )
Set $monitor-timeout-ac$ = GetProductProperty ( "monitor-timeout-ac", "0" )
Set $monitor-timeout-dc$ = GetProductProperty ( "monitor-timeout-dc", "5" )
Set $disk-timeout-ac$ = GetProductProperty ( "disk-timeout-ac", "0" )
Set $disk-timeout-dc$ = GetProductProperty ( "disk-timeout-dc", "20" )
Set $standby-timeout-ac$ = GetProductProperty ( "standby-timeout-ac", "0" )
Set $standby-timeout-dc$ = GetProductProperty ( "standby-timeout-dc", "30" )
set $ProductId$ = "Windows Config Power-Managment"
set $OS$ = GetOS
Set $TEMP$ = "C:\tmp"
set $MinorOS$ = GetNTVersion
Set $guid_balanced$ = "381b4222-f694-41f0-9685-ff5bb260df2e"
Set $guid_high_performance$ = "8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c"
Set $guid_powersave$ = "a1841308-3541-4fab-bc81-f71556f20b4a"
Set $name$ = "FAW gGmbH"
Set $guid$ = "261d4290-da21-4fac-9f63-309ed29cdcf3"
ShowBitmap "%scriptpath%\pow_cnfg.png" $ProductId$
if $reset_to$ = "high_performance"
Set $reset_to_guid$ = $guid_high_performance$
endif
if $reset_to$ = "powersave"
Set $reset_to_guid$ = $guid_powersave$
endif
if $reset_to$ = "balanced"
Set $reset_to_guid$ = $guid_balanced$
endif
sub "%ScriptPath%\delsub.ins"
Message "Import: " + $name$ + " (" + $guid$ + ")"
Files_copy_data
WinBatch_Import
Files_delete_data
Message "Set Active: " + $name$ + " ( " + $guid$ + ")"
WinBatch_set_active
Message "Change: " + $name$ + " (" + $guid$ + ")"
WinBatch_change
Message "Finnished"
[Files_copy_data]
copy "%scriptpath%\$name$.pow" "$TEMP$"
[Files_delete_data]
delete -f "$TEMP$\$name$.pow"
[WinBatch_Import]
powercfg -IMPORT "$TEMP$\$name$.pow" $guid$
[WinBatch_set_active]
powercfg -SETACTIVE $guid$
[WinBatch_change]
powercfg -CHANGE -monitor-timeout-ac "$monitor-timeout-ac$"
powercfg -CHANGE -monitor-timeout-dc "$monitor-timeout-dc$"
powercfg -CHANGE -disk-timeout-ac "$disk-timeout-ac$"
powercfg -CHANGE -disk-timeout-dc "$disk-timeout-dc$"
powercfg -CHANGE -standby-timeout-ac "$standby-timeout-ac$"
powercfg -CHANGE -standby-timeout-dc "$standby-timeout-dc$"
[Initial]
setLogLevel=9
ExitOnError=True
ScriptErrorMessages=on
TraceMode=off
StayOnTop=True
[Actions]
Message "Preparing..."
DefVar $guid$
DefVar $guid_balanced$
DefVar $guid_high_performance$
DefVar $guid_powersave$
DefVar $name$
DefVar $ProductId$
DefVar $OS$
DefVar $TEMP$
DefVar $MinorOS$
DefVar $reset_to$
DefVar $reset_to_guid$
DefVar $monitor-timeout-ac$
DefVar $monitor-timeout-dc$
DefVar $disk-timeout-ac$
DefVar $disk-timeout-dc$
DefVar $standby-timeout-ac$
DefVar $standby-timeout-dc$
Set $reset_to$ = GetProductProperty ( "reset_to", "high_performance" )
Set $monitor-timeout-ac$ = GetProductProperty ( "monitor-timeout-ac", "0" )
Set $monitor-timeout-dc$ = GetProductProperty ( "monitor-timeout-dc", "5" )
Set $disk-timeout-ac$ = GetProductProperty ( "disk-timeout-ac", "0" )
Set $disk-timeout-dc$ = GetProductProperty ( "disk-timeout-dc", "20" )
Set $standby-timeout-ac$ = GetProductProperty ( "standby-timeout-ac", "0" )
Set $standby-timeout-dc$ = GetProductProperty ( "standby-timeout-dc", "30" )
set $ProductId$ = "Windows Config Power-Managment"
set $OS$ = GetOS
Set $TEMP$ = "C:\tmp"
set $MinorOS$ = GetNTVersion
Set $guid_balanced$ = "381b4222-f694-41f0-9685-ff5bb260df2e"
Set $guid_high_performance$ = "8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c"
Set $guid_powersave$ = "a1841308-3541-4fab-bc81-f71556f20b4a"
Set $name$ = "FAW gGmbH"
Set $guid$ = "261d4290-da21-4fac-9f63-309ed29cdcf3"
ShowBitmap "%scriptpath%\pow_cnfg.png" $ProductId$
sub "%ScriptPath%\delsub.ins"
Message "Import: " + $name$ + " (" + $guid$ + ")"
Files_copy_data
WinBatch_Import
Files_delete_data
Message "Set Active: " + $name$ + " ( " + $guid$ + ")"
WinBatch_set_active
Message "Finnished"
[Files_copy_data]
copy "%scriptpath%\$name$.pow" "$TEMP$"
[Files_delete_data]
delete -f "$TEMP$\$name$.pow"
[WinBatch_Import]
powercfg -IMPORT "$TEMP$\$name$.pow" $guid$
[WinBatch_set_active]
powercfg -SETACTIVE $guid$
[Initial] setLogLevel=9 ExitOnError=True ScriptErrorMessages=on TraceMode=off StayOnTop=True [Actions] Message "Preparing..." DefVar $guid$ DefVar $guid_balanced$ DefVar $guid_high_performance$ DefVar $guid_powersave$ DefVar $name$ DefVar $ProductId$ DefVar $OS$ DefVar $TEMP$ DefVar $MinorOS$ DefVar $reset_to$ DefVar $reset_to_guid$ DefVar $monitor-timeout-ac$ DefVar $monitor-timeout-dc$ DefVar $disk-timeout-ac$ DefVar $disk-timeout-dc$ DefVar $standby-timeout-ac$ DefVar $standby-timeout-dc$ Set $reset_to$ = GetProductProperty ( "reset_to", "high_performance" ) Set $monitor-timeout-ac$ = GetProductProperty ( "monitor-timeout-ac", "0" ) Set $monitor-timeout-dc$ = GetProductProperty ( "monitor-timeout-dc", "5" ) Set $disk-timeout-ac$ = GetProductProperty ( "disk-timeout-ac", "0" ) Set $disk-timeout-dc$ = GetProductProperty ( "disk-timeout-dc", "20" ) Set $standby-timeout-ac$ = GetProductProperty ( "standby-timeout-ac", "0" ) Set $standby-timeout-dc$ = GetProductProperty ( "standby-timeout-dc", "30" ) set $ProductId$ = "Windows Config Power-Managment" set $OS$ = GetOS Set $TEMP$ = "C:\tmp" set $MinorOS$ = GetNTVersion Set $guid_balanced$ = "381b4222-f694-41f0-9685-ff5bb260df2e" Set $guid_high_performance$ = "8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c" Set $guid_powersave$ = "a1841308-3541-4fab-bc81-f71556f20b4a" Set $name$ = "FAW gGmbH" Set $guid$ = "261d4290-da21-4fac-9f63-309ed29cdcf3" ShowBitmap "%scriptpath%\pow_cnfg.png" $ProductId$ sub "%ScriptPath%\delsub.ins" Message "Finnished"
[Package]
version: 1
depends:
incremental: False
[Product]
type: localboot
id: win-config-power
name: win-config-power
description: Set and Configure Windows Power Options
advice: costomize default config with "once" and product propertys.
version: 1.0
priority: 0
licenseRequired: False
productClasses:
setupScript: setup.ins
uninstallScript: uninstall.ins
updateScript:
alwaysScript:
onceScript: once.ins
customScript:
userLoginScript:
[ProductProperty]
type: unicode
name: reset_to
multivalue: True
editable: False
values: ["balanced", "high_performance", "powersave"]
default: ["high_performance"]
[ProductProperty]
type: unicode
name: monitor-timeout-ac
multivalue: True
editable: True
values: ["0", "10", "20", "30", "5"]
default: ["0"]
[ProductProperty]
type: unicode
name: monitor-timeout-dc
multivalue: True
editable: True
values: ["0", "10", "20", "30", "5"]
default: ["5"]
[ProductProperty]
type: unicode
name: disk-timeout-ac
multivalue: True
editable: True
values: ["0", "10", "20", "30", "5"]
default: ["0"]
[ProductProperty]
type: unicode
name: disk-timeout-dc
multivalue: True
editable: True
values: ["0", "10", "20", "30", "5"]
default: ["20"]
[ProductProperty]
type: unicode
name: standby-timeout-ac
multivalue: True
editable: True
values: ["0", "10", "20", "30", "5"]
default: ["0"]
[ProductProperty]
type: unicode
name: standby-timeout-dc
multivalue: True
editable: True
values: ["0", "10", "20", "30", "5"]
default: ["30"]
[Changelog]
win-config-power (1.0-1) testing; urgency=low
-- Kevin Weis <kevin.weis@faw.de> 2014-01-22.1004 +0100
* Use "Setup" for installing default config (.pow file)
* Use "Uninstall" for remove default config (.pow file) and set to selected property "reset_to" (default is "high_performance")
* Use "Once" to costomize the default config (.pow file), with the product propertys (values in minutes):
- "monitor-timeout-ac"
- "monitor-timeout-dc"
- "disk-timeout-ac"
- "disk-timeout-dc"
- "standby-timeout-ac"
- "standby-timeout-dc"
* Tested with Windows 7 Enterprise and Windows 8.1 Professional