Technische beschrijving PCPM

6

Click here to load reader

Transcript of Technische beschrijving PCPM

Page 1: Technische beschrijving PCPM

UNIVERSITEIT VAN AMSTERDAM

Informatiseringscentrum

Bestandsnaam :

Technische beschrijving PCPM.doc

Auteur : Mike de Ruijter 1/6

PC Powermanagement

Versie : 1.2 Type :

Datum : 16 oktober 2009 Project : Powermanagement

Page 2: Technische beschrijving PCPM

UNIVERSITEIT VAN AMSTERDAM

Informatiseringscentrum

Bestandsnaam :

Technische beschrijving PCPM.doc

Auteur : Mike de Ruijter 2/6

1 Eisen PC Powermanagement moet aan de volgende eisen voldoen;

‘s Nachts computers uit. Computers gaan aan wanneer een student de computer aandoet. Na 10 minuten ongebruikt gaat de computer en monitor in stand-by stand. Als er niet is ingelogd gaat de computer en monitor na 5 minuten in stand-by Computers centraal uitzetten na sluitingstijd. (Dit is al aanwezige technologie)

2 De techniek

2.1 Grouppolicy (GPO)

Helaas biedt Windows XP in combinatie met Windows 2003 server geen mogelijkheden om met gebruik van standaard policies het Powermanagement op de Pc’s in te stellen. Om Powermanagement toch beschikbaar te maken wordt er gebruik gemaakt van command files die worden gestart via een Group Policy.

2.1.1 GPO Powermanagement.

Naast dat op handmatig wijze het Powermanagement is aan te passen. Is het ook mogelijk om gebruik te maken van het hulpmiddel powercfg.exe. Die is standaard meegeleverd met Windows XP. Met dit ‘commandline’ programma kan alle gewenste instellingen gemaakt worden. Om de functionaliteit beschikbaar te krijgen is de volgende Group Policy (GPO) aangemaakt: Powermanagement. Er worden acties uitgevoerd bij;

1. Het opstarten van de PC (Computer configuration) 2. De gebruiker logt in (User configuration) 3. De gebruiker logt uit (User configuration)

Versie : 1.2 Type :

Datum : 16 oktober 2009 Project : Powermanagement

Page 3: Technische beschrijving PCPM

UNIVERSITEIT VAN AMSTERDAM

Informatiseringscentrum

Bestandsnaam :

Technische beschrijving PCPM.doc

Auteur : Mike de Ruijter 3/6

2.1.1.1 Het opstarten van de PC Bij het opstarten van de PC wordt het CMD bestand PM-default.cmd gestart. Op volgorde van uitvoering wordt de inhoud van de CMD file afgehandeld.

Om een PC uit Stand-by stand te halen is het mogelijk om naast de aan/uit knop gebruik te maken van het toetsenbord, muis of netwerkkaart. Maar dan moet deze mogelijkheid wel geactiveerd worden via

apparaatbeheer (Dit wordt later besproken). Maar het bleek dat zonder aanpassing van de registry er niet voldoende energie bespaard wordt op de Dell computers. Om het probleem op te lossen worden er regels aan het register toegevoegd (zie kader links boven). Voor meer informatie zie: http://support.microsoft.com/kb/841858.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usb] "USBBIOSHACKS"=dword:00000000 "USBBIOSx"=dword:00000000

Vervolgens worden de Powermanagement instellingen gezet. Als eerste wordt het schema “Home/Office Desk” geselecteerd en daarna worden tijden in minuten ingesteld per onderdeel. Dit spreekt verder voor zich. (zie afbeelding PM-Default.cmd op de volgende pagina) Wat nog wel opgemerkt moet worden is dat er een verschil is tussen energie gebruik via het 220v stroomnet of via een accu. AC wordt gebruikt in combinatie met apparaten die zijn aangesloten op een 220v stroomnet en DC wordt gebruikt voor apparaten gebruik maken van een accu. DC word vooralsnog niet ingesteld. Powercfg bied je de mogelijkheid om apparaten (toetsenbord, muis en netwerkkaart) ook in te stellen via het commando POWERCFG.EXE /DEVICEENABLEWAKE maar daarbij moet je wel de beschikking hebben over de naam van het specifieke apparaat. Dit is uit te lezen via het commando POWERCFG.EXE /DEVICEQUERY wake_programmable. Maar het probleem is dat de apparaatnaam per systeem kan verschillen. En zover ik heb begrepen kan het ook veranderen als het apparaat word aangesloten op een andere USB poort. Er is een klein script toegevoegd aan het CMD bestand waarbij bovenstaande acties zijn gebundeld en worden uitgevoerd. Het maakt de PC en type apparaat onafhankelijk en wordt iedere keer bij het opstarten van de PC uitgevoerd. Ondanks het script die de optie “Allow this device to bring the computer out of standby” activeert moet voor de netwerkkaart ook de optie “Allow the computer to turn off this device to save power” en "Only allow management stations to bring the computer out of standby" geactiveerd worden. De laatste optie zorgt ervoor dat de PC alleen via een WOL actie uit stand-by is te halen. Anders zorgt al het netwerk verkeer dat langs de netwerkkaart gaat ervoor dat de PC wakker word. Dat zou het effect kunnen opleveren dat de PC als een soort knipperlicht continu aan en uit gaat. Het VB script nicmod_PM.vbs past deze settings aan. (zie bijlage onderaan) Verder worden er schrijfrechten gezet voor de gebruiker op de register entry’s

MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg USERS\.DEFAULT\Control Panel\PowerCfg

Anders is het op gebruikers niveau niet mogelijk de Powermanagement settings aan te passen.

Versie : 1.2 Type :

Datum : 16 oktober 2009 Project : Powermanagement

Page 4: Technische beschrijving PCPM

UNIVERSITEIT VAN AMSTERDAM

Informatiseringscentrum

Bestandsnaam :

Technische beschrijving PCPM.doc

Auteur : Mike de Ruijter 4/6

PM-Default.cmd

@Echo off cls rem de registry word aangepast waardoor de PC volledig in standby stand gaat als de muis, rem toetsenbord en netwerkkaart de mogelijkheid hebben de PC uit stand-by mode te halen. regedit /s enable_s3.reg rem het power schema word geselecteerd en de waarden worden gezet. powercfg.exe /S "Home/Office Desk" powercfg.exe /X "Home/Office Desk" /standby-timeout-ac 5 powercfg.exe /X "Home/Office Desk" /standby-timeout-dc 0 powercfg.exe /X "Home/Office Desk" /disk-timeout-ac 5 powercfg.exe /X "Home/Office Desk" /disk-timeout-dc 0 powercfg.exe /X "Home/Office Desk" /monitor-timeout-ac 5 powercfg.exe /X "Home/Office Desk" /monitor-timeout-dc 0 powercfg.exe /X "Home/Office Desk" /hibernate-timeout-ac 0 powercfg.exe /X "Home/Office Desk" /hibernate-timeout-dc 0 powercfg.exe /X "Home/Office Desk" /processor-throttle-ac ADAPTIVE powercfg.exe /X "Home/Office Desk" /processor-throttle-dc NONE rem onderstaande functie activeerd "Allow this device to bring the computer out of standby" rem voor toetsenbord, muis en netwerkkaart. Maker: Hai Luong POWERCFG.EXE /DEVICEQUERY wake_programmable > %temp%\powercfg.txt for /f "tokens=* delims= " %%a in (%temp%\powercfg.txt) do ( POWERCFG.EXE /DEVICEENABLEWAKE "%%a") rem onderstaande functie activeerd "Allow the computer to turn off this device to save power" rem voor de netwerkkaart. Dit is nodig omdat anders de PC niet wakker word rem via een netwerk actie. Maker: Hai Luong nicmod_PM.vbs

2.1.1.2 De gebruiker logt in. PM-Logon.cmd

Om de gebruiker niet onnodig lastig te vallen met een snel geactiveerde stand-by stand wordt de tijd waarin de PC in stand-by stand gaat verhoogd van 5 naar 10 minuten.

@Echo off cls powercfg.exe /S "Home/Office Desk" powercfg.exe /X "Home/Office Desk" /standby-timeout-ac 10 powercfg.exe /X "Home/Office Desk" /standby-timeout-dc 0 powercfg.exe /X "Home/Office Desk" /disk-timeout-ac 0

powercfg.exe /X "Home/Office Desk" /disk-timeout-dc 0 powercfg.exe /X "Home/Office Desk" /monitor-timeout-ac 10 Met het commando powercfg.exe

/G ON /OPTION “RESUMEPASSWORD" wordt ingesteld dat de pc vergrendeld zodra die in stand-by stand gaat.

powercfg.exe /X "Home/Office Desk" /monitor-timeout-dc 0 powercfg.exe /X "Home/Office Desk" /hibernate-timeout-ac 0 powercfg.exe /X "Home/Office Desk" /hibernate-timeout-dc 0 powercfg.exe /X "Home/Office Desk" /processor-throttle-ac ADAPTIVE powercfg.exe /X "Home/Office Desk" /processor-throttle-dc NONE powercfg.exe /G ON /OPTION "RESUMEPASSWORD"

2.1.1.3 De gebruiker logt uit PM-Logoff.cmd

@Echo off De instellingen worden

weer terug gezet naar de default instellingen.

cls powercfg.exe /S "Home/Office Desk" powercfg.exe /X "Home/Office Desk" /standby-timeout-ac 5

powercfg.exe /X "Home/Office Desk" /standby-timeout-dc 0 Voor alle mogelijkheden van de tool powercfg.exe

powercfg.exe /X "Home/Office Desk" /disk-timeout-ac 5 powercfg.exe /X "Home/Office Desk" /disk-timeout-dc 0 powercfg.exe /X "Home/Office Desk" /monitor-timeout-ac 5 Type powercfg /? In een

commandbox. powercfg.exe /X "Home/Office Desk" /monitor-timeout-dc 0 powercfg.exe /X "Home/Office Desk" /hibernate-timeout-ac 0 powercfg.exe /X "Home/Office Desk" /hibernate-timeout-dc 0 powercfg.exe /X "Home/Office Desk" /processor-throttle-ac ADAPTIVE powercfg.exe /X "Home/Office Desk" /processor-throttle-dc NONE

Versie : 1.2 Type :

Datum : 16 oktober 2009 Project : Powermanagement

Page 5: Technische beschrijving PCPM

UNIVERSITEIT VAN AMSTERDAM

Informatiseringscentrum

Bestandsnaam :

Technische beschrijving PCPM.doc

Auteur : Mike de Ruijter 5/6

Versie : 1.2 Type :

Datum : 16 oktober 2009 Project : Powermanagement

2.2 Bios.

De volgende zaken moeten ingesteld zijn in de Bios. Performance > Speedstep =. On (niet beschikbaar op GX620) Powermanagement > Suspend Mode = S3*1 (fabrieks instelling)

3 Beheer PC Powermanagement heeft invloed op de beheers omgeving. Pc’s die (te snel) weer in stand-by gaan kunnen conflicteren met het beheersactiviteiten. Om dit te voorkomen worden diverse maatregelen genomen bij de UvA. Al zal dit per geval en organisatie verschillen. Dit thema wordt behandeld in het document “PreventStandby”.

1 * S3: algemeen bekent als stand-by of slaapstand. RAM-geheugen is nog steeds actief.

Page 6: Technische beschrijving PCPM

UNIVERSITEIT VAN AMSTERDAM

Informatiseringscentrum

Bestandsnaam :

Technische beschrijving PCPM.doc

Auteur : Mike de Ruijter 6/6

Bijlage:

Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE info for registry writes Dim objReg 'Registry Object Dim objWMIService 'WMI Service Object Dim arrayNetCards 'Array of all connected NICs Dim objNetCard 'A specific NIC Dim strPnPCapabilitesKeyName 'Key Specific to the Network Adapters in CurrentControlSet Dim strPnPCapabilitesKeyName001 'Key Specific to the Network Adapters in CurrentControlSet001 Dim strComputer 'Name of computer to modify strComputer = "." 'Period = local computer strPnPCapabilitiesKeyName = "SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\" strPnPCapabilitiesKeyName001 = "SYSTEM\CurrentControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\" PnPdwValue = 288 '56 to disable "Allow the computer to turn off this device to save power." '48 to enable "Allow the computer to turn off this device to save power." '32 to enable "Allow the computer to turn off this device to save power." ' and enable "Allow this device to bring the computer out of standby." '288 to enable "Allow the computer to turn off this device to save power." ' and enable "Allow this device to bring the computer out of standby." ' and enable "Only allow management stations to bring the computer out of standby." On Error Resume Next Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv") Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 'Look for the NICs that have IP enabled Set arrayNetCards = objWMIService.ExecQuery ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True") 'Make changes on the NICs that have IP enabled For Each objNetCard In arrayNetCards strDeviceID = Mid(objNetCard.Caption,6,4) 'Get the DeviceID of the NIC 'Change the Power Management Values objReg.SetDWORDValue HKLM, strPnPCapabilitiesKeyName & strDeviceID & "\","PnPCapabilities",PnPdwValue objReg.SetDWORDValue HKLM, strPnPCapabilitiesKeyName001 & strDeviceID & "\","PnPCapabilities",PnPdwValue Next Set objReg = Nothing Set objWMIService = Nothing

Versie : 1.2 Type :

Datum : 16 oktober 2009 Project : Powermanagement