Files
management-scripts/Install-ESETManagementAgent.ps1
T

40 lines
1.6 KiB
PowerShell

# NOTE: The $CONFIG variable must be set by the calling script
# Set path to temp directory
$TEMPDIR = '{0}eset-protect-deployment' -f (Get-TempPath)
# Recursively delete $TEMPDIR if it already exists
If ( Test-Path $TEMPDIR ) {
LogMsg """${TEMPDIR}"" already exists and will be deleted"
Try { Remove-Item -Path $TEMPDIR -Recurse -Force -ErrorAction SilentlyContinue }
Catch { LogErr $_.Exception.Message }
}
# Create $TEMPDIR
LogMsg "Creating: ${TEMPDIR}"
Try { New-Item -Path $TEMPDIR -ItemType Directory -Force -ErrorAction Stop }
Catch { LogErr $_.Exception.Message ; Exit }
# Write $CONFIG to install_config.ini
Try { $CONFIG | WriteToFile_UTF8NoBOM -FilePath "${TEMPDIR}\install_config.ini" }
Catch { LogMsg "Cannot write configuration file! This script will exit." ; LogErr $_.Exception.Message ; Exit }
# Get bitness of endpoint and set $AGENTNAME
If ( Is64bit ) { $AGENTNAME = "agent_x64.msi" } Else { $AGENTNAME = "agent_x86.msi" }
# Download the installer
$INSTALLER = "${TEMPDIR}\${AGENTNAME}"
$URL = 'https://download.eset.com/com/eset/apps/business/era/agent/latest/{0}' -f $AGENTNAME
LogMsg "Downloading ESET Management Agent"
Download-File -URL $URL -File $INSTALLER
# Install the app
LogMsg "Installing ESET Management Agent from ""${INSTALLER}"""
Try { Start-Process "msiexec.exe" -ArgumentList "/i ${INSTALLER} /qn /norestart /log installer.log" -Wait }
Catch { LogErr $_.Exception.Message }
# Delete the installer
LogMsg "Deleting temp directory and its contents"
Try { Remove-Item -Path $TEMPDIR -Recurse -Force -ErrorAction SilentlyContinue }
Catch { LogErr $_.Exception.Message }