ninja-one/get-onedrive-status.ps1

begin {
}
process {
    try {
        $ProgressPreference = "SilentlyContinue" #performance improvement when using Invoke-WebRequest by hiding progress bar (default value is Continue)

        Write-Host "Downloading ODSyncUtil... to $env:LOCALAPPDATA"
        Invoke-WebRequest -Uri "https://github.com/rodneyviana/ODSyncUtil/releases/download/1.0.6.5000/ODSyncUtil-64-bit.zip" -OutFile "$env:LOCALAPPDATA\ODSyncUtil-64-bit.zip"
        Write-Host "Extracting ODSyncUtil...to $env:LOCALAPPDATA"
        Expand-Archive -Path "$env:LOCALAPPDATA\ODSyncUtil-64-bit.zip" -DestinationPath "$env:LOCALAPPDATA\ODSyncUtil-64-bit" -Force
        Remove-Item -Path "$env:LOCALAPPDATA\ODSyncUtil-64-bit.zip" -Force
        Write-Host "Expanded ODSyncUtil to $env:LOCALAPPDATA\ODSyncUtil-64-bit"
        Write-Host "Running $env:LOCALAPPDATA\ODSyncUtil-64-bit\Get-ODStatus.ps1..."

        Set-Location "$env:LOCALAPPDATA\ODSyncUtil-64-bit" #script for some reason needs to be run from its own directory

        & ".\Get-ODStatus.ps1"

    }
    catch {
        Write-Error $_
        Write-Host "[ERROR] occurred at line number: $($_.InvocationInfo.ScriptLineNumber)"
        exit 1
    }
    exit 0
}
end {

}