diff --git a/testbed.ps1 b/testbed.ps1 deleted file mode 100644 index 0c5bd5a..0000000 --- a/testbed.ps1 +++ /dev/null @@ -1,161 +0,0 @@ -#Install WinGet -## WinGet should be on any windows 11 install by default -$hasPackageManager = Get-AppPackage -name 'Microsoft.DesktopAppInstaller' -if (!$hasPackageManager -or [version]$hasPackageManager.Version -lt [version]"1.10.0.0") { -"Installing winget Dependencies" -Add-AppxPackage -Path 'https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx' -$releases_url = 'https://api.github.com/repos/microsoft/winget-cli/releases/latest' -[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 -$releases = Invoke-RestMethod -uri $releases_url -$latestRelease = $releases.assets | Where-Object { $_.browser_download_url.EndsWith('msixbundle') } | Select-Object -First 1 -"Installing winget from $($latestRelease.browser_download_url)" -Add-AppxPackage -Path $latestRelease.browser_download_url -} -else { -"winget already installed" -} -do { -do { -#Configure WinGet -Write-Output "Configuring winget" -#winget config path from: https://github.com/microsoft/winget-cli/blob/master/doc/Settings.md#file-location -$settingsPath = "$env:LOCALAPPDATA\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json"; -$settingsJson = -@" -{ -// For documentation on these settings, see: https://aka.ms/winget-settings -"installBehavior": { -"preferences": { -"scope": "machine" -} -} -} -"@; -$settingsJson | Out-File $settingsPath -Encoding utf8 -write-host "1 - Base Apps" -write-host "2 - Game Launchers" -write-host "3 - Desktop only" -write-host "4 - Lenovo Laptop only" -write-host "5 - Remove Crap" -write-host "9 - Exit" -write-host "" -$answer = read-host "Select number(s)" -$ok = $answer -match '[123459]+$' -if ( -not $ok) {write-host "Invalid selection" -Start-Sleep 2 -write-host "" -} -} until ($ok) -switch -Regex ( $answer ) { -"1" { $apps = @( # BASE APPS -@{name = "Microsoft.PowerShell" }, -@{name = "Microsoft.VisualStudioCode" }, -@{name = "Microsoft.PowerToys" }, -@{name = "Git.Git" }, -@{name = "Google.Chrome" }, -@{name = "Google.Drive"}, -@{name = "Hugo.Hugo.Extended"}, -@{name = "Bitwarden.Bitwarden"}, -@{name = "Plex.Plex" }, -@{name = "VivaldiTechnologies.Vivaldi" }, -@{name = "VideoLAN.VLC"}, -@{name = "PointPlanck.FileBot"}, -@{name = "Oracle.VirtualBox"}, -@{name = "NordVPN.NordVPN"}, -@{name = "Facebook.Messenger"}, -@{name = "Microsoft.Office"} -) -Foreach ($app in $apps) { -$listApp = winget list --exact -q $app.name -if (![String]::Join("", $listApp).Contains($app.name)) { -Write-host "Installing:" $app.name -if ($null -ne $app.source) { -winget install --exact $app.name --source $app.source -# winget install --exact --silent $app.name --source $app.source -} -else { -winget install --exact $app.name -# winget install --exact --silent $app.name -} -} -else { -Write-host "Skipping Install of " $app.name -} -} -} -"2" { $apps = @( # Game Launchers -@{name = "ElectronicArts.EADesktop" }, -@{name = "Valve.Steam" }, -@{name = "EpicGames.EpicGamesLauncher" } -) -Foreach ($app in $apps) { -$listApp = winget list --exact -q $app.name -if (![String]::Join("", $listApp).Contains($app.name)) { -Write-host "Installing:" $app.name -if ($null -ne $app.source) { -winget install --exact $app.name --source $app.source -# winget install --exact --silent $app.name --source $app.source -} -else { -winget install --exact $app.name -# winget install --exact --silent $app.name -} -} -else { -Write-host "Skipping Install of " $app.name -} -} -} -"3" { $apps = @( ## DESKTOP -@{name = "SteelSeries.SteelSeriesEngine"}, ## Might want to link this to a second PS script? -@{name = "Corsair.iCUE.4"} ## Might want to link this to a second PS script? -) -Foreach ($app in $apps) { -$listApp = winget list --exact -q $app.name -if (![String]::Join("", $listApp).Contains($app.name)) { -Write-host "Installing:" $app.name -if ($null -ne $app.source) { -winget install --exact $app.name --source $app.source -# winget install --exact --silent $app.name --source $app.source -} -else { -winget install --exact $app.name -# winget install --exact --silent $app.name -} -} -else { -Write-host "Skipping Install of " $app.name -} -} -} -"4" { $apps = @( ## LAPTOP -@{name = "Intel.IntelDriverAndSupportAssistant"}, -@{name = "9WZDNCRFJ4MV"; source = "msstore" } # Lenovo Vantage from MS Store -) -Foreach ($app in $apps) { -$listApp = winget list --exact -q $app.name -if (![String]::Join("", $listApp).Contains($app.name)) { -Write-host "Installing:" $app.name -if ($null -ne $app.source) { -winget install --exact $app.name --source $app.source -} -else { -winget install --exact $app.name -} -} -else { -Write-host "Skipping Install of " $app.name -} -} -} -"5" { ## REMOVE CRAP -Write-Output "Removing Apps" -$apps = "*3DPrint*", "Microsoft.MixedReality.Portal", "Disney.*" ,"Microsoft.BingNews*" ,"*BingWeather*","*.MicrosoftOfficeHub*" , "*MicrosoftSolitaireCollection*" -Foreach ($app in $apps) -{ -Write-host "Uninstalling:" $app -Get-AppxPackage -allusers $app | Remove-AppxPackage -} -} -} -} until ( $answer -match "9" ) \ No newline at end of file