PortValhalla/scripts/Windows/Scripts/Registry.ps1

19 lines
563 B
PowerShell

using namespace Microsoft.Win32;
$null = New-Module {
function Edit-DefaultUserKey {
param(
[scriptblock] $Action
)
$rootPath = "HKLM:\DefaultUser";
$regRootPath = $rootPath -replace "^(\w+):([\\/]|$)","`$1`$2";
$hivePath = "$env:SystemDrive\Users\Default\NTUSER.dat";
$null = & reg load $regRootPath $hivePath;
[RegistryKey] $root = Get-Item $rootPath;
& $Action -Key $root;
$root.Handle.Close();
[System.GC]::Collect();
& reg unload $regRootPath;
}
}