20 lines
563 B
PowerShell
20 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;
|
|
}
|
|
}
|