====== Win-Config-Power ======
**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@compilenix.org|Compilenix]] 2014-01-22\\
Download: [[https://compilenix.org/public/opsi/localboot/win-config-power/win-config-power_1.0-1.opsi | installable opsi package]]\\
Tree:
|-- delsub.ins
|-- FAW gGmbH.pow
|-- once.ins
|-- pow_cnfg.png
|-- pow_cnfg_full_size.png
|-- setup.ins
`-- uninstall.ins
==== What is does, and what not ====
It Does:\\
- **Setup** installing default config (.pow file)
- **Uninstall** remove default config (.pow file) and set to selected property "reset_to" (default is "high_performance")
- **Once** customize 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
It Does Not:\\
- Working for Windows XP
- Turn your computer into an energy-saving-machine
- Report any errors, to winst.
==== TODO ====
- May add Exception-Handling/Error-Reporting.
===== delsub.ins =====
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$"
===== once.ins =====
[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$"
===== setup.ins =====
[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$
===== uninstall.ins =====
[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"
===== control =====
[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 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