Если загрузка все равно происходит, значит, проверка не работает должным образом.
Я внес несколько изменений, как вы можете видеть, некоторые исправления синтаксиса и т. Д. c.
Тем не менее, конечно, я не могу проверить это, поскольку я не знаю, что находится в вашем $ IntranetTextFile, и при этом у меня нет аналогичной среды для проверки.
$JavaVersion = 'java.version=11.0.6'
$Folder = "C:\Users\$env:UserName\test\java"
$IntranetUrl = 'http://10.1.48.25/test/version.txt'
$IntranetTextFile = "C:\Users\$env:UserName\test\java\version.txt"
$JavaDownloadPath = 'http://10.1.48.25/test/install/Inst_20.05.00.01/testDesktop/OpenJDK11U-jdk_x64_windows_hotspot_11.0.6_10.zip'
$JavaZipFilePath = "C:\Users\$env:UserName\test\java\openjdk-11+28_windows-x64_bin.zip"
$ExpandArchivePath = "C:\Users\$env:UserName\test\java\*.zip"
$ExpandArchiveDestinationPath = "C:\Users\$env:UserName\test\java"
# create java version directory in C:\Users\$env:UserName\test\java if it does not exist
if (-not (Test-Path $Folder))
{
try
{
New-Item -Path $Folder -ItemType Directory -ErrorAction Stop |
Out-Null #-Force
}
catch
{
$WriteErrorSplat = @{
Message = "Unable to create directory C:\Program Files\$Folder. Error was: $_"
ErrorAction = 'Stop'
}
Write-Error @WriteErrorSplat
}
}
# Download text file from intranet
$InvokeWebRequestSplat = @{
Uri = 'http://10.1.48.25/test/version.txt'
OutFile = "C:\Users\$env:UserName\test\java\version.txt"
}
Invoke-WebRequest @InvokeWebRequestSplat
# Check java version from version.txt
If ((Get-Content $IntranetTextFile) -match $JavaVersion)
{Write-Warning -Message 'Java Version already exits. Download not needed.'}
else {Invoke-WebRequest $JavaDownloadPath -OutFile $JavaZipFilePath}
#Extract the zip file in C:\Users\$env:UserName\test\java\jdk-11.0.6
if (-not (Test-Path "C:\Users\$env:UserName\test\java\jdk-11"))
{
$ExpandArchiveSplat = @{
Path = "C:\Users\$env:UserName\test\java\openjdk-11+28_windows-x64_bin.zip"
DestinationPath = "C:\Users\$env:UserName\test\java"
}
}
Expand-Archive @ExpandArchiveSplat
# Copy the JDK zip file to C:\Program Files\Java
Copy-Item -Path '.\*.zip' -Destination $ExpandArchiveDestinationPath -force
#Delete the zip file after extraction
Remove-Item $JavaZipFilePath -Force