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;
|
||
|
}
|
||
|
}
|