# Navigate to a hiveSet-LocationHKLM:\Software# List sub-keysGet-ChildItemHKLM:\Software\Microsoft# Navigate deeplySet-Location"HKLM:\Software\Microsoft\Windows NT\CurrentVersion"Get-ChildItem# List all values in a key (the "properties")Get-ItemProperty"HKLM:\Software\Microsoft\Windows NT\CurrentVersion"
# Read a single named valueGet-ItemProperty-Path"HKLM:\Software\Microsoft\Windows NT\CurrentVersion"`-NameProductName# Just the value (no wrapper object)(Get-ItemProperty"HKLM:\Software\Microsoft\Windows NT\CurrentVersion").ProductName(Get-ItemPropertyValue"HKLM:\Software\Microsoft\Windows NT\CurrentVersion"-Name"ProductName")# Read all values in a keyGet-ItemProperty"HKCU:\Software\Microsoft\Windows\CurrentVersion\Run"# Check if a key existsTest-Path"HKCU:\Software\MyApp"# Check if a value exists$key=Get-Item"HKCU:\Software\MyApp"-ErrorActionSilentlyContinueif($key-and$key.GetValue("Theme")){"Value exists"}
# Create a new registry keyNew-Item-Path"HKCU:\Software\MyApp"-Force# Create a value in that keySet-ItemProperty-Path"HKCU:\Software\MyApp"-Name"Theme"-Value"Dark"Set-ItemProperty-Path"HKCU:\Software\MyApp"-Name"Version"-Value"1.0.0"# Specify the value type explicitlySet-ItemProperty-Path"HKCU:\Software\MyApp"-Name"MaxItems"-Value100-TypeDWordSet-ItemProperty-Path"HKCU:\Software\MyApp"-Name"InstallDir"-Value"C:\MyApp"-TypeExpandStringSet-ItemProperty-Path"HKCU:\Software\MyApp"-Name"Flags"-Value([byte[]](0x01,0x02))-TypeBinary# Create a key and value in one stepNew-ItemProperty-Path"HKCU:\Software\MyApp"-Name"EnableFeature"-Value1-PropertyTypeDWord
# Update an existing valueSet-ItemProperty"HKCU:\Software\MyApp"-NameTheme-Value"Light"# Rename a valueRename-ItemProperty"HKCU:\Software\MyApp"-NameOldName-NewNameNewName# Delete a single valueRemove-ItemProperty"HKCU:\Software\MyApp"-NameTheme# Delete an entire key (and all its sub-keys and values)Remove-Item"HKCU:\Software\MyApp"-Recurse
# List startup programs (current user)Get-ItemProperty"HKCU:\Software\Microsoft\Windows\CurrentVersion\Run"# List startup programs (all users)Get-ItemProperty"HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"# Add a startup entrySet-ItemProperty"HKCU:\Software\Microsoft\Windows\CurrentVersion\Run"`-Name"MyApp"-Value"C:\MyApp\app.exe"# Remove a startup entryRemove-ItemProperty"HKCU:\Software\Microsoft\Windows\CurrentVersion\Run"-Name"MyApp"