Bug fixes
- Add `-UseBasicParsing` flag to release request - Move logs directory creation to server service section - Fix cleanup task only running when the file doesn't exist
This commit is contained in:
parent
4a54e482cd
commit
4e18db759e
@ -21,7 +21,7 @@ param (
|
||||
#>
|
||||
|
||||
begin {
|
||||
$Releases = (Invoke-WebRequest 'https://api.github.com/repos/ar51an/iperf3-win-builds/releases').Content | ConvertFrom-Json | Where-Object { $_.prerelease -eq $false -and $_.draft -eq $false }
|
||||
$Releases = (Invoke-WebRequest 'https://api.github.com/repos/ar51an/iperf3-win-builds/releases' -UseBasicParsing).Content | ConvertFrom-Json | Where-Object { $_.prerelease -eq $false -and $_.draft -eq $false }
|
||||
$ReleaseTag = ($Releases | Select-Object -First 1).tag_name
|
||||
|
||||
$InstallerUrl = "https://github.com/ar51an/iperf3-win-builds/releases/download/$ReleaseTag/iperf-$ReleaseTag-win64.zip"
|
||||
@ -55,11 +55,6 @@ begin {
|
||||
process {
|
||||
if (-not $iPerf3Installed) {
|
||||
Write-Host "Installing iPerf3..."
|
||||
|
||||
# Prep
|
||||
|
||||
# Create the logs directory if it doesn't already exist
|
||||
if (-not (Test-Path -PathType Container (Join-Path -Path $DestinationPath -ChildPath 'logs'))) { New-Item -ItemType Directory -Path (Join-Path -Path $DestinationPath -ChildPath 'logs') | Out-Null }
|
||||
|
||||
# Download
|
||||
try {
|
||||
@ -93,6 +88,13 @@ process {
|
||||
try {
|
||||
Write-Host "Installing server service..."
|
||||
|
||||
$LogPath = Join-Path -Path $DestinationPath -ChildPath 'logs'
|
||||
$LogName = 'service.log'
|
||||
$LogFullName = Join-Path -Path $LogPath -ChildPath $LogName
|
||||
|
||||
# Create the logs directory if it doesn't already exist
|
||||
if (-not (Test-Path -PathType Container $LogPath)) { New-Item -ItemType Directory -Path $LogPath | Out-Null }
|
||||
|
||||
# Install the iperf3server service
|
||||
if ((Get-CimInstance Win32_OperatingSystem).OSArchitecture) {
|
||||
$NssmExecutable = 'C:\Program Files\nssm\win64\nssm.exe'
|
||||
@ -102,8 +104,8 @@ process {
|
||||
& "$NssmExecutable" install iperf3server "$ExecutablePath" "--server --port 5201 --format m --verbose"
|
||||
& "$NssmExecutable" set iperf3server DisplayName "iPerf3 Server" | Out-Null
|
||||
& "$NssmExecutable" set iperf3server Description "iPerf3 is a tool for active measurements of the maximum achievable bandwidth on IP networks." | Out-Null
|
||||
& "$NssmExecutable" set iperf3server AppStdout "$(Join-Path -Path $DestinationPath -ChildPath 'logs\service.log')" | Out-Null
|
||||
& "$NssmExecutable" set iperf3server AppStderr "$(Join-Path -Path $DestinationPath -ChildPath 'logs\service.log')" | Out-Null
|
||||
& "$NssmExecutable" set iperf3server AppStdout "$LogFullName" | Out-Null
|
||||
& "$NssmExecutable" set iperf3server AppStderr "$LogFullName" | Out-Null
|
||||
|
||||
Write-Host "Starting service..."
|
||||
Start-Service -Name iperf3server
|
||||
@ -116,7 +118,7 @@ process {
|
||||
end {
|
||||
# Clean up
|
||||
|
||||
if (-not (Test-Path -Path $ArchivePath)) {
|
||||
if (Test-Path -Path $ArchivePath) {
|
||||
Write-Host "Removing iPerf package download from '$ArchivePath'"
|
||||
Remove-Item -Path $ArchivePath -Force
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user