2017-08-17 133 views
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" 
+0

您的ISE會話是否以管理員身份運行? – TheIncorrigible1

+0

是的。我需要使用另一種方法調用遠程腳本嗎?我正在使用Azure自動化來遠程執行,因此應該以Admin身份運行,對嗎? – Kode

+0

您是否使用相同憑據創建遠程會話?你使用'PSSession'還是其他一些方法? – TheIncorrigible1

回答

0

它最終成爲我的腳本的另一部分的問題。一旦我糾正了這一點,Java就能正確安裝。