Add scripts for backing up and restoring personal files
This commit is contained in:
parent
8cf7791723
commit
1b6ebcd554
2 changed files with 204 additions and 123 deletions
37
scripts/Windows/Software/Windows/Home.exclude.txt
Normal file
37
scripts/Windows/Software/Windows/Home.exclude.txt
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
Pictures/Feedback
|
||||||
|
Documents/BeamNG.drive
|
||||||
|
Documents/Default.rdp
|
||||||
|
Documents/den4b/ReNamer
|
||||||
|
Documents/Dolphin Emulator
|
||||||
|
Documents/eFisc
|
||||||
|
Documents/IISExpress
|
||||||
|
Documents/KINGDOM HEARTS HD 1.5+2.5 ReMIX
|
||||||
|
Documents/ManiaPlanet
|
||||||
|
Documents/MetaX
|
||||||
|
Documents/MuseScore3
|
||||||
|
Documents/My Web Sites
|
||||||
|
Documents/OneNote-Notizbücher
|
||||||
|
Documents/PCSX2
|
||||||
|
Documents/PowerShell
|
||||||
|
Documents/PPSSPP
|
||||||
|
Documents/PS Vita
|
||||||
|
Documents/PSV Packages
|
||||||
|
Documents/PSV Updates
|
||||||
|
Documents/Repositories
|
||||||
|
Documents/Rise of the Tomb Raider
|
||||||
|
Documents/S2
|
||||||
|
Documents/SEGA
|
||||||
|
Documents/SEGA Mega Drive Classics
|
||||||
|
Documents/SQL Server Management Studio
|
||||||
|
Documents/Square Enix
|
||||||
|
Documents/TI-Nspire CX
|
||||||
|
Documents/TmForever
|
||||||
|
Documents/TrackMania
|
||||||
|
Documents/UltraVNC
|
||||||
|
Documents/Visual Studio 2017
|
||||||
|
Documents/Visual Studio 2019
|
||||||
|
Documents/Visual Studio 2022
|
||||||
|
Documents/Viwizard M4V Converter
|
||||||
|
Documents/WindowsPowerShell
|
||||||
|
Documents/Zoom
|
||||||
|
Music/iTunes
|
|
@ -5,13 +5,41 @@ param(
|
||||||
[hashtable] $Arguments
|
[hashtable] $Arguments
|
||||||
)
|
)
|
||||||
|
|
||||||
. "$PSScriptRoot/../../Scripts/Registry.ps1";
|
|
||||||
. "$PSScriptRoot/../../../Common/Scripts/Config.ps1";
|
|
||||||
. "$PSScriptRoot/../../../Common/Scripts/System.ps1";
|
|
||||||
. "$PSScriptRoot/../../../Common/Scripts/Software.ps1";
|
. "$PSScriptRoot/../../../Common/Scripts/Software.ps1";
|
||||||
. "$PSScriptRoot/../../../Common/Types/InstallerAction.ps1";
|
. "$PSScriptRoot/../../../Common/Types/InstallerAction.ps1";
|
||||||
|
|
||||||
Start-SoftwareInstaller @PSBoundParameters `
|
& {
|
||||||
|
param($Parameters)
|
||||||
|
|
||||||
|
. "$PSScriptRoot/../../Scripts/Registry.ps1";
|
||||||
|
. "$PSScriptRoot/../../Scripts/Restoration.ps1";
|
||||||
|
. "$PSScriptRoot/../../../Common/Scripts/Config.ps1";
|
||||||
|
. "$PSScriptRoot/../../../Common/Scripts/System.ps1";
|
||||||
|
|
||||||
|
$userFolders = @(
|
||||||
|
"Pictures",
|
||||||
|
"Documents",
|
||||||
|
"Downloads",
|
||||||
|
"Music",
|
||||||
|
"Videos"
|
||||||
|
);
|
||||||
|
|
||||||
|
$userExclusions = @(
|
||||||
|
"Documents/Eigene*",
|
||||||
|
"Documents/My Games",
|
||||||
|
"Documents/My Music",
|
||||||
|
"Documents/My Pictures",
|
||||||
|
"Documents/My Videos"
|
||||||
|
);
|
||||||
|
|
||||||
|
[string[]] $homeExclusions = Get-Content "$PSScriptRoot/Home.exclude.txt";
|
||||||
|
|
||||||
|
Start-SoftwareInstaller @Parameters `
|
||||||
|
-Backup {
|
||||||
|
Add-BackupArtifacts -Source "$env:PUBLIC" -Path "Public" `
|
||||||
|
-Include ($userFolders) `
|
||||||
|
-Exclude ($userExclusions + @("Documents/Hyper-V", "Documents/reWASD"));
|
||||||
|
} `
|
||||||
-Configurator {
|
-Configurator {
|
||||||
$dir = New-TemporaryDirectory;
|
$dir = New-TemporaryDirectory;
|
||||||
Push-Location $dir;
|
Push-Location $dir;
|
||||||
|
@ -54,7 +82,7 @@ Start-SoftwareInstaller @PSBoundParameters `
|
||||||
)
|
)
|
||||||
|
|
||||||
$path = "$($Key.PSPath)\Software\Microsoft\Lighting";
|
$path = "$($Key.PSPath)\Software\Microsoft\Lighting";
|
||||||
$null = New-Item $path;
|
$null = New-Item $path -ErrorAction SilentlyContinue;
|
||||||
Set-ItemProperty $path -Name "AmbientLightingEnabled" -Value 0 -Type "DWord";
|
Set-ItemProperty $path -Name "AmbientLightingEnabled" -Value 0 -Type "DWord";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -135,4 +163,20 @@ Start-SoftwareInstaller @PSBoundParameters `
|
||||||
|
|
||||||
Pop-Location;
|
Pop-Location;
|
||||||
Remove-Item -Recurse $dir;
|
Remove-Item -Recurse $dir;
|
||||||
|
Expand-BackupArtifacts -Path "Public" -Target $env:PUBLIC;
|
||||||
|
} `
|
||||||
|
-UserBackup {
|
||||||
|
param(
|
||||||
|
[hashtable] $Arguments
|
||||||
|
)
|
||||||
|
|
||||||
|
Add-BackupArtifacts -User $Arguments.Name -Source $HOME -Path "Home" -Include ($userFolders) -Exclude ($userExclusions + $homeExclusions);
|
||||||
|
} `
|
||||||
|
-UserConfigurator {
|
||||||
|
param(
|
||||||
|
[hashtable] $Arguments
|
||||||
|
)
|
||||||
|
|
||||||
|
Expand-BackupArtifacts -User $Arguments.Name -Path "Home" -Target $HOME;
|
||||||
};
|
};
|
||||||
|
} $PSBoundParameters;
|
||||||
|
|
Loading…
Reference in a new issue