drobskind
Goto Top

Letztes Hardwareprofil erneut laden BRAUCHE JETZT BATCH EXPERTEN

BATCH > REGISTRY

hallo, ich habe ein kleineres problem (denk ich jedenfalls)

ich habe hier einen windows server 2003 rechner... auf diesen werden in nächster zeit mehrere hardwareprofile installiert, da ich je nach hardwareprofil mit anderen festplatten booten möchte.

da auf den server meist nur remote zugegriffen wird muss der rechner bei einem neustart das richtige profil automatisch hochfahren, da ich zu diesem zeitpunkt ja noch keinen remotezugriff habe.

bsp:
profil1
profil2
profil3
profil4

ich boote profil3 ... mache dann einen neustart und hätte gern, das nach dem neustart das profil 3 nach etwa 30 sekunden wieder geladen wird...

der hardwareprofilmanager bietet ja leider nur die möglichkeit das 1ste profil nach einer gewissen zeit zu laden...
nun hätte ich aber gern das letzte aktive wieder geladen..

ich denke ich hab mich verständlich genug ausgedrückt face-wink

gibs da ne möglichkeit?! vielleicht auch per batch die profile zu "verschieben" oder so ähnlich..

danke
drobskind

EDIT:
also, ich habe soweit herrausgefunden wo in der registry die eintragungen zu den hardwareprofilen stehen, nur leider, wenn ich dort die bootreinfolge änder listet er mir NUR die namen der HWprofile andersherrum auf. das eigendliche profil bleibt aber an der selben stelle.
dh habe dann zwar profil3 an position 1 boote aber trotzdem profil 1 :-O

<HKLM - System - CurrentControlSet - Control - IDConfigDB - Hardware Profiles>

vielleicht hilft euch das ja weiter
EDITENDE:

Content-Key: 51434

Url: https://administrator.de/contentid/51434

Printed on: April 19, 2024 at 21:04 o'clock

Member: drobskind
drobskind Feb 13, 2007 at 09:47:41 (UTC)
Goto Top
also, ich habe einen neune Kenntnisstand...
jetzt benötige ich hilfe, von einem Batchprofi face-wink

so.. nach stundenlanger recherche in den Tiefen der Windows Registry habe ich nun einige wertvolle informationen gefunden.

nun aber erstmal zu den problem an sich:

- ich habe einen server mit zur zeit 2 hardwareprofilen.
- es ist ein notfall ersatzserver der je nach hardwareprofil andere zwecke erfüllt.
- größtenteils wird auf ihn via remote desktop zugegriffen.
- eventuell verlangt der rechner ja auch mal nach einem neustart.
- da der rechner nach dem neustart aber nicht mit dem 1ten sondern mit dem aktuellen profil starten soll brauche ich hilfe.

der rechner ist ein ersatzsystem für mehrere andere systeme, wird aber natürlich nur für das ausgefallene system eingesetzt. und darf somit auch nur mit dessen funktionen starten!

ich brauche jetzt eine batch datei die mir einige zugriffe auf die registry erledigt.

1. Zugriff auf <HKLM\System\ControlSet001\Control\IDConfigDB\>

2. auslesen des Wertes von "Current Config" dieser kann folgende werte annehmen 1,2,3,4 usw. --------------((Angenommenes Beispiel:2))

3. Nun muss anhand der nummer in den RegSchlüssel gewechseslt werden:
<HKLM\System\ControlSet001\Control\IDConfigDB\Hardware Profiles\0002>

4. Dort muss der Dword Wert von "Preference Order" auf 0 gesetzt werden.
Somit ist das profil an platz 1 und wird somit automatisch gestartet.

5. Das Profil, welches bis dahin platz 1 war, (Angenommen 1 [0001]) muss dann auf den platz von profil 2 wechseln.

!!! die Preference Order muss 0,1,2,3,4,5.... sein.. es dürfen keine zahlen frei bleiben.

falls noch mehr erläuterungen gebraucht werden kurz anfragen,
hätte auch die .reg datein für die werte da, falls ihr sie benötigt, hänge sie unten an:

danke schonmal für eure zeit face-smile
mfg
drobsind

REG CURRENT CONFIG:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\IDConfigDB]
"CurrentConfig"=dword:00000002

REG PROFIL 1:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\IDConfigDB\Hardware Profiles\0001]
"PreferenceOrder"=dword:00000000

REG PROFIL 2:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\IDConfigDB\Hardware Profiles\0002]
"PreferenceOrder"=dword:00000001

Member: drobskind
drobskind Feb 14, 2007 at 10:04:20 (UTC)
Goto Top
HIER KÖNNT IHR MAL DIE BATCH SEHEN!

::---Version 1.0--------------------------------
::----------------------------------------------
::----------------------------------------------
::---- Diese Batch erkennt das aktuelle --------
::---- Hardwareprofil und setzt es in der ------
::---- Auswahlliste beim Booten an die ---------
::---- erste Position, damit es bei einem ------
::---- eventuellem Neustart über Remote- -------
::---- Desktop automatisch geladen wird. -------
::----------------------------------------------
::----------------------------------------------
::---- Geschrieben für Win 2K3 Server ----------
::----------------------------------------------

@echo off
set i=1
::----------------------------------------------
::----------------------------------------------
:: ---- Aktuelles Hardware Profil auslesen -----
::----------------------------------------------
::----------------------------------------------

set current="reg query "hklm\system\controlset001\control\idconfigdb" /v CurrentConfig | find "CurrentConfig""
FOR /F "tokens=1* delims=0x" %%A IN ('%current%') DO SET current=%%B

::----------------------------------------------
::----------------------------------------------
:: ---- Default Hardware Profil auslesen -------
::----------------------------------------------
::----------------------------------------------

:start

reg query "HKLM\System\ControlSet001\Control\IDConfigDB\Hardware Profiles\000%i%" /v PreferenceOrder | find "PreferenceOrder" >nul
if not errorlevel 1 goto check
goto weiter

:check

FOR /F "tokens=1* delims=x" %%A IN ('"reg query "hklm\system\controlset001\control\idconfigdb\hardware profiles\000%i%" /v PreferenceOrder | find "PreferenceOrder""') DO SET startup=%%B
if '%startup%'=='0' set Default=%i%
if '%i%'=='%current%' set aktuell=%startup%
rem echo %Startup%
set /a i=%i%+1

::----------------------------------------------
::----------------------------------------------
:: --- Ausgabe der Daten -----------------------
::----------------------------------------------
::----------------------------------------------

:weiter
cls

::----------------------------------------------
::----------------------------------------------
:: --- Anpassen der HW Bootreihenfolge----------
::----------------------------------------------
::----------------------------------------------

if "%current%"=="%default%" goto ende
ECHO :::NUN WERDEN DIE HARDWAREPROFILE ANGEPASST:::

reg add "HKLM\System\ControlSet001\Control\IDConfigDB\Hardware Profiles\000%current%" /v PreferenceOrder /t REG_DWORD /d "0" /f

reg add "HKLM\System\ControlSet001\Control\IDConfigDB\Hardware Profiles\000%default%" /v PreferenceOrder /t REG_DWORD /d "%aktuell%" /f

:ende
ECHO PROGRAMM AUSGEFÜHRT