2
我開發了一個安裝Java Server JRE並註冊環境變量的PowerShell腳本。它在我通過PowerShell ISE運行時起作用,但如果我嘗試遠程執行PowerShell,則會失敗。我通過Azure自動化將腳本作爲CSE附加到所需的VM來遠程執行。Java服務器JRE未通過遠程PowerShell安裝註冊。使用PowerShell ISE
奇怪的部分是遠程PowerShell安裝顯示環境變量。如果我打開環境變量GUI編輯/保存,然後編輯並保存回正確的路徑開始工作(例如編輯並添加\ bin並保存,編輯和刪除\ bin並保存)。通過腳本的本地PowerShell ISE執行,我不必這樣做,它就可以工作。我是否缺少某種註冊步驟來獲取Java Server JRE?
$solrPath = "C:\Solr"
# Get Zip file containing Java Server JRE from CDN
Invoke-WebRequest -Uri 'http://mycdn.com/Solr/Downloads/jdk1.8.0_144.zip' -OutFile C:\mydir\java.zip
Write-Output "Java Server JRE Zip file downloaded from CDN"
# Unzip Java Server JRE Directory
Expand-Archive -Path C:\mydir\java.zip -DestinationPath $solrPath -Force
Write-Output "Java Server JRE Zip file extracted"
# Set Java Path and Home Environmental Variables
# Add the PATH environment variable to point to the Java Directory Bin
$oldpath = (Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
$newpath = 「$oldpath;$solrPath\jdk1.8.0_144\jre\bin」
Set-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH –Value $newpath
$donepath = (Get-ItemProperty -Path ‘Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment’ -Name PATH).path
Write-host "Validation; new value set to $donepath"
您的ISE會話是否以管理員身份運行? – TheIncorrigible1
是的。我需要使用另一種方法調用遠程腳本嗎?我正在使用Azure自動化來遠程執行,因此應該以Admin身份運行,對嗎? – Kode
您是否使用相同憑據創建遠程會話?你使用'PSSession'還是其他一些方法? – TheIncorrigible1