Added -Force switch

This commit is contained in:
Aaron Viehl 2022-02-05 11:40:40 +01:00
parent ea0323d8ec
commit 83743197e9

View File

@ -13,6 +13,8 @@
Will supress the reboot after finishing the script. Will supress the reboot after finishing the script.
.PARAMETER UseSetupRemoval .PARAMETER UseSetupRemoval
Will use the setup methode to remove current Office installations instead of SaRA. Will use the setup methode to remove current Office installations instead of SaRA.
.PARAMETER Force
Skip user-input.
.INPUTS .INPUTS
None None
.OUTPUTS .OUTPUTS
@ -30,7 +32,8 @@
Param ( Param (
[switch]$InstallOffice365 = $False, [switch]$InstallOffice365 = $False,
[switch]$SupressReboot = $False, [switch]$SupressReboot = $False,
[switch]$UseSetupRemoval = $False [switch]$UseSetupRemoval = $False,
[Switch]$Force = $False
) )
#----------------------------------------------------------[Declarations]---------------------------------------------------------- #----------------------------------------------------------[Declarations]----------------------------------------------------------
@ -41,9 +44,13 @@ $SaRA_EXE = "$SaRA_DIR\SaRAcmd.exe"
$Office365Setup_URL = "https://github.com/Admonstrator/msoffice-removal-tool/raw/main/office365-installer" $Office365Setup_URL = "https://github.com/Admonstrator/msoffice-removal-tool/raw/main/office365-installer"
#-----------------------------------------------------------[Functions]------------------------------------------------------------ #-----------------------------------------------------------[Functions]------------------------------------------------------------
Function Invoke-OfficeUninstall { Function Invoke-OfficeUninstall {
if (-Not (Test-Path "$SaRA_DIR")) {
New-Item "$SaRA_DIR" -ItemType Directory
}
if ($UseSetupRemoval) { if ($UseSetupRemoval) {
Write-Host "Invoking default setup methode ..." Write-Host "Invoking default setup methode ..."
Invoke-SetupOffice365 "$Office365Setup_URL\purge.xml" Invoke-SetupOffice365 "$Office365Setup_URL/purge.xml"
}
else { else {
Write-Host "Invoking SaRA methode ..." Write-Host "Invoking SaRA methode ..."
Remove-SaRA Remove-SaRA
@ -52,7 +59,6 @@ Function Invoke-OfficeUninstall {
Write-Host "Removing Office installations ..." Write-Host "Removing Office installations ..."
Invoke-SaRA Invoke-SaRA
} }
}
} }
Function Invoke-SaRADownload { Function Invoke-SaRADownload {
Start-BitsTransfer -Source "$SaRA_URL" -Destination "$SaRA_ZIP" Start-BitsTransfer -Source "$SaRA_URL" -Destination "$SaRA_ZIP"
@ -125,7 +131,7 @@ Function Invoke-SaRA {
Function Invoke-SetupOffice365($Office365ConfigFile) { Function Invoke-SetupOffice365($Office365ConfigFile) {
if ($InstallOffice365) { if ($InstallOffice365) {
Write-Host "Downloading Office365 Installer ..." Write-Host "Downloading Office365 Installer ..."
Start-BitsTransfer -Source "$Office365Setup_URL\setup.exe" -Destination "$SaRA_DIR\setup.exe" Start-BitsTransfer -Source "$Office365Setup_URL/setup.exe" -Destination "$SaRA_DIR\setup.exe"
Start-BitsTransfer -Source "$Office365ConfigFile" -Destination "$SaRA_DIR\config.xml" Start-BitsTransfer -Source "$Office365ConfigFile" -Destination "$SaRA_DIR\config.xml"
Write-Host "Executing Office365 Setup ..." Write-Host "Executing Office365 Setup ..."
$OfficeSetup = Start-Process -FilePath "$SaRA_DIR\setup.exe" -ArgumentList "/configure $SaRA_DIR\config.xml" -Wait -PassThru -NoNewWindow $OfficeSetup = Start-Process -FilePath "$SaRA_DIR\setup.exe" -ArgumentList "/configure $SaRA_DIR\config.xml" -Wait -PassThru -NoNewWindow
@ -158,9 +164,18 @@ Write-Host "Microsoft Office Removal Tool"
Write-Host "by Aaron Viehl (101 Frankfurt)" Write-Host "by Aaron Viehl (101 Frankfurt)"
Write-Host "einsnulleins.de" Write-Host "einsnulleins.de"
Write-Host "" Write-Host ""
if (-Not $Force) {
do {
$YesOrNo = Read-Host "Are you sure you want to remove Office from this PC? (y/n)"
} while ("y", "n" -notcontains $YesOrNo)
if ($YesOrNo -eq "n") {
exit 1
}
}
Stop-OfficeProcess Stop-OfficeProcess
Invoke-OfficeUninstall Invoke-OfficeUninstall
Invoke-SetupOffice365 "$Office365Setup_URL\upgrade.xml" Invoke-SetupOffice365 "$Office365Setup_URL/upgrade.xml"
Invoke-Reboot Invoke-Reboot