. 'C:\Users\dyoder\Documents\Emberkom\Data\Projects\development\management-scripts\Tools.ps1' ## Make sure we have an administrative token If ( IsAdmin ) { $URL = 'https://lfupdate.s3.amazonaws.com/clients/windows_cli/LiquidFilesCLI-2.0.128.zip' ## Filename we'll download to $FILENAME = Split-Path -Leaf $URL ## Full path for the downloaded zip file $ZIP = "${Global:ToolsDirectory}\${FILENAME}" ## Once we extract the zip file, this will be the exe name inside $EXE = '{0}.exe' -f [System.IO.Path]::GetFileNameWithoutExtension($FILENAME) ## Delete the zip file if it already exists If ( Test-Path $ZIP ) { LogMsg "Deleting existing file: ${ZIP}" Try { Remove-Item $ZIP -Force } Catch { LogErr $_.Exception.Message } } ## Delete the exe file if it already exists If ( Test-Path $EXE ) { LogMsg "Deleting existing file: ${EXE}" Try { Remove-Item $EXE -Force } Catch { LogErr $_.Exception.Message } } ## Download and unzip LiquidFiles CLI utility Download-File -URL $URL -File $ZIP Unzip-Object $ZIP ## Set the properties for the message $From = $Env:COMPUTERNAME $Subject = [System.IO.Path]::GetFileNameWithoutExtension($ZIP) $Message = "" ## Create the path to $FileToUpload and zip the specified directory if necessary If ( $(Get-Item $DataToUpload) -is [System.IO.DirectoryInfo] ) { $FileToUpload = '{0}\{1}.zip' -f $Global:OutputDirectory,$(Split-Path -Leaf $path) Zip-Object -path $DataToUpload -dest $FileToUpload } Else { $FileToUpload = $DataToUpload } If ( Test-Path $FileToUpload ) { LogMsg "Uploading ""${FileToUpload}""" Try { Start-Process "${EXE}" -ArgumentList "filedrop /url:xfer.emberkom.net /from:""${From}"" /subject:""${Subject}"" /msg:""${Message}"" /c:n /deleteAfterUpload /f:""${ZIP}""" -Wait } Catch { LogErr $_.Exception.Message } } Else { LogMsg "The specified file does not exist: ""${FileToUpload}""" } } Else { LogMsg "Must be an administrator to upload files" }