using namespace Microsoft.Win32; param( $Action, [hashtable] $Arguments ) . "$PSScriptRoot/../../Scripts/Restoration.ps1"; . "$PSScriptRoot/../../../Common/Scripts/Software.ps1"; . "$PSScriptRoot/../../../Common/Scripts/System.ps1"; Start-SoftwareInstaller @PSBoundParameters ` -Installer { Install-ChocoPackage putty; } ` -UserBackup { param( [string] $Name, [hashtable] $Arguments ) $dir = New-TemporaryDirectory; $fileName = Join-Path "$dir" PuTTY.reg; & reg export "HKCU\Software\SimonTatham\PuTTY" $fileName /y; Add-BackupArtifacts -User $Arguments.Name -Source $fileName -Path "$Name/$Name.reg"; Remove-Item -Recurse -Force $dir; } ` -UserConfigurator { param( [string] $Name, [hashtable] $Arguments ) $dir = New-TemporaryDirectory; $fileName = Join-Path "$dir" PuTTY.reg; Expand-BackupArtifacts -User $Arguments.Name -Path "$Name/$Name.reg" -Target $fileName; & reg import $fileName; Remove-Item -Recurse -Force $dir; };