An Azure service that is used to provision Windows and Linux virtual machines.
Update your code to this, and it should work.
provisioner "powershell" {
inline = ["New-Item -ItemType Directory -Path 'c:/Java'",
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12",
"Invoke-RestMethod -uri 'https://download.oracle.com/java/21/latest/jdk-21_windows-x64_bin.msi' -OutFile 'c:/Java/jdk-21_windows-x64_bin.msi'",
"Start-Process msiexec.exe -Wait -ArgumentList '/I c:\\Java\\jdk-21_windows-x64_bin.msi /quiet'",
"[System.Environment]::SetEnvironmentVariable('JAVA_HOME','C:/Program Files/Java/jdk-21/bin','Machine')",
"Write-Host $Env:JAVA_HOME 'has been added to the environmental variable JAVA_HOME'"
]
}