From 60df390c1b9f8a58b5c73d154db901400ffc6a9e Mon Sep 17 00:00:00 2001 From: David Yoder Date: Fri, 19 Jan 2024 21:39:13 -0500 Subject: [PATCH] guard to exit script if agent is installed --- Install-EmberkomCloudBackup.ps1 | 52 ++++++++++++++++----------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/Install-EmberkomCloudBackup.ps1 b/Install-EmberkomCloudBackup.ps1 index 138747a..a093e5b 100644 --- a/Install-EmberkomCloudBackup.ps1 +++ b/Install-EmberkomCloudBackup.ps1 @@ -15,35 +15,33 @@ switch ( $Edition.ToLower() ) { # Install and import additional Powershell module Import-MSP360Module -# Install the agent if it's not currently installed -If ( -not $(Get-MBSAgent) ) { - - # Download the installer - $Installer = Download-File -URL $URL - - # Install the agent - Write-Output "Installing Emberkom Cloud Backup agent" - Try { Start-Process "${Installer}" -ArgumentList "/S" -Wait } - Catch { Write-Error $_.Exception.Message } - - # Add backup user to installed product - Try { - $MSP360Password = ConvertTo-SecureString -string $MSP360Password -AsPlainText -Force - Write-Output "Adding backup user account: ${MSP360Username}" - Add-MBSUserAccount -User $MSP360Username -Password $MSP360Password - } - Catch { Write-Error $_.Exception.Message } - - # Wait a few seconds to let the agent check-in - Start-Sleep -Seconds 10 - - # Set the agent edition - # Note: the product edition must be set *after* the user is added - Write-Output "Setting Emberkom Cloud Backup agent edition to ""$AgentEdition""" - Try { Set-MBSAgentSetting -Edition $AgentEdition -Verbose } - Catch { Write-Error $_.Exception.Message } +# Exit this script if the agent is already installed +If ( $(Get-MBSAgent) ) { + Microsoft.Powershell.Utility\Write-Output "Backup agent is already installed. This script will now exit." + Return } +# Download the installer +$Installer = Download-File -URL $URL +# Install the agent +Write-Output "Installing Emberkom Cloud Backup agent" +Try { Start-Process "${Installer}" -ArgumentList "/S" -Wait } +Catch { Write-Error $_.Exception.Message } +# Add backup user to installed product +Try { + $MSP360Password = ConvertTo-SecureString -string $MSP360Password -AsPlainText -Force + Write-Output "Adding backup user account: ${MSP360Username}" + Add-MBSUserAccount -User $MSP360Username -Password $MSP360Password +} +Catch { Write-Error $_.Exception.Message } +# Wait a few seconds to let the agent check-in +Start-Sleep -Seconds 10 +# Set the agent edition +# Note: the product edition must be set *after* the user is added +Write-Output "Setting Emberkom Cloud Backup agent edition to ""$AgentEdition""" +Try { Set-MBSAgentSetting -Edition $AgentEdition -Verbose } +Catch { Write-Error $_.Exception.Message } + # Delete the desktop icon If ( Test-Path "${Env:PUBLIC}\Desktop\Emberkom Backup.LNK" ) { Remove-Item -Path "${Env:PUBLIC}\Desktop\Emberkom Backup.LNK" -Force -ErrorAction SilentlyContinue } If ( Test-Path "${Env:PUBLIC}\Desktop\Emberkom Cloud Backup.LNK" ) { Remove-Item -Path "${Env:PUBLIC}\Desktop\Emberkom Cloud Backup.LNK" -Force -ErrorAction SilentlyContinue }