[Win2k/Server] Register waarden wijzigen tijdens opstarten

Pagina: 1
Acties:

  • Shadow-Dancer
  • Registratie: November 2001
  • Niet online
Ik heb hier een Win2k Server en een aantal Win2k professional clients.
Er zijn een aantal register waarden die ik wil wijzigen bij enkele gebruikers (ivm internet toegang blokkeren, proxy=0.0.0.0 internetopties uit etc.)

Nu heb ik een .reg bestand gemaakt die gelijk de goede waardes veranderd. Deze heb ik geprobeerd te runnen door middel van "regedit /s login.reg" toe te voegen in de login script (batch file).

Wanneer deze gegevens ingevoegd worden, wordt er een melding gegeven dat de gebruiker geen toegang heeft tot het register en dus worden de waardes niet ingevoegd. Dit is natuurlijk zo omdat normale gebruikers geen toegang hebben tot het register bestand. Hoe kan ik dit omzeilen en toch de register waarden veranderen tijdens de login van een normale gebruiker?

  • Eric
  • Registratie: December 2000
  • Laatst online: 25-08 08:23
Gebruik maken van een loopje en de REG-opdracht (op de server dus)

Bijv: als de profiles van alle users in een profile-directory staan gebruik maken (dus bijv. x:/profiles/%username%) van de volgende opdracht

for /d %i in (*) do call importregfile.bat %i

en dan in importregfile.bat
reg load hku\temp %1/ntuser.dat
reg import regfile.reg
reg unload hku\temp

met dan in regfile.reg veranderd dat de keys die veranderd moeten worden verwijzen naar hku\temp ipv hku

Ik zou zeggen, lees het eens na...

  • Shadow-Dancer
  • Registratie: November 2001
  • Niet online
Nu heb je het waarschijnlijk heel goed uitgelegd, maar ik ben helaas nogal noob dus ik begrijp het nog niet echt..
Ik begrijp dat je nu een batch bestand heb beschreven maar ik begrijp niet zo goed wat je allemaal gebruikt. laten wij het simpel houden en zorgen dat dit uitgevoerd moet worden voor elke gebruiker, ipv van enkele.
je zegt dat ik het kan nalezen? waar?

  • Eric
  • Registratie: December 2000
  • Laatst online: 25-08 08:23
- Open regedit en maak een .reg bestand aan met daarin de dingen die je veranderd wilt hebben
- verander daarin HKEY_CURRENT_USER (of wat er ook staat) in HKEY_USERS\temp

Met reg kan je een ntuser.dat (= een hive) tijdelijk toevoegen aan de registry (vergelijk met 'Load hive' van regedt32). Zodra je deze hebt ingevoerd kan je er dus lokale veranderingen in aanbrengen, en dus ook aan de hand van een .reg bestand. Nadat je dit hebt gedaan moet je de koppeling met het externe ntuser.dat bestand natuurlijk weer verbreken. Je maakt dus een .bat bestand aan waaraan je een variabele (in dit geval de directory waar ntuser.dat in staat) aan meegeeft. Deze variabele kan binnen het .bat bestand uitgelezen worden door het gebruik van %1. Oftewel:

- Maak een .bat bestand met daarin

reg load hku\temp %1/ntuser.dat
(om %1/ntuser.dat aan de registry toe te voegen onder de naam HKEY_USERS\temp, waarbij %1 de waarde krijgt van de eerste variabele die wordt meegegeven aan het .bat bestand)

reg import regfile.reg
(om het .reg bestand uit te voeren)

reg unload hku\temp
(om ntuser.dat weer los te koppelen van de registry)


Goed, nu dus nog een manier om niet voor alle gebruikers te moeten intypen

importregfile p:\profiles\gebruiker1
importregfile p:\profiles\gebruiker2
importregfile p:\profiles\gebruiker3
...

kan je dus van een loop gebruik maken. In dit voorbeeld weet je dat je alle directories in p:\profiles moet hebben, dus ga je (in dos-mode) naar p:\profiles en dan type je in:

for /d %i in (*) do call importregfile %i

oftewel:
- for: maak een forloop die
- /d: alleen op directories let,
- %i: als variabele %i heeft,
- in (*): voor zijn gegevens in de locale directory kijkt,
- do: de volgende opdracht uitvoert...

- call: nodig om na afloop van een .bat bestand weer terug te keren naar de loop
- importregfile: het bestand wat aangeroepen wordt
- %i: de variabele die aan het .bat bestand meegegeven wordt

Goed, veel succes ermee
En met nalezen bedoelde ik: type eens (in dos-mode) GET /? of FOR /? in...

  • Shadow-Dancer
  • Registratie: November 2001
  • Niet online
Ik zal het allemaal eens goed nalezen en proberen, bedankt voor de gedetailleerde uitleg.

[ Voor 3% gewijzigd door Shadow-Dancer op 31-01-2003 08:53 ]


  • Shadow-Dancer
  • Registratie: November 2001
  • Niet online
Ik heb ondertussen het een en ander geprobeerd
maar ik kom al vast te zitten bij
reg load HKU\temp C:\Document and Settings\user\ntuser.dat
(maak nog even geen gebruik van variabelen)
ik krijg dan een foutmelding:
Error: Load/Unload only work with a singel level key user such a HKLM\TEMP

Verwijderd

Voor het maken van scripts kun je je ook eens verdiepen in wscript / wmi, je zult zien dat het best makkelijk te leren is! Een must voor sysops

  • Eric
  • Registratie: December 2000
  • Laatst online: 25-08 08:23
Shadow-Dancer schreef op 31 januari 2003 @ 13:49:
Ik heb ondertussen het een en ander geprobeerd
maar ik kom al vast te zitten bij
reg load HKU\temp C:\Document and Settings\user\ntuser.dat
(maak nog even geen gebruik van variabelen)
Denk onder andere ook aan de aanhalingstekens, als je variabelen met spaties gaat gebruiken (zoals documents and settings)
ik krijg dan een foutmelding:
Error: Load/Unload only work with a singel level key user such a HKLM\TEMP
Hmm, vaag, bij mij op win2k server kan ik wel met HKU\TEMP werken...
Je zou het ook kunnen proberen om weg te schrijven naar HKLM, het gaat per slot van rekening toch om een temp-key. Zorg dan dat je alles (ook je .reg bestand) aanpast

Verder zou ik niet weten wat er mis zou zijn... :?
Pagina: 1