Registrul Windows - Windows Registry

Registrul Windows
Registry Editor icon.png
Regstry Editor.png
Registry Editor, interfața cu utilizatorul pentru registry, în Windows 10
Dezvoltatori Microsoft
Eliberarea inițială 6 aprilie 1992 ; Acum 29 de ani cu Windows 3.1 ( 06-04 1992 )
Sistem de operare Microsoft Windows
Platformă IA-32 , x86-64 și ARM (și istoric DEC Alpha , Itanium , MIPS și PowerPC )
Inclus cu Microsoft Windows
Tip Baza de date ierarhică
Site-ul web docs .microsoft .com / en-us / windows / desktop / SysInfo / registry Editați acest lucru pe Wikidata

Windows Registry este o bază de date ierarhică care stochează nivel redus de setări pentru Microsoft Windows sistemul de operare și pentru aplicațiile care optează pentru registru. Kernel , drivere de dispozitiv , servicii , securitate Accounts Manager , și interfețele de utilizator pot utiliza toate registru. Registrul permite, de asemenea, accesul la contoare pentru profilarea performanței sistemului.

Cu alte cuvinte, registrul sau registrul Windows conține informații, setări, opțiuni și alte valori pentru programe și hardware instalate pe toate versiunile sistemelor de operare Microsoft Windows. De exemplu, când este instalat un program, o nouă subcheie care conține setări, cum ar fi locația unui program, versiunea acestuia și modul de pornire a programului, sunt toate adăugate în registrul Windows.

Când este introdus cu Windows 3.1 , registrul Windows stochează în principal informații de configurare pentru componentele bazate pe COM . Windows 95 și Windows NT și-au extins utilizarea pentru a raționaliza și centraliza informațiile din abundența fișierelor INI , care dețineau configurațiile pentru programe individuale și erau stocate în diferite locații. Nu este o cerință pentru aplicațiile Windows să utilizeze registrul Windows. De exemplu, aplicațiile .NET Framework utilizează fișiere XML pentru configurare, în timp ce aplicațiile portabile își păstrează de obicei fișierele de configurare cu executabilele lor .

Justificare

Înainte de registrul Windows,. Fișierele INI au stocat setările fiecărui program ca fișier text sau fișier binar , adesea localizat într-o locație partajată care nu a furnizat setări specifice utilizatorului într-un scenariu multi-utilizator. În schimb, Registrul Windows stochează toate setările aplicației într-un singur depozit logic (dar într-un număr de fișiere discrete) și într-o formă standardizată. Potrivit Microsoft , acest lucru oferă mai multe avantaje față de fișierele .INI. Deoarece analiza fișierelor se face mult mai eficient cu un format binar, acesta poate fi citit sau scris în mai rapid decât un fișier INI text. Mai mult, datele puternic tastate pot fi stocate în registru, spre deosebire de informațiile text stocate în fișierele .INI. Acesta este un avantaj atunci când editați manual cheile folosind regedit.exeEditorul de registry Windows încorporat. Deoarece setările de registry bazate pe utilizatori sunt încărcate dintr-o cale specifică utilizatorului, mai degrabă decât dintr-o locație de sistem numai în citire, registrul permite mai multor utilizatori să partajeze aceeași mașină și, de asemenea, permite programelor să funcționeze pentru utilizatori mai puțin privilegiați. Backupul și restaurarea sunt, de asemenea, simplificate, deoarece registrul poate fi accesat printr-o conexiune de rețea pentru gestionare / asistență de la distanță, inclusiv din scripturi, utilizând setul standard de API-uri , atâta timp cât serviciul Registry Remote este în funcțiune și regulile firewall permit acest lucru.

Deoarece registrul este o bază de date, acesta oferă integritate îmbunătățită a sistemului cu caracteristici precum actualizări atomice . Dacă două procese încearcă să actualizeze aceeași valoare de registru în același timp, schimbarea unui proces va preceda celuilalt și coerența generală a datelor va fi menținută. În cazul în care se fac modificări la fișierele .INI, astfel de condiții de cursă pot avea ca rezultat date incoerente care nu corespund nici unei încercări de actualizare. Windows Vista și sistemele de operare ulterioare oferă actualizări tranzacționale ale registrului prin intermediul Kernel Transaction Manager , extinzând garanțiile de atomicitate pe mai multe modificări de cheie și / sau valoare, cu semantică tradițională de comitere-avort. (Rețineți totuși că NTFS oferă un asemenea suport și pentru sistemul de fișiere, deci aceleași garanții ar putea fi obținute, teoretic, cu fișierele de configurare tradiționale.)

Structura

Chei și valori

Registrul conține două elemente de bază: chei și valori . Cheile de registry sunt obiecte container similare cu folderele. Valorile registrului sunt obiecte non-container similare fișierelor. Cheile pot conține valori și subchei. Cheile sunt menționate cu o sintaxă similară cu numele căilor Windows, folosind backslash pentru a indica niveluri de ierarhie. Cheile trebuie să aibă un nume care să nu distingă majusculele și minusculele, fără linii inversă.

Ierarhia cheilor de registry poate fi accesată doar dintr-un handle cunoscut de cheie rădăcină (care este anonim, dar a cărui valoare efectivă este un handle numeric constant), care este mapat la conținutul unei chei de registry preîncărcate de kernel dintr-un „stup” stocat, sau la conținutul unei subchei dintr-o altă cheie rădăcină sau mapate la un serviciu înregistrat sau DLL care oferă acces la subcheile și valorile conținute.

De exemplu, HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows se referă la subcheia "Windows" a subcheii "Microsoft" a subcheii "Software" a cheii rădăcină HKEY_LOCAL_MACHINE.

Există șapte chei rădăcină predefinite, denumite în mod tradițional în funcție de mânerele lor constante definite în API-ul Win32 sau prin abrevieri sinonime (în funcție de aplicații):

  • HKEY_LOCAL_MACHINE sau HKLM
  • HKEY_CURRENT_CONFIG sau HKCC
  • HKEY_CLASSES_ROOT sau HKCR
  • HKEY_CURRENT_USER sau HKCU
  • HKEY_USERS sau HKU
  • HKEY_PERFORMANCE_DATA (numai în Windows NT, dar invizibil în Windows Registry Editor)
  • HKEY_DYN_DATA (numai în Windows 9x și vizibil în Editorul de registry Windows)

La fel ca alte fișiere și servicii din Windows, toate cheile de registry pot fi restricționate de listele de control al accesului (ACL), în funcție de privilegiile utilizatorului sau de jetoanele de securitate dobândite de aplicații sau de politicile de securitate ale sistemului aplicate de sistem (aceste restricții pot fi predefinite) de către sistemul însuși și configurat de administratorii de sistem locali sau de administratorii de domeniu). Utilizatori diferiți, programe, servicii sau sisteme la distanță pot vedea numai anumite părți ale ierarhiei sau ierarhii distincte din aceleași chei rădăcină.

Valorile registrului sunt perechi de nume / date stocate în chei. Valorile de registry sunt menționate separat de cheile de registry. Fiecare valoare de registru stocată într-o cheie de registru are un nume unic a cărui literă nu este semnificativă. Funcțiile Windows API care interogă și manipulează valorile de registry iau nume de valori separat de calea cheii și / sau de mâner care identifică cheia părinte. Valorile de registry pot conține backslash în numele lor, dar acest lucru le face dificil să se distingă de căile lor cheie atunci când se utilizează unele funcții Windows Registry API vechi (a căror utilizare este depreciată în Win32).

Terminologia este oarecum înșelătoare, deoarece fiecare cheie de registru este similară cu o matrice asociativă , unde terminologia standard ar face referire la partea de nume a fiecărei valori de registru ca „cheie”. Termenii sunt o reținere din registrul de 16 biți din Windows 3, în care cheile de registry nu pot conține perechi de nume / date arbitrare, ci mai degrabă conțineau o singură valoare fără nume (care trebuia să fie un șir). În acest sens, registrul Windows 3 era ca o singură matrice asociativă, în care cheile (în sensul atât „cheie de registry”, cât și „cheie de matrice asociativă”) formau o ierarhie, iar valorile de registry erau toate șiruri. Când a fost creat registrul pe 32 de biți, a fost și capacitatea suplimentară de a crea mai multe valori numite pe cheie, iar semnificațiile numelor au fost oarecum distorsionate. Pentru compatibilitate cu comportamentul anterior, fiecare cheie de registry poate avea o valoare „implicită”, al cărei nume este șirul gol.

Fiecare valoare poate stoca date arbitrare cu lungime și codificare variabile, dar care este asociată cu un tip simbolic (definit ca o constantă numerică) care definește modul de analiză a acestor date. Tipurile standard sunt:

Lista tipurilor standard de valori ale registrului
Tip ID Numele tipului simbolic Semnificația și codificarea datelor stocate în valoarea registrului
0 REG_NONE Fără tip (valoarea stocată, dacă există)
1 REG_SZ O valoare șir , în mod normal stocată și expusă în UTF-16 LE (când se utilizează versiunea Unicode a funcțiilor API Win32), terminată de obicei cu un caracter NUL
2 REG_EXPAND_SZ O valoare șir „extensibilă” care poate conține variabile de mediu , stocate în mod normal și expuse în UTF-16LE, terminată de obicei cu un caracter NUL
3 REG_BINARY Date binare (orice date arbitrare)
4 REG_DWORD / REG_DWORD_LITTLE_ENDIAN O valoare DWORD , un număr întreg nesemnat pe 32 de biți (numere între 0 și 4.294.967.295 [2 32 - 1]) (puțin endian )
5 REG_DWORD_BIG_ENDIAN O valoare DWORD , un întreg nesemnat pe 32 de biți (numere între 0 și 4.294.967.295 [2 32 - 1]) (big- endian )
6 REG_LINK O legătură simbolică (UNICODE) către o altă cheie de registry, specificând o cheie rădăcină și calea către cheia țintă
7 REG_MULTI_SZ O valoare cu mai multe șiruri, care este o listă ordonată de șiruri ne-goale , stocate în mod normal și expuse în Unicode, fiecare fiind terminată de un caracter nul, lista fiind terminată în mod normal de un al doilea caracter nul.
8 REG_RESOURCE_LIST O listă de resurse (utilizată de enumerarea și configurarea hardware Plug-n-Play )
9 REG_FULL_RESOURCE_DESCRIPTOR Un descriptor de resurse (utilizat de enumerarea și configurarea hardware Plug-n-Play )
10 REG_RESOURCE_REQUIREMENTS_LIST O listă de cerințe de resurse (utilizată de enumerarea și configurarea hardware Plug-n-Play )
11 REG_QWORD / REG_QWORD_LITTLE_ENDIAN O valoare QWORD , un număr întreg pe 64 de biți (fie mare sau puțin endian sau nespecificat) (introdus în Windows 2000 )

Tastele rădăcină

Cheile de la nivelul rădăcinii bazei de date ierarhice sunt denumite în general după definițiile lor Windows API , care încep toate „HKEY”. Acestea sunt prescurtate frecvent la un nume scurt de trei sau patru litere începând cu „HK” (de exemplu, HKCU și HKLM). Din punct de vedere tehnic, acestea sunt mânere predefinite (cu valori constante cunoscute) către chei specifice care sunt fie păstrate în memorie, fie stocate în fișiere stup stocate în sistemul de fișiere local și încărcate de kernel-ul de sistem la momentul pornirii și apoi partajate (cu diferite drepturi de acces) între toate procesele care rulează pe sistemul local sau încărcate și mapate în toate procesele începute într-o sesiune de utilizator atunci când utilizatorul se conectează la sistem.

Nodurile HKEY_LOCAL_MACHINE (date de configurare locale specifice mașinii) și HKEY_CURRENT_USER (date de configurare specifice utilizatorului) au o structură similară; aplicațiile utilizatorului își caută de obicei setările verificându-le mai întâi în „HKEY_CURRENT_USER \ Software \ Nume furnizor \ Numele aplicației \ Versiune \ Setare nume” și, dacă setarea nu este găsită, căutați în aceeași locație sub tasta HKEY_LOCAL_MACHINE. Cu toate acestea, conversația se poate aplica pentru setările de politici impuse de administrator, unde HKLM poate avea prioritate față de HKCU. Programul cu sigla Windows are cerințe specifice pentru locul în care pot fi stocate diferite tipuri de date de utilizator și să se respecte conceptul de privilegiu minim, astfel încât accesul la nivel de administrator să nu fie necesar pentru a utiliza o aplicație.

HKEY_LOCAL_MACHINE (HKLM)

HKLM abreviat, HKEY_LOCAL_MACHINE stochează setările care sunt specifice computerului local.

Cheia localizată de HKLM nu este de fapt stocată pe disc, ci menținută în memorie de către nucleul de sistem pentru a mapa toate celelalte subchei. Aplicațiile nu pot crea nicio subcheie suplimentară. În Windows NT, această cheie conține patru subchei, „SAM”, „SECURITATE”, „SISTEM” și „SOFTWARE”, care sunt încărcate la momentul de încărcare în fișierele respective aflate în folderul% SystemRoot% \ System32 \ config. O a cincea subcheie, „HARDWARE”, este volatilă și este creată dinamic și, ca atare, nu este stocată într-un fișier (expune o vizualizare a tuturor dispozitivelor Plug-and-Play detectate în prezent). În Windows Vista și versiunile ulterioare, o șasea și a șaptea subcheie, „COMPONENTE” și „BCD”, sunt mapate în memorie de către kernel la cerere și încărcate din% SystemRoot% \ system32 \ config \ COMPONENTS sau din datele de configurare de boot, \ boot \ BCD pe partiția de sistem.

  • Cheia „HKLM \ SAM” apare de obicei ca goală pentru majoritatea utilizatorilor (cu excepția cazului în care li se acordă acces de către administratorii sistemului local sau administratorii domeniilor care gestionează sistemul local). Se utilizează pentru a face referire la toate bazele de date „ Security Accounts Manager ” (SAM) pentru toate domeniile în care sistemul local a fost autorizat sau configurat administrativ (inclusiv domeniul local al sistemului care rulează, a cărui bază de date SAM este stocată într-o subcheie numită și „ SAM ": alte subchei vor fi create după cum este necesar, câte una pentru fiecare domeniu suplimentar). Fiecare bază de date SAM conține toate conturile încorporate (în general aliasuri de grup) și conturile configurate (utilizatori, grupuri și aliasurile acestora, inclusiv conturi de oaspeți și conturi de administrator) create și configurate pe domeniul respectiv, pentru fiecare cont din acel domeniu, conține în special utilizatorul numele care poate fi folosit pentru conectarea la acel domeniu, identificatorul intern unic de utilizator din domeniu, un hash criptografic al parolei fiecărui utilizator pentru fiecare protocol de autentificare activat , locația de stocare a stupului de registru al utilizatorilor, diferite steaguri de stare (de exemplu, dacă contul poate fi enumerat și poate fi vizibil în ecranul de prompt de conectare) și lista domeniilor (inclusiv domeniul local) în care a fost configurat contul.
  • Cheia „HKLM \ SECURITY” apare de obicei goală pentru majoritatea utilizatorilor (cu excepția cazului în care li se acordă acces de către utilizatori cu privilegii administrative) și este legată de baza de date de securitate a domeniului în care este conectat utilizatorul curent (dacă utilizatorul este conectat) domeniul de sistem local, această cheie va fi legată de stupul de registry stocat de mașina locală și gestionat de administratorii de sistem locali sau de contul încorporat „Sistem” și de instalatorii Windows). Nucleul îl va accesa pentru a citi și a aplica politica de securitate aplicabilă utilizatorului curent și tuturor aplicațiilor sau operațiunilor executate de acest utilizator. De asemenea, conține o subcheie „SAM” care este legată dinamic de baza de date SAM a domeniului pe care este conectat utilizatorul curent.
  • Cheia „HKLM \ SYSTEM” este în mod normal scrisă numai de utilizatorii cu privilegii administrative pe sistemul local. Conține informații despre configurarea sistemului Windows, date pentru generatorul securizat de numere aleatorii (RNG), lista dispozitivelor montate în prezent care conțin un sistem de fișiere, mai multe "HKLM \ SYSTEM \ Control Sets" numerotate care conțin configurații alternative pentru driverele și serviciile hardware ale sistemului pe sistemul local (inclusiv cel utilizat în prezent și o copie de rezervă), o subcheie „HKLM \ SYSTEM \ Select” care conține starea acestor seturi de control și o „HKLM \ SYSTEM \ CurrentControlSet” care este legată dinamic la momentul pornirii la Set de control care este utilizat în prezent pe sistemul local. Fiecare set de control configurat conține:
    • o subcheie „Enum” care enumeră toate dispozitivele Plug-and-Play cunoscute și le asociază cu driverele de sistem instalate (și stochează configurațiile specifice dispozitivului acestor drivere),
    • o subcheie „Servicii” care enumeră toate driverele de sistem instalate (cu configurație nespecifică dispozitivului și enumerarea dispozitivelor pentru care sunt instanțiate) și toate programele care rulează ca servicii (cum și când pot fi pornite automat),
    • o subcheie „Control” care organizează diferitele drivere și programe hardware care rulează ca servicii și toate celelalte configurații la nivel de sistem,
    • o subcheie „Profiluri hardware” care enumeră diferitele profiluri care au fost reglate (fiecare cu setările „Sistem” sau „Software” utilizate pentru a modifica profilul implicit, fie în driverele și serviciile de sistem, fie în aplicații), precum și „Hardware Profile \ Current "subcheia care este legată dinamic de unul dintre aceste profiluri.
  • Subcheia „HKLM \ SOFTWARE” conține software și setări Windows (în profilul hardware implicit). Este modificat în mare parte de către instalatorii de aplicații și sisteme. Este organizat de către furnizorul de software (cu o subcheie pentru fiecare), dar conține și o subcheie „Windows” pentru unele setări ale interfeței cu utilizatorul Windows, o subcheie „clase” care conține toate asociațiile înregistrate de la extensii de fișiere, tipuri MIME, ID-uri de clase de obiecte și interfețe ID-uri (pentru OLE, COM / DCOM și ActiveX), la aplicațiile instalate sau DLL-uri care pot gestiona aceste tipuri pe mașina locală (cu toate acestea aceste asocieri sunt configurabile pentru fiecare utilizator, a se vedea mai jos) și o subcheie „Politici” (organizat și de furnizor) pentru aplicarea politicilor generale de utilizare a aplicațiilor și serviciilor de sistem (inclusiv magazinul central de certificate utilizat pentru autentificarea, autorizarea sau interzicerea sistemelor sau serviciilor la distanță care rulează în afara domeniului rețelei locale).
  • Cheia „HKLM \ SOFTWARE \ Wow6432Node” este utilizată de aplicațiile pe 32 de biți pe un sistem de operare Windows pe 64 de biți și este echivalentă, dar separată de „HKLM \ SOFTWARE”. Calea cheii este prezentată în mod transparent aplicațiilor pe 32 de biți de WoW64 ca HKLM \ SOFTWARE (într-un mod similar în care aplicațiile pe 32 de biți văd% SystemRoot% \ Syswow64 ca% SystemRoot% \ System32)

HKEY_CLASSES_ROOT (HKCR)

HKCR abreviat, HKEY_CLASSES_ROOT conține informații despre aplicațiile înregistrate, cum ar fi asociațiile de fișiere și ID-urile de clasă de obiecte OLE , legându-le la aplicațiile utilizate pentru a gestiona aceste elemente. În Windows 2000 și versiuni ulterioare, HKCR este o compilație de HKCU \ Software \ Classes bazate pe utilizator și HKLM \ Software \ Classes bazate pe mașini. Dacă există o valoare dată în ambele subchei de mai sus, cea din HKCU \ Software \ Classes are prioritate. Proiectarea permite înregistrarea obiectelor COM fie de către mașină, fie de către utilizator .

HKEY_USERS (HKU)

HKU abreviat, HKEY_USERS conține subchei corespunzătoare cheilor HKEY_CURRENT_USER pentru fiecare profil de utilizator încărcat activ pe aparat, deși stupii de utilizatori sunt încărcați de obicei numai pentru utilizatorii conectați în prezent.

HKEY_CURRENT_USER (HKCU)

HKCU abreviat, HKEY_CURRENT_USER stochează setările care sunt specifice utilizatorului conectat în prezent. Cheia HKEY_CURRENT_USER este un link către subcheia HKEY_USERS care corespunde utilizatorului; aceleași informații sunt accesibile în ambele locații. Subcheia specifică la care se face referire este „(HKU) \ (SID) \ ...” unde (SID) corespunde SID-ului Windows ; dacă cheia "(HKCU)" are următorul sufix "(HKCU) \ Software \ Classes \ ..." atunci corespunde cu "(HKU) \ (SID) _CLASSES \ ..." adică sufixul are șirul " _CLASSES "este anexat la (SID).
În sistemele Windows NT, setările fiecărui utilizator sunt stocate în propriile fișiere numite NTUSER.DAT și USRCLASS.DAT în propriul subfolder Documente și setări (sau propriul lor subdirector Utilizatori în Windows Vista și mai sus). Setările din acest stup urmăresc utilizatorii cu un profil de roaming de la mașină la mașină.

HKEY_PERFORMANCE_DATA

Această cheie furnizează informații despre timpul de execuție în datele de performanță furnizate fie de kernel-ul NT în sine, fie de drivere de sistem, programe și servicii care furnizează date de performanță. Această cheie nu este stocată în niciun stup și nu este afișată în Editorul de registru, dar este vizibilă prin funcțiile de registry din API-ul Windows sau într-o vizualizare simplificată prin fila Performanță din Task Manager (doar pentru câteva date de performanță pe sistemul local) sau prin intermediul unor panouri de control mai avansate (cum ar fi Performances Monitor sau Performances Analyzer care permite colectarea și înregistrarea acestor date, inclusiv de la sistemele la distanță).

HKEY_DYN_DATA

Această cheie este utilizată numai pe Windows 95, Windows 98 și Windows ME . Conține informații despre dispozitive hardware, inclusiv Plug and Play și statistici privind performanța rețelei. De asemenea, informațiile din acest stup nu sunt stocate pe hard disk. Informațiile Plug and Play sunt colectate și configurate la pornire și sunt stocate în memorie.

Urticarie

Chiar dacă registrul se prezintă ca o bază de date ierarhică integrată, ramurile registrului sunt stocate într-un număr de fișiere de disc numite stupi . (Cuvântul stup constituie o glumă .)

Unele stupi sunt volatile și nu sunt deloc stocate pe disc. Un exemplu în acest sens este stupul ramurii care începe de la HKLM \ HARDWARE. Acest stup înregistrează informații despre hardware-ul sistemului și este creat de fiecare dată când sistemul pornește și efectuează detectarea hardware-ului.

Setările individuale pentru utilizatorii unui sistem sunt stocate într-un stup (fișier disc) per utilizator. În timpul conectării utilizatorului, sistemul încarcă stupul utilizatorului sub tasta HKEY_USERS și setează referința simbolică HKCU (HKEY_CURRENT_USER) pentru a indica utilizatorul curent. Aceasta permite aplicațiilor să stocheze / preia setările pentru utilizatorul curent implicit sub cheia HKCU.

Nu toți stupii sunt încărcați simultan. La momentul pornirii, sunt încărcate doar un set minim de stupi și, după aceea, stupii sunt încărcați pe măsură ce sistemul de operare se inițializează și pe măsură ce utilizatorii se conectează sau ori de câte ori un stup este încărcat în mod explicit de o aplicație.

Locațiile fișierelor

Registrul este stocat fizic în mai multe fișiere, care sunt în general ascunse din API-urile în modul utilizator utilizate pentru a manipula datele din registru. În funcție de versiunea Windows, vor exista fișiere diferite și locații diferite pentru aceste fișiere, dar toate sunt pe mașina locală. Locația pentru fișierele de registry de sistem în Windows NT este %SystemRoot%\System32\Config; stupul de registru utilizator HKEY_CURRENT_USER specific utilizatorului este stocat în Ntuser.datprofilul utilizatorului. Există una dintre acestea per utilizator; dacă un utilizator are un profil de roaming , atunci acest fișier va fi copiat pe și de pe un server la deconectare și respectiv conectare. Un al doilea fișier de registry specific utilizatorului numit UsrClass.dat conține intrări de registry COM și nu se deplasează în mod implicit.

Windows NT

Sistemele Windows NT stochează registrul într-un format de fișier binar care poate fi exportat, încărcat și descărcat de Editorul de registru în aceste sisteme de operare. Următoarele fișiere de registry de sistem sunt stocate în %SystemRoot%\System32\Config\:

  • Sam - HKEY_LOCAL_MACHINE \ SAM
  • Security - HKEY_LOCAL_MACHINE \ SECURITY
  • Software - HKEY_LOCAL_MACHINE \ SOFTWARE
  • System - HKEY_LOCAL_MACHINE \ SYSTEM
  • Default - HKEY_USERS \ .DEFAULT
  • Userdiff- Nu este asociat cu un stup. Folosit numai la actualizarea sistemelor de operare.

Următorul fișier este stocat în folderul de profil al fiecărui utilizator:

  • %USERPROFILE%\Ntuser.dat- HKEY_USERS \ < SID utilizator > (legat de HKEY_CURRENT_USER)

Pentru Windows 2000, Server 2003 și Windows XP, următorul fișier suplimentar specific utilizatorului este utilizat pentru asociații de fișiere și informații COM:

  • %USERPROFILE%\Local Settings\Application Data\Microsoft\Windows\Usrclass.dat (calea este localizată) - HKEY_USERS \ <User SID> _Classes (HKEY_CURRENT_USER \ Software \ Classes)

Pentru Windows Vista și versiunile ulterioare, calea a fost schimbată în:

  • %USERPROFILE%\AppData\Local\Microsoft\Windows\Usrclass.dat(calea nu este localizată) alias %LocalAppData%\Microsoft\Windows\Usrclass.dat- HKEY_USERS \ <User SID> _Classes (HKEY_CURRENT_USER \ Software \ Classes)

Windows 2000 păstrează o copie alternativă a stupilor de registru (.ALT) și încearcă să treacă la acesta atunci când este detectată corupția. Windows XP și Windows Server 2003 nu mențin un System.altstup, deoarece NTLDR pe acele versiuni de Windows poate procesa System.logfișierul pentru a actualiza un stup de sistem care a devenit inconsistent în timpul unei opriri sau blocări. În plus, %SystemRoot%\Repairfolderul conține o copie a stupelor de registry ale sistemului care au fost create după instalare și prima pornire cu succes a Windows.

Fiecare fișier de date de registry are un fișier asociat cu o extensie „.log” care acționează ca un jurnal de tranzacții care este utilizat pentru a se asigura că orice actualizări întrerupte pot fi finalizate la următoarea pornire. Intern, fișierele de registru sunt împărțite în „coșuri” de 4  kB care conțin colecții de „celule”.

Windows 9x

Fișierele de registry sunt stocate în %WINDIR%director sub numele USER.DATși SYSTEM.DATcu adăugarea de CLASSES.DATîn Windows ME. De asemenea, fiecare profil de utilizator (dacă profilurile sunt activate) are propriul USER.DATfișier care se află în directorul de profil al utilizatorului din %WINDIR%\Profiles\<Username>\.

Windows 3.11

Singurul fișier de registry este apelat REG.DATși este stocat în %WINDIR%director.

Windows 10 Mobile

Notă: Pentru a accesa fișierele de registry, telefonul trebuie setat într-un mod special utilizând fie: 

Dacă oricare dintre metodele de mai sus a funcționat - Fișierele de registru ale dispozitivului pot fi găsite în următoarea locație:

 {Phone}\EFIESP\Windows\System32\config

Notă: InterOp Tools include și un editor de registry.

Editarea

Editorii de registre

Registrul conține informații importante de configurare pentru sistemul de operare, pentru aplicațiile instalate, precum și setări individuale pentru fiecare utilizator și aplicație. O modificare neglijentă a configurației sistemului de operare din registru poate provoca daune ireversibile, deci, de obicei, doar programele de instalare efectuează modificări la baza de date a registrului în timpul instalării / configurării și eliminării. Dacă un utilizator dorește să editeze manual registrul, Microsoft recomandă efectuarea unei copii de rezervă a registrului înainte de modificare. Când un program este eliminat de pe panoul de control, este posibil să nu fie complet eliminat și, în caz de erori sau erori cauzate de referințe la programe lipsă, utilizatorul ar putea fi nevoit să verifice manual directoare din interior, cum ar fi fișiere de program. După aceasta, utilizatorul ar putea fi necesar să elimine manual orice referință la programul dezinstalat din registru. Acest lucru se face de obicei utilizând RegEdit.exe. Editarea registrului este uneori necesară atunci când se lucrează în jurul problemelor specifice Windows, de exemplu, problemele la conectarea la un domeniu pot fi rezolvate prin editarea registrului.

Windows Registry poate fi editat manual folosind programe precum RegEdit.exe, deși aceste instrumente nu expun unele dintre metadatele registrului, cum ar fi ultima dată modificată.

Editorul de registry pentru seria 3.1 / 95 de sisteme de operare este RegEdit.exe, iar pentru Windows NT este RegEdt32.exe; funcționalitățile sunt îmbinate în Windows XP. Instrumente opționale și / sau terțe, similare cu RegEdit.exe, sunt disponibile pentru multe versiuni Windows CE.

Editorul de registry permite utilizatorilor să îndeplinească următoarele funcții:

  • Crearea, manipularea, redenumirea și ștergerea cheilor de registry, subchei, valori și date de valoare
  • Import și export. REGfișiere, exportând date în format binar de stup
  • Încărcarea, manipularea și descărcarea fișierelor în format stup de registry (numai sisteme Windows NT)
  • Setarea permisiunilor pe baza ACL-urilor (numai sisteme Windows NT)
  • Marcarea cheilor de registry selectate de utilizator ca Favorite
  • Găsirea unor șiruri particulare în nume de chei, nume de valori și date de valoare
  • Editarea de la distanță a registrului pe un alt computer din rețea

.REG fișiere

.REGfișierele (cunoscute și ca Intrări de înregistrare) sunt fișiere text-citibile de către oameni pentru exportul și importul porțiunilor din registru utilizând o sintaxă bazată pe INI . Pe Windows 2000 și versiuni ulterioare, acestea conțin șirul Windows Registry Editor Versiunea 5.00 la început și sunt bazate pe Unicode . Pe sistemele Windows 9x și NT 4.0, acestea conțin șirul REGEDIT4 și sunt bazate pe ANSI . .REGFișierele în format Windows 9x sunt compatibile cu Windows 2000 și versiunile ulterioare. Editorul de registry de pe Windows pe aceste sisteme acceptă, de asemenea, exportul de .REGfișiere în format Windows 9x / NT. Datele sunt stocate în .REGfișiere utilizând următoarea sintaxă:

[<Hive name>\<Key name>\<Subkey name>]
"Value name"=<Value type>:<Value data>

Valoarea implicită a unei chei poate fi editată folosind „@” în loc de „Nume valoare”:

[<Hive name>\<Key name>\<Subkey name>]
@=<Value type>:<Value data>

Valorile șirurilor nu necesită un <Tip de valoare> (vezi exemplu), dar backslash ('\') trebuie să fie scrise sub formă de backslash dublu ('\\') și ghilimele ('"') ca backslash-quote ( '\ "').

De exemplu, pentru a adăuga valorile „Valoarea A”, „Valoarea B”, „Valoarea C”, „Valoarea D”, „Valoarea E”, „Valoarea F”, „Valoarea G”, „Valoarea H”, „Valoarea I” "," Valoarea J "," Valoarea K "," Valoarea L "și" Valoarea M "la cheia HKLM \ SOFTWARE \ Foobar:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Foobar]
"Value A"="<String value data with escape characters>"
"Value B"=hex:<Binary data (as comma-delimited list of hexadecimal values)>
"Value C"=dword:<DWORD value integer>
"Value D"=hex(0):<REG_NONE (as comma-delimited list of hexadecimal values)>
"Value E"=hex(1):<REG_SZ (as comma-delimited list of hexadecimal values representing a UTF-16LE NUL-terminated string)>
"Value F"=hex(2):<Expandable string value data (as comma-delimited list of hexadecimal values representing a UTF-16LE NUL-terminated string)>
"Value G"=hex(3):<Binary data (as comma-delimited list of hexadecimal values)> ; equal to "Value B"
"Value H"=hex(4):<DWORD value (as comma-delimited list of 4 hexadecimal values, in little endian byte order)>
"Value I"=hex(5):<DWORD value (as comma-delimited list of 4 hexadecimal values, in big endian byte order)>
"Value J"=hex(7):<Multi-string value data (as comma-delimited list of hexadecimal values representing UTF-16LE NUL-terminated strings)>
"Value K"=hex(8):<REG_RESOURCE_LIST (as comma-delimited list of hexadecimal values)>
"Value L"=hex(a):<REG_RESOURCE_REQUIREMENTS_LIST (as comma-delimited list of hexadecimal values)>
"Value M"=hex(b):<QWORD value (as comma-delimited list of 8 hexadecimal values, in little endian byte order)>

Datele din .REGfișiere pot fi adăugate / îmbinate cu registrul făcând dublu clic pe aceste fișiere sau folosind comutatorul / s din linia de comandă. REGfișierele pot fi, de asemenea, utilizate pentru a elimina datele din registru.

Pentru a elimina o cheie (și toate subcheile, valorile și datele), numele cheii trebuie să fie precedat de un semn minus („-”).

De exemplu, pentru a elimina cheia HKLM \ SOFTWARE \ Foobar (și toate cheile secundare, valorile și datele),

[-HKEY_LOCAL_MACHINE\SOFTWARE\Foobar]

Pentru a elimina o valoare (și datele sale), valorile care trebuie eliminate trebuie să aibă un semn minus ("-") după semnul egal ("=").

De exemplu, pentru a elimina numai valorile „Valoarea A” și „Valoarea B” (și datele acestora) din cheia HKLM \ SOFTWARE \ Foobar:

[HKEY_LOCAL_MACHINE\SOFTWARE\Foobar]
"Value A"=-
"Value B"=-

Pentru a elimina numai valoarea implicită a cheii HKLM \ SOFTWARE \ Foobar (și a datelor sale):

[HKEY_LOCAL_MACHINE\SOFTWARE\Foobar]
@=-

Liniile care încep cu punct și virgulă sunt considerate comentarii:

; This is a comment. This can be placed in any part of a .reg file
[HKEY_LOCAL_MACHINE\SOFTWARE\Foobar]
"Value"="Example string"

Politici de grup

Politicile de grup Windows pot modifica cheile de registru pentru mai multe mașini sau utilizatori individuali pe baza politicilor. Când o politică intră în vigoare pentru o mașină sau pentru un utilizator individual al unei mașini, setările de registry specificate ca parte a politicii se aplică setărilor mașinii sau utilizatorului.

Windows va căuta, de asemenea, politici actualizate și le va aplica periodic, de obicei la fiecare 90 de minute.

Prin domeniul său de aplicare, o politică definește la ce mașini și / sau utilizatori se aplică politica. Dacă o mașină sau un utilizator se află în sfera unei politici sau nu este definit de un set de reguli care pot filtra locația mașinii sau a contului de utilizator în directorul organizațional, utilizatori specifici sau conturi de mașină sau grupuri de securitate. Reguli mai avansate pot fi configurate folosind expresiile Instrumentului de gestionare Windows . Astfel de reguli pot filtra proprietăți precum numele furnizorului de calculatoare, arhitectura procesorului, software-ul instalat sau rețelele conectate.

De exemplu, administratorul poate crea o politică cu un set de setări de registru pentru mașinile din departamentul de contabilitate și o politică cu un alt set (blocat) de setări de registru pentru terminalele chioșcului din zona vizitatorilor. Când o mașină este mutată dintr-un domeniu în altul (de exemplu, schimbându-și numele sau mutându-l într-o altă unitate organizațională), politica corectă este aplicată automat. Când o politică este modificată, aceasta este re-aplicată automat tuturor mașinilor aflate în prezent în sfera sa de aplicare.

Politica este editată printr-o serie de șabloane administrative care oferă o interfață cu utilizatorul pentru selectarea și modificarea setărilor. Setul de șabloane administrative este extensibil, iar pachetele software care acceptă o astfel de administrare la distanță își pot înregistra propriile șabloane.

Editarea liniei de comandă

reg
Dezvoltatori Microsoft
Sistem de operare Microsoft Windows
Tip Comanda
Licență Proprietary software - ul comercial
Site-ul web docs .microsoft .com / en-us / windows-server / administration / windows-commands / reg
regini
Dezvoltatori Microsoft
Sistem de operare Microsoft Windows
Tip Comanda
Licență Proprietary software - ul comercial
Site-ul web docs .microsoft .com / en-us / windows-server / administration / windows-commands / regini

Registrul poate fi manipulat în mai multe moduri din linia de comandă . Instrumentele Reg.exeși RegIni.exeutilitarul sunt incluse în Windows XP și versiunile ulterioare ale Windows. Locațiile alternative pentru versiunile vechi de Windows includ CD-urile Resource Kit sau CD-ul original de instalare Windows.

De asemenea, un .REGfișier poate fi importat din linia de comandă cu următoarea comandă:

RegEdit.exe /s file

/ S înseamnă că fișierul va fi mutat în regiune. Dacă /sparametrul este omis, utilizatorul va fi rugat să confirme operațiunea. În Windows 98, Windows 95 și cel puțin unele configurații ale Windows XP, /scomutatorul determină, de asemenea, RegEdit.exeignorarea setării din registru care permite administratorilor să o dezactiveze. Când utilizați /scomutatorul RegEdit.exenu returnează un cod de returnare adecvat dacă operațiunea eșuează, spre deosebire de Reg.execare nu.

RegEdit.exe /e file

exportă întregul registru în format V5 într-un .REGfișier UNICODE , în timp ce oricare dintre

RegEdit.exe /e file HKEY_CLASSES_ROOT[\<key>]
RegEdit.exe /e file HKEY_CURRENT_CONFIG[\<key>]
RegEdit.exe /e file HKEY_CURRENT_USER[\<key>]
RegEdit.exe /e file HKEY_LOCAL_MACHINE[\<key>]
RegEdit.exe /e file HKEY_USERS[\<key>]

exportați (sub) cheia specificată (care trebuie inclusă între ghilimele dacă conține spații) numai.

RegEdit.exe /a file

exportă întregul registru în format V4 într-un .REGfișier ANSI .

RegEdit.exe /a file <key>

exportă (sub) cheia specificată (care trebuie inclusă între ghilimele dacă conține spații).

De asemenea, este posibil să se utilizeze Reg.exe. Iată un eșantion pentru a afișa valoarea de registry Versiune:

Reg.exe QUERY HKLM\Software\Microsoft\ResKit /v Version

Alte opțiuni din linia de comandă includ un VBScript sau JScript împreună cu CScript , WMI sau WMIC.exeși Windows PowerShell .

Permisiunile de registru pot fi manipulate prin linia de comandă folosind RegIni.exeși SubInACL.exeinstrumentul. De exemplu, permisiunile pentru cheia HKEY_LOCAL_MACHINE \ SOFTWARE pot fi afișate folosind:

SubInACL.exe /keyreg HKEY_LOCAL_MACHINE\SOFTWARE /display

Comenzi și scripturi PowerShell

Utilizarea PowerShell pentru a naviga în registru

Windows PowerShell vine cu un furnizor de registry care prezintă registrul ca un tip de locație similar cu sistemul de fișiere. Aceleași comenzi utilizate pentru a manipula fișiere și directoare din sistemul de fișiere pot fi folosite pentru a manipula cheile și valorile registrului.

La fel ca sistemul de fișiere, PowerShell folosește conceptul de locație curentă care definește contextul pe care operează în mod implicit comenzile. Get-ChildItem(Disponibil , de asemenea , prin alias - uri ls, dirsau gci) preia copilul cheile în locația curentă. Utilizând comanda Set-Location(sau aliasul cd) utilizatorul poate schimba locația curentă cu o altă cheie a registrului. Comenzile care redenumesc elemente, elimină elemente, creează elemente noi sau setează conținutul articolelor sau proprietăților pot fi folosite pentru redenumirea cheilor, eliminarea cheilor sau a sub-copacilor întregi sau schimbarea valorilor.

Prin intermediul fișierelor de scripturi PowerShell, un administrator poate pregăti scripturi care, atunci când sunt executate, aduc modificări registrului. Astfel de scripturi pot fi distribuite administratorilor care le pot executa pe mașini individuale. Furnizorul de registru PowerShell acceptă tranzacțiile, adică mai multe modificări ale registrului pot fi grupate într-o singură tranzacție atomică. O tranzacție atomică asigură că fie toate modificările sunt angajate în baza de date, fie dacă scriptul eșuează, niciuna dintre modificări nu este angajată în baza de date.

Programe sau scripturi

Registrul poate fi editat prin intermediul API-urilor Advanced Windows 32 Base API Library (advapi32.dll).

Lista funcțiilor API-ului de registry
RegCloseKey RegOpenKey RegConnectRegistry RegOpenKeyEx
RegCreateKey RegQueryInfoKey RegCreateKeyEx RegQueryMultipleValues
RegDeleteKey RegQueryValue RegDeleteValue RegQueryValueEx
RegEnumKey RegReplaceKey RegEnumKeyEx RegRestoreKey
RegEnumValue RegSaveKey RegFlushKey RegSetKeySecurity
RegGetKeySecurity RegSetValue RegLoadKey RegSetValueEx
RegNotifyChangeKeyValue RegUnLoadKey

Multe limbaje de programare oferă funcții sau clase de bibliotecă runtime încorporate care împachetează API-urile Windows subiacente și permit astfel programelor să stocheze setările în registru (de exemplu, în VB.NET și C # , sau în Delphi și Free Pascal ). Aplicațiile compatibile cu COM , cum ar fi Visual Basic 6, pot utiliza obiectul WSH . O altă modalitate este de a utiliza instrumentul Windows Resource Kit, executându-l din cod, deși aceasta este considerată o practică slabă de programare . Microsoft.Win32.RegistryTRegistry WScript.ShellReg.exe

În mod similar, limbajele de scriptare , cum ar fi Perl (cu Win32::TieRegistry), Python (cu winreg), TCL (care vine împreună cu pachetul de registry), Windows Powershell și Windows Scripting Host permit, de asemenea, editarea registrului din scripturi.

Editarea offline

Offreg.dll disponibil din setul de drivere Windows oferă un set de API-uri pentru crearea și manipularea stupelor de registry care nu sunt încărcate în prezent, similare cu cele furnizate de advapi32.dll.

De asemenea, este posibil să editați registrul (stupii) unui sistem offline din Windows PE sau Linux (în ultimul caz folosind instrumente open source ).

Autoînregistrare COM

Înainte de introducerea COM fără înregistrare , dezvoltatorii au fost încurajați să adauge cod de inițializare la binarele în proces și în afara procesului pentru a efectua configurația de registru necesară pentru ca acel obiect să funcționeze. Pentru binare în proces, cum ar fi fișierele .DLL și .OCX, modulele exportau de obicei o funcție numită DllInstall () care putea fi apelată de programele de instalare sau invocată manual cu utilitare precum Regsvr32.exe; binarele în afara procesului acceptă de obicei argumentele liniei de comandă / Regserver și / Unregserver care au creat sau șters setările de registry necesare. Aplicațiile COM care se întrerup din cauza problemelor DLL Hell pot fi reparate în mod obișnuit cu RegSvr32.exe sau cu comutatorul / RegServer fără a fi nevoie să reinvocați programele de instalare.

Funcționalitate avansată

Windows expune API-uri care permit aplicațiilor în modul utilizator să se înregistreze pentru a primi un eveniment de notificare dacă se modifică o anumită cheie de registru. API-urile sunt, de asemenea, disponibile pentru a permite aplicațiilor în modul kernel să filtreze și să modifice apelurile de registry efectuate de alte aplicații.

Windows acceptă, de asemenea, accesul de la distanță la registrul unui alt computer prin intermediul RegConnectRegistryfuncției dacă serviciul Remote Registry funcționează, este configurat corect și traficul de rețea al acestuia nu este firewall.

Securitate

Fiecare cheie din registrul versiunilor Windows NT poate avea un descriptor de securitate asociat . Descriptorul de securitate conține o listă de control al accesului (ACL) care descrie grupurile de utilizatori sau utilizatorii individuali cărora li se acordă sau li se refuză permisiunile de acces. Setul de permisiuni de registru include 10 drepturi / permisiuni care pot fi permise în mod explicit sau refuzate unui utilizator sau unui grup de utilizatori.

Permisiuni de registru
Permisiune Descriere
Valoarea interogării Dreptul de a citi valoarea cheii de registry.
Setați valoarea Dreptul de a scrie o nouă valoare
Creați o subcheie Dreptul de a crea subchei.
Enumerați subcheile Permiteți enumerarea subcheilor.
Notificați Dreptul de a solicita notificări de modificare pentru chei de registru sau subchei.
Creați un link Rezervat de sistemul de operare.
Șterge Dreptul de a șterge o cheie.
Scrie DACL Dreptul de a modifica permisiunile DACL ale containerului.
Scrie proprietar Dreptul de a modifica proprietarul containerului.
Citiți Control Dreptul de a citi DACL.

Ca și în cazul altor obiecte securizabile din sistemul de operare, intrările individuale de control al accesului (ACE) de pe descriptorul de securitate pot fi explicite sau moștenite de la un obiect părinte.

Protecția resurselor Windows este o caracteristică a Windows Vista și a versiunilor ulterioare ale Windows care utilizează securitatea pentru a interzice administratorilor și sistemului WRITE acces la unele chei sensibile pentru a proteja integritatea sistemului de malware și modificări accidentale.

ACE speciale de pe descriptorul de securitate pot implementa, de asemenea, controlul integrității obligatorii pentru cheia de registru și subchei. Un proces care rulează la un nivel inferior de integritate nu poate scrie, modifica sau șterge o cheie / valoare de registru, chiar dacă contului procesului i sa acordat acces prin intermediul ACL. De exemplu, Internet Explorer care rulează în modul protejat poate citi cheile / valorile de registry de integritate medie și scăzută ale utilizatorului conectat în prezent, dar poate modifica doar cheile de integritate scăzută.

În afara securității, cheile de registry nu pot fi șterse sau editate din alte cauze. Cheile de registry care conțin caractere NUL nu pot fi șterse cu editorii de registre standard și necesită un utilitar special pentru ștergere, cum ar fi RegDelNull .

Backup-uri și recuperare

Diferite ediții de Windows au acceptat o serie de metode diferite de backup și restaurare a registrului de-a lungul anilor, dintre care unele sunt acum învechite:

  • Restaurarea sistemului poate face o copie de rezervă a registrului și îl poate restabili atâta timp cât Windows este bootabil sau din mediul de recuperare Windows (începând cu Windows Vista).
  • NTBackup poate face backup pentru registru ca parte a stării sistemului și îl poate restabili. Recuperarea automată a sistemului în Windows XP poate restaura și registrul.
  • În Windows NT, opțiunea Ultima configurare cunoscută bună din meniul de pornire leagă HKLM\SYSTEM\CurrentControlSetcheia, care stochează informații despre hardware și driverul dispozitivului.
  • Windows 98 și Windows ME includ linie de comandă (Scanreg.exe) și instrumente de verificare a registrului GUI (Scanregw.exe) pentru a verifica și a remedia integritatea registrului, a crea până la cinci copii de siguranță automate în mod implicit și a le restaura manual sau ori de câte ori este coruptă detectat. Instrumentul de verificare a registry face backup pentru registry, în mod implicit, pe %Windir%\SysbckupScanreg.exe poate rula și din MS-DOS .
  • CD-ROM-ul Windows 95 a inclus un utilitar de recuperare de urgență (ERU.exe) și un instrument de backup de configurare (Cfgback.exe) pentru a face backup și a restaura registrul. În plus, Windows 95 face backup pentru registry la fișierele system.da0 și user.da0 la fiecare bootare reușită.
  • Windows NT 4.0 inclus RDISK.EXE, un utilitar pentru backup și restaurare a întregului registru.
  • Windows 2000 Resource Kit conținea o pereche de utilități neacceptate numite Regback.exe și RegRest.exe pentru backup și recuperare a registrului.
  • Copiile de rezervă periodice automate ale registrului sunt acum dezactivate în mod implicit în actualizarea Windows 10 mai 2019 (versiunea 1903). Microsoft recomandă utilizarea Restabilirii sistemului.

Politică

Politica de grup

Windows 2000 și versiunile ulterioare ale Windows utilizează Politica de grup pentru a impune setările de registry printr-o extensie client specifică pentru registru în motorul de procesare a Politicii de grup. Politica poate fi aplicată local la un singur computer care utilizează gpedit.mscsau la mai mulți utilizatori și / sau computere dintr-un domeniu care utilizează gpmc.msc.

Sisteme vechi

Cu Windows 95, Windows 98, Windows ME și Windows NT 4.0, administratorii pot utiliza un fișier special pentru a fi îmbinat în registru, numit fișier de politică ( POLICY.POL). Fișierul de politici permite administratorilor să împiedice utilizatorii non-administratori să schimbe setările de registry, cum ar fi, de exemplu, nivelul de securitate al Internet Explorer și fundalul desktopului. Fișierul de politici este utilizat în principal într-o afacere cu un număr mare de computere în care afacerea trebuie protejată de utilizatorii necinstiți sau neglijenți.

Extensia implicită pentru fișierul de politică este .POL. Fișierul de politică filtrează setările pe care le aplică în funcție de utilizator și de grup (un „grup” este un set definit de utilizatori). Pentru aceasta, fișierul de politică se îmbină în registru, împiedicând utilizatorii să o ocolească prin simpla schimbare a setărilor. Fișierul de politici este de obicei distribuit printr-o rețea LAN, dar poate fi plasat pe computerul local.

Fișierul de politici este creat de un instrument gratuit de la Microsoft, care se numește fișier poledit.exepentru Windows 95 / Windows 98 și cu un modul de gestionare a computerului pentru Windows NT. Editorul necesită permisiuni administrative pentru a fi rulate pe sistemele care utilizează permisiuni. Editorul poate, de asemenea, să modifice direct setările actuale ale registrului computerului local și, dacă serviciul de registry la distanță este instalat și pornit pe un alt computer, acesta poate schimba și registrul de pe acel computer. Editorul de politici încarcă setările pe care le poate modifica din .ADMfișiere, dintre care una este inclusă, care conține setările oferite de shell-ul Windows. .ADMFișierul este text simplu și sprijină localizare ușor, permițând tuturor siruri de caractere pentru a fi stocate într - un singur loc.

Virtualizare

Virtualizare fișier INI

Kernelurile Windows NT acceptă redirecționarea API - urilor legate de fișierele INI într-un fișier virtual într-o locație de registru, cum ar fi HKEY_CURRENT_USER, utilizând o caracteristică numită "InifileMapping". Această funcționalitate a fost introdusă pentru a permite aplicațiilor vechi scrise pentru versiunile de Windows pe 16 biți să poată rula sub platforme Windows NT pe care folderul System nu mai este considerat o locație adecvată pentru date sau configurații specifice utilizatorului. Aplicațiile neconforme pe 32 de biți pot fi, de asemenea, redirecționate în acest mod, chiar dacă caracteristica a fost inițial destinată aplicațiilor pe 16 biți.

Virtualizarea registrului

Windows Vista a introdus virtualizarea limitată a registrului, prin care aplicațiile slab scrise care nu respectă principiul minimului privilegiu și în schimb încearcă să scrie date de utilizator într-o locație de sistem numai de citire (cum ar fi stupul HKEY_LOCAL_MACHINE), sunt redirecționate în tăcere către o locație mai adecvată , fără a schimba aplicația în sine.

În mod similar, virtualizarea aplicației redirecționează toate operațiunile de registru nevalide ale unei aplicații către o locație, cum ar fi un fișier. Utilizat împreună cu virtualizarea fișierelor, acest lucru permite aplicațiilor să ruleze pe o mașină fără a fi instalate pe ea.

Procesele cu integritate scăzută pot utiliza, de asemenea, virtualizarea registrului. De exemplu, Internet Explorer 7 sau 8 care rulează în „Mod protejat” pe Windows Vista și versiunile ulterioare va redirecționa automat scrisurile de registru prin controalele ActiveX într-o locație cu nisip pentru a frustra unele clase de exploatări de securitate .

Setul de instrumente de compatibilitate a aplicațiilor oferă mesaje care pot redirecționa în mod transparent operațiunile de registru HKEY_LOCAL_MACHINE sau HKEY_CLASSES_ROOT către HKEY_CURRENT_USER pentru a aborda erorile „ LUA ” care determină aplicațiile să nu funcționeze pentru utilizatorii cu drepturi insuficiente.

Dezavantaje

Criticii au etichetat registrul în Windows 95 drept un singur punct de eșec , deoarece reinstalarea sistemului de operare a fost necesară dacă registrul a devenit corupt. Cu toate acestea, Windows NT utilizează jurnalele de tranzacții pentru a proteja împotriva corupției în timpul actualizărilor. Versiunile actuale de Windows utilizează două niveluri de fișiere jurnal pentru a asigura integritatea chiar și în cazul unei întreruperi de curent sau a unor evenimente catastrofale similare în timpul actualizărilor bazei de date. Chiar și în cazul unei erori nerecuperabile, Windows poate repara sau reinicializa intrările de registru deteriorate în timpul pornirii sistemului.

Echivalenți și alternative

În Windows, utilizarea registrului pentru stocarea datelor programului este o chestiune de discreție a dezvoltatorului. Microsoft oferă interfețe de programare pentru stocarea datelor în fișiere XML (prin MSXML ) sau fișiere de baze de date (prin SQL Server Compact ) pe care dezvoltatorii le pot folosi în schimb. Dezvoltatorii sunt, de asemenea, liberi să utilizeze alternative non-Microsoft sau să își dezvolte propriile magazine de date proprietare.

Spre deosebire de modelul de baze de date bazat pe Windows Registry, unele alte sisteme de operare folosesc fișiere text text separat pentru daemon și configurația aplicației, dar grupează aceste configurații împreună pentru o gestionare mai ușoară.

  • În sistemele de operare de tip Unix (inclusiv Linux ) care respectă standardul ierarhiei sistemului de fișiere, fișierele de configurare la nivel de sistem (informații similare cu cele care ar apărea în HKEY_LOCAL_MACHINE pe Windows) sunt stocate în mod tradițional în fișiere /etc/și în subdirectoarele sale sau, uneori, în /usr/local/etc. Informațiile per utilizator (informații care ar fi aproximativ echivalente cu cele din HKEY_CURRENT_USER) sunt stocate în directoare și fișiere ascunse (care încep cu o perioadă / punct) în directorul principal al utilizatorului . Cu toate acestea, aplicațiile compatibile XDG ar trebui să se refere la variabilele de mediu definite în specificația Directorului de bază.
  • În macOS , fișierele de configurare la nivel de sistem sunt de obicei stocate în /Library/folder, în timp ce fișierele de configurare pentru fiecare utilizator sunt stocate în ~/Library/folderul corespunzător din directorul de start al utilizatorului, iar fișierele de configurare setate de sistem sunt în /System/Library/. În cadrul acestor directoare respective, o aplicație stochează de obicei un fișier listă de proprietăți în Preferences/subdirector.
  • RISC OS (nu trebuie confundat cu MIPS RISC / os ) folosește directoare pentru datele de configurare, ceea ce permite copierea aplicațiilor în directoare de aplicații , spre deosebire de procesul de instalare separat care caracterizează aplicațiile Windows; această abordare este utilizată și pe desktopul ROX pentru Linux. Această configurație bazată pe director face, de asemenea, posibilă utilizarea diferitelor versiuni ale aceleiași aplicații, deoarece configurația se face „din mers”. Dacă doriți să eliminați aplicația, este posibil să ștergeți pur și simplu folderul care aparține aplicației. Acest lucru nu va elimina adesea setările de configurare care sunt stocate independent de aplicație, de obicei în structura! Boot a computerului , în! Boot.Choices sau potențial oriunde pe un server de fișiere de rețea. Este posibil să copiați programele instalate între computerele care rulează sistemul de operare RISC prin copierea directoarelor de aplicații aparținând programelor, cu toate acestea unele programe pot necesita reinstalare, de exemplu, când fișierele partajate sunt plasate în afara unui director de aplicații.
  • IBM AIX (o variantă Unix) utilizează o componentă de registru numită Object Data Manager (ODM). ODM este utilizat pentru a stoca informații despre configurarea sistemului și a dispozitivului. Un set extins de instrumente și utilități oferă utilizatorilor mijloace de extindere, verificare, corectare a bazei de date ODM. ODM își stochează informațiile în mai multe fișiere, locația implicită este / etc / objrepos.
  • Mediul desktop GNOME utilizează o interfață de tip registru numită dconf pentru stocarea setărilor de configurare pentru desktop și aplicații.
  • Inițiativa Elektra oferă alternative de back-capete pentru diferite fișiere de configurare de text diferite.
  • Deși nu este un sistem de operare, stratul de compatibilitate Wine , care permite software-ului Windows să ruleze pe un sistem de tip Unix, folosește, de asemenea, un registru de tip Windows ca fișiere text în folderul WINEPREFIX: system.reg (HKEY_LOCAL_MACHINE), user.reg ( HKEY_CURRENT_USER) și userdef.reg.

Vezi si

Note

Note de subsol

Referințe

linkuri externe