Jump to content
Sign in to follow this  
zahni

Einstellung für den Netzschalter in den Energieoptionen autom. verteilen

Recommended Posts

Tach auch,

 

ich müsste auf allen PC's die Einstellung für die "Netzschaltervorgänge" automatisiert verteilen. Es soll "Zu Vorgangsauswahl auffordern" eingestellt werden. Leider stehen die Einstellungen in der Registry wohl alle nur in irgendwelchen Binärwerten.

 

Mit Powercfg kommen ich auch nicht weiter. Irgenwie kann man damit diese Option nicht verändern. Der Export/Import des Schemas bringt nichts.

 

Hintergrund ist: Wir verwenden bei unseren FSC-PC's Tastaturen mit integriertem Netzschalter. Bisher konnte man im BIOS diesen Schalter entsprechend konfigurieren. Leider hat FSC bei aktuellen Boards irgendeinen Transistor weggelassen. Nun geht es so nicht mehr. Unsere Mitarbeiter drücken während der Arbeit leider versehentlich auf die Taste... Zum Einschalten des PC's ist der Knopf aber umheimlich praktisch.

 

Vielleicht kennt ja jemand irgendein VBS-Script o.ä.

 

-Zahni

Share this post


Link to post
Share on other sites

Wen es interessiert, ich habe es gefunden (Script mit Kixtart):

 

$reg_source = readvalue("HKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicy","Policies")

IF substr($reg_source, 25, 2) <> "08"
	$reg_target = substr($reg_source, 1, 24) + "08" + substr($reg_source, 27, len($reg_source))
	$reg_target = substr($reg_target, 1, 48) + "08" + substr($reg_target, 51, len($reg_target))
	WriteValue ("HKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicy", "Policies", $reg_target, "REG_BINARY")

ENDIF

 

Warum einfach, wenn es auch kompliziert geht...

 

Eintrag funktioniert erst bei der nächsten Anmeldung des Users.

 

 

-Zahni

Share this post


Link to post
Share on other sites

Ergänzung: Der User braucht zusätzlich Schreibrechte (Wert setzen, usw.) auf

 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg

 

Und

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power

 

 

-Zahni

Share this post


Link to post
Share on other sites

Hi,

 

ich habe ein ähnliches Problem. Ich muss als Zustand beim Drücken des Netzschalters den Ruhezustand aktivieren. Als Test hab ich es mit deinem Script versucht - leider ohne Erfolg. Es werden zwar die Änderungen in der Registry vorgenommen, aber in den Energieoptionen steht immer noch meine Voreinstellung (z.B. in den Standby-Modus).

 

Ein Tip?

Share this post


Link to post
Share on other sites

Hat der User Schreibrechte auf

 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg

 

Und

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power

 

?

 

-Zahni

Share this post


Link to post
Share on other sites

Ja. Ich habs mit meinem Account getestet. Lokaler Admin. Ich kann die Änderungen in der Registry ja auch sehen, allerdings wenn ich dann die Energieoptionen aufrufe, ist alles beim alten. Ich versteh's nicht.

Share this post


Link to post
Share on other sites

Na dann vergleiche nochmal gründlich, ob Du alle Binärwerte erwsicht hast, Du darfst auch nur das ändern, was sich bei der manuellen Änderung ändert. Die restlichen Bits dürfen nicht geändert werden.

 

 

PS. Da die Einstellung dem Explorer quasi untergeschoben wird, sieht der Explorer die Eintellung erst nach der 2. Anmeldung. Wenn Du vorher die Einstellungen für der Power-Button aufrufst, gelten wieder die alten Einstellungen. Also 2x anmelden und dazischen nichts machen (ausser die Abmeldung).

 

-zahni

Share this post


Link to post
Share on other sites

Vielen Dank. Ich hab mich bisher nur einmal abgemeldet. 2-mal abmelden und schon gehts...

Mit den Werten hab ich mich noch nicht befasst. Habe einfach dein Script übernommen. Die Werte für den Ruhezustand muss ich noch rausfinden. Vielen dank für deine Unterstützung.

Share this post


Link to post
Share on other sites

hast du evtl. auch die Einstellungen für den Ruhezustand? Ich komm mit den beiden Zeilen nicht ganz klar:

 

$reg_target = substr($reg_source, 1, 24) + "08" + substr($reg_source, 27, len($reg_source))

$reg_target = substr($reg_target, 1, 48) + "08" + substr($reg_target, 51, len($reg_target))

 

Ich versteh nicht ganz wie ich da auf die entsprechenden Werte komme.

 

EDIT:

Habs rausgefunden ;) und die entsprechenden Werte eingetragen. Funktioniert einwandfrei. Nochmals Danke....

Share this post


Link to post
Share on other sites
Hat der User Schreibrechte auf

 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg

 

Und

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power

 

?

 

-Zahni

 

Hi Zahni, hi all,

 

ich wollt mal nach einem vb-script fragen, welches für einen Benutzer Schreibrechte auf einen Registry Schlüssel setzt. Ich bin leider kein Admin, sondern ein Programmierer (höhere Programmiersprachen, leider nicht vb oder vbs...) und bin in meiner Firma z. Zt. mit der Aufgabe betraut, Setups (mit WISE Installer) für unsere SW zu erstellen. Dafür ist es - in meinem neuesten Fall - notwendig, daß während der Setup-Installation für einen Benutzer die Schreibrechte auf die Registry

HKEY_LOCAL_MACHINE\SOFTWARE\xyz

gesetzt werden. Der WISE Installer an sich bietet meinem Wissensstand nach keine Möglichkeit, so etwas direkt einzuprogrammieren, aber ich habe die Möglichkeit, im Setup einen vb skript auszuführen. Kann mir da bitte jemand weiterhelfen? Bin noch in der Probezeit, wär schön, wenn ich mich nicht komplett blamieren müßte...

 

Die weitere Schwierigkeit besteht darin, daß der Benutzer nicht immer gleich heißt. Meist ist er

IWAM_abc

wobei abc = Rechnername.

Da aber seit der Ersteinrichtung der Rechnername sich manchmal ändert, der IWAM_... aber nicht mitverändert wird, kann er eben auch anders heißen. Nur der Präfix "IWAM_" bleibt immer gleich. Kann man im vb-skript für diesen Zweck Wildcards (zB. * oder ? oder % oder sowas) verwenden?

 

Danke schon mal im Voraus!

 

Zwergkralli

Share this post


Link to post
Share on other sites

Hallo Zahni,

 

ich muss auch auf allen PC's die Einstellungen für die "Netzschaltervorgänge" automatisch verteilen.

Leider bin ich was Administration und alles was dazugehört noch ein Frischling und habe nicht auf anhieb alles verstanden was du in diesem Thread erklärt hast :S

 

Ich bräuchte noch ein bisschen hilfe...

 

Habe ich das richtig verstanden, ich muss mich beim User einloggen und das Skyript ausführen. Anschließend den Laptop 2 mal neu hoch fahren und dann geht der Laptop nicht mehr in den Standby beim zuklappen?

Falls ich mich da geirrt habe wäre es unglaublich nett wenn du mich korrigieren könntest oder mir ein skript posten könntest mit dem ich das realisieren kann.

 

 

 

 

 

 

So wie ich das verstanden habe müsste das das skript sein?

 

 

$reg_source = readvalue("HKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicy","Policies")

 

IF substr($reg_source, 25, 2) <> "08"

$reg_target = substr($reg_source, 1, 24) + "08" + substr($reg_source, 27, len($reg_source))

$reg_target = substr($reg_target, 1, 48) + "08" + substr($reg_target, 51, len($reg_target))

WriteValue ("HKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicy", "Policies", $reg_target, "REG_BINARY")

 

ENDIF

 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power

Share this post


Link to post
Share on other sites
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...