Importante avvertenza prima di cominciare, il registro di configurazione di Windows è molto importante, e delicato, fare modifiche inadatte, o scelte a caso su Internet, potrebbe causare gravi problemi al sistema operativo come instabilità o mancato avvio. Quindi eseguite un backup del sistema, oppure create almeno un punto di ripristino, prima di procedere alla modifica del registro di configurazione.
Le zone di registro che potete modificare tramite PowerShell sono due e le vedete indicate nell’immagine.
Nella maggior parte dei casi, i comandi inseriti in PowerShell, se scritti in maniera corretta, non generano una risposta a video. Se vedete comparire delle scritte in rosso è presente un errore nel comando, in questo caso avevo messo uno spazio di troppo.
Per comodità, nell’articolo indicherò come "Chiave di registro principale" tutto quello che si trova nella schermata a sinistra, mentre i "Valori" sono quelli presenti a destra.
Creazione e modifica
Per creare una chiave di registro principale, con all’interno un valore, si possono usare queste due righe di comando:
$key = New-Item -Path "HKLM:\SOFTWARE\TurboTest" Set-ItemProperty -Path
$key.PSPath -Name "TurboTest" -Value "crazy.cat test"
Invece se vogliamo modificare il valore di una chiave di registro già esistente:
Set-ItemProperty -path “HKLM:\SOFTWARE\TurboTest” -Name "TurboTest" -value "crazy.cat test 2"
Non è possibile creare direttamente la nuova chiave "HKLM:\SOFTWARE\TurboTest\1", ma prima bisogna creare la chiave principale "HKLM:\SOFTWARE\TurboTest".
In questo modo creiamo chiavi multiple con all’interno dei valori:
$key = New-Item -Path "HKLM:\SOFTWARE\TurboTest" Set-ItemProperty -Path
$key.PSPath -Name "TurboTest" -Value "crazy.cat test 1"
$key = New-Item -Path "HKLM:\SOFTWARE\TurboTest\1" Set-ItemProperty -Path
$key.PSPath -Name "TurboTest" -Value "crazy.cat test 2"
$key = New-Item -Path "HKLM:\SOFTWARE\TurboTest\2" Set-ItemProperty -Path
$key.PSPath -Name "TurboTest" -Value "crazy.cat test 3"
$key = New-Item -Path "HKLM:\SOFTWARE\TurboTest\3" Set-ItemProperty -Path
$key.PSPath -Name "TurboTest" -Value "crazy.cat test 4"
Un altro modo per creare valori di chiavi di registro e assegnare loro un PropertyType è questo:
New-ItemProperty -Path "HKLM:\SOFTWARE\TurboTest" -Name "TurboTest" -Value "Test" -PropertyType DWord
New-ItemProperty -Path "HKLM:\SOFTWARE\TurboTest" -Name “Test2” -Value ([byte[]](0x30,0x31,0xAA)) -PropertyType Binary
New-ItemProperty -Path "HKLM:\SOFTWARE\TurboTest1" -Name "TurboTest1" -Value "crazy.cat" -PropertyType String
I possibili PropertyType sono:
- String (REG_SZ),
- ExpandString (REG_EXPAND_SZ),
- Binary (REG_BINARY),
- DWord (REG_DWORD),
- MultiString (REG_MULTI_SZ),
- Qword (REG_QWORD),
- Unknown.
Tra parentesi ho messo il corrispondente Tipo che trovate indicato nel registro di configurazione di Windows.
Cancellazione
Per cancellare una singola chiave all’interno di altre chiavi:
Remove-Item -Path "HKLM:\SOFTWARE\TurboTest\3"
Per cancellare la chiave principale, se ci sono delle sotto chiavi, e non si è specificato l’opzione -recurse (cioè Remove-Item -Path "HKLM:\SOFTWARE\TurboTest" -Recurse
), ci chiederà la conferma dell’eliminazione:
Remove-Item -Path "HKLM:\SOFTWARE\TurboTest"
Per rimuovere il valore presente nella chiave di registro, lasciando la chiave principale:
Remove-ItemProperty -Path "HKLM:\SOFTWARE\Turboprova" -Name "TurboProva"
Rinominare
Per rinominare la chiave di registro principale:
Rename-Item -Path "HKLM:\SOFTWARE\TurboTest" TurboProva
Per rinominare il valore della chiave di registro:
Rename-ItemProperty -Path "HKLM:\SOFTWARE\TurboProva" -Name "TurboTest" -NewName "TurboProva"