Установить java home на windows уровень реестра - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь выполнить PowerShell или командный файл на удаленном WIndows 2012 сервере, чтобы постоянно устанавливать java home & path на системном уровне. Я из Linux происхождения, поэтому мне было сложно найти решение.

Я попробовал ниже powershell на своем локальном компьютере, но бесполезно, я не вижу JAVA на Пути или создана системная переменная JAVA_HOME.

install_ java .ps1

[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\myfolder\ZuluJDK8")

$oldSysPath = (Get-Itemproperty -path 'hklm:\system\currentcontrolset\control\session manager\environment' -Name Path).Path
$newSysPath = $oldSysPath + ";$($Env:JAVA_HOME)\bin"

Set-ItemProperty -path 'hklm:\system\currentcontrolset\control\session manager\environment' -Name Path -Value $newSysPath 

Я сослался на https://sites.google.com/site/forthenerdwithin/cool-scripts/cool-command-scripts, но мне показалось, что это излишнее значение для моей цели.

Ответы [ 2 ]

1 голос
/ 21 апреля 2020

Для постоянной установки переменных среды используйте параметр [EnvironmentVariableTarget]::Machine (для краткости просто строку «Машина»)

# set the JAVA_HOME environment variable
$javaPath = 'C:\myfolder\ZuluJDK8'
[Environment]::SetEnvironmentVariable("JAVA_HOME", $javaPath, "Machine")

# get the current PATH string, split it on ';' and add the new path to the array
$newPath = ([Environment]::GetEnvironmentVariable("Path", "Machine") -split ';' | 
             Where-Object { $_ -match '\S' }) + "$javaPath\bin" | Select-Object -Unique

# set the updated PATH environment variable by joining the array back again with ';'
[Environment]::SetEnvironmentVariable("Path", ($newPath -join ';'), "Machine")

Надеюсь, это поможет

0 голосов
/ 21 апреля 2020

Установка переменной среды напрямую через реестр работает, но вам придется снова войти в систему, чтобы увидеть эффект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...