【发布时间】:2015-07-22 11:58:09
【问题描述】:
我正在尝试在 Windows 2012 R2 机器上使用 Powershell DSC 远程安装 Java Runtime(碰巧是 8 个),但它似乎挂起。
我最初尝试使用 Chocolatey DSC 提供程序安装它,但这给了我一个错误的成功(choco 声称它已安装,但没有解压实际文件)。我把这个事实归结为:http://powershell.org/wp/forums/topic/issue-installing-java-32-bit-using-package-resource/#post-23187
所以我解压了 exe 并提取了两个 java MSI,我的 DSC 配置如下所示:
Package java8x86
{
Ensure = 'Present'
Name = 'Java 8 Update 45'
Path = (Join-Path $localDscFileDir "Java\jre1.8.0_45\jre1.8.0_45.msi")
Arguments = '/s'
ProductId = '26A24AE4-039D-4CA4-87B4-2F83218045F0'
DependsOn = @("[File]javaMsi")
}
([File]javaMsi 将 .msi 文件复制到远程机器上)。
当我生成我的 MOF 和 Start-DscConfiguration 时,输出挂在这些行上:
VERBOSE: [DEVTEST-3U2LN5Q]: [[Package]java8x86] Parsing 26A24AE4-039D-4CA4-87B4-2F83218045F0 as an identifyingNumber
VERBOSE: [DEVTEST-3U2LN5Q]: [[Package]java8x86] Parsed 26A24AE4-039D-4CA4-87B4-2F83218045F0 as {26A24AE4-039D-4CA4-87B4-2F83218045F0}
VERBOSE: [DEVTEST-3U2LN5Q]: [[Package]java8x86] Package configuration starting
VERBOSE: [DEVTEST-3U2LN5Q]: [[Package]java8x86] Starting C:\Windows\system32\msiexec.exe with /i "C:\DscFiles\Java\jre1.8.0_45\jre1.8.0_45.msi" /quiet /s
VERBOSE: [DEVTEST-3U2LN5Q]: [[Package]java8x86] Starting process C:\Windows\system32\msiexec.exe with arguments /i "C:\DscFiles\Java\jre1.8.0_45\jre1.8.0_45.msi" /quiet /s
我什至无法使用 CTRL-C 并且必须转到远程计算机并终止 Windows Installer 进程以导致 Start-DscConfiguration 失败
我快要崩溃了……现在是 2015 年,我无法远程设置 Windows 机器!这些技术承诺了这么多....
【问题讨论】:
-
如果您输入 Arguments = "/s /L*v c:\somepath.log",您可能可以从 msiexec 获得更多日志记录。它不会解决问题,但它可能有助于查明实际挂起的内容。
-
不高兴...日志文件已创建,但它是空的...
-
问题必须与 MSI 本身有关...我在完全无头远程安装 Sql Server 时没有遇到任何问题。
-
没有具体的想法,但你可以listen to the soothing voiceover on this video 用进程监视器解决它:)
-
谢谢鲁本...... JRE 要求是我讨厌 Jenkins 的原因之一......
标签: powershell dsc