diff --git a/Test-InternetBandwidth.ps1 b/Test-InternetBandwidth.ps1 index e69de29..8e49356 100644 --- a/Test-InternetBandwidth.ps1 +++ b/Test-InternetBandwidth.ps1 @@ -0,0 +1,52 @@ +. 'C:\Users\dyoder\Emberkom\Data\Projects\development\management-scripts\Tools.ps1' + +## Specify URL to SpeedTest CLI app +$URL = 'https://install.speedtest.net/app/cli/ookla-speedtest-1.0.0-win64.zip' + +## Specify output file to write data to +$CurrentDateTime = Get-Date -Format "yyyyMMddHHmmssffff" +$OUTPUT = "${OutputDirectory}\${CurrentDateTime}_SpeedTest.csv" + +## Download the app from the URL +$ZIPFILE = Download-File -URL $URL + +## Setup the directory to extract the downloaded zip file to +$WORKINGDIR = $ZIPFILE.Substring(0, $ZIPFILE.LastIndexOf('.')) +If ( Test-Path $WORKINGDIR ) { + LogMsg "Deleting existing directory: ""$WORKINGDIR""" + Try { Remove-Item -Path $WORKINGDIR -Recurse -Force } + Catch { LogErr $_.Exception.Message } +} +LogMsg "Creating new directory: ""$WORKINGDIR""" +Try { New-Item -Path $WORKINGDIR -ItemType Directory -Force | Out-Null } +Catch { LogErr $_.Exception.Message } + +## Extract $ZIPFILE to $WORKINGDIR +Try { + Add-Type -Assembly “System.IO.Compression.FileSystem” + [IO.Compression.ZipFile]::ExtractToDirectory($ZIPFILE, $WORKINGDIR) +} +Catch { LogErr $_.Exception.Message } + +## Run the SpeedTest CLI app +$SPEEDTEST = "${WORKINGDIR}\speedtest.exe" +If ( Test-Path $SPEEDTEST ) { + Try { Start-Process $SPEEDTEST -ArgumentList "--progress=no --selection-details --output-header --format=csv" -PassThru -Wait -RedirectStandardOutput $OUTPUT } + Catch { LogErr $_.Exception.Message } +} Else { LogMsg "The file does not exist at the expected path: ""${SPEEDTEST}""" } + +## Process the results + + +## Cleanup files and directories created by this script +If ( Test-Path $ZIPFILE ) { + LogMsg "Deleting downloaded zip file: ""$ZIPFILE""" + Try { Remove-Item -Path $ZIPFILE -Force } + Catch { LogErr $_.Exception.Message } +} Else { LogMsg "Downloaded zip file no longer exists: ""$ZIPFILE""" } + +If ( Test-Path $WORKINGDIR ) { + LogMsg "Deleting directory from extracted zip file: ""$WORKINGDIR""" + Try { Remove-Item -Path $WORKINGDIR -Recurse -Force } + Catch { LogErr $_.Exception.Message } +} Else { LogMsg "Directory from extracted zip file no longer exists: ""$WORKINGDIR""" } \ No newline at end of file diff --git a/Tools.ps1 b/Tools.ps1 index 7f1ec78..c1a686f 100644 --- a/Tools.ps1 +++ b/Tools.ps1 @@ -2,14 +2,14 @@ $MSPName = "Emberkom" ## Setup the MSP management directories -If ( Test-Path ${Env:ProgramData} ) {$RootDirectory = "${Env:ProgramData}\${MSPName}" } Else { $RootDirectory = "${Env:SystemDrive}\${MSPName}" } +If ( Test-Path ${Env:ProgramData} ) { $RootDirectory = "${Env:ProgramData}\${MSPName}" } Else { $RootDirectory = "${Env:SystemDrive}\${MSPName}" } $ScriptsDirectory = "${RootDirectory}\Scripts" $OutputDirectory = "${RootDirectory}\Output" $ToolsDirectory = "${RootDirectory}\Tools" $LogsDirectory = "${RootDirectory}\Logs" ## Make sure all the management directories exist -$RootDirectory, $ScriptsDirectory, $ToolsDirectory, $LogsDirectory | ForEach-Object { +$RootDirectory, $ScriptsDirectory, $OutputDirectory, $ToolsDirectory, $LogsDirectory | ForEach-Object { If ( !(Test-Path $_) ) { Try { New-Item -Path $_ -ItemType Directory -Force -ErrorAction SilentlyContinue | Out-Null } Catch { Write-Output $_.Exception.Message } diff --git a/Uninstall-NCentralComponents.ps1 b/Uninstall-NCentralComponents.ps1 index ad2cab2..c2efcea 100644 --- a/Uninstall-NCentralComponents.ps1 +++ b/Uninstall-NCentralComponents.ps1 @@ -1,4 +1,5 @@ -## Remove N-Central Patch Management Service Controller + +## Remove N-Central Patch Management Service Controller If ( Test-Path "${Env:ProgramFiles(x86)}\MspPlatform\PME\unins000.exe" ) { LogMsg "Uninstalling N-Central Patch Management Service Controller" Try { Start-Process "${Env:ProgramFiles(x86)}\MspPlatform\PME\unins000.exe" -ArgumentList "/SILENT" -Wait }