2

我正在尝试在 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 机器!这些技术承诺了这么多......

4

4 回答 4

1

删除线

参数 = '/s'

否则添加

参数 = '/q'

于 2015-07-28T13:39:50.317 回答
1

一年后,我似乎有了解决办法。不确定最初的问题是否与我正在安装的安装程序版本有关..但这似乎对我有用 - 目前:

    xRemoteFile javaInstaller {
        DestinationPath = (Join-Path $localDscFileDir "Java\jreInstaller.exe")
        Uri = "http://javadl.oracle.com/webapps/download/AutoDL?BundleId=211999"
    }
    Package java8
    {
        Ensure = 'Present'
        Name = 'Java 8'
        Path = (Join-Path $localDscFileDir "Java\jreInstaller.exe")
        Arguments = '/s REBOOT=0 SPONSORS=0 REMOVEOUTOFDATEJRES=1 INSTALL_SILENT=1 AUTO_UPDATE=0 EULA=0 /l*v "C:\DscFiles\Java\jreInstaller.exe.log"' #From https://powershell.org/forums/topic/issue-installing-java-32-bit-using-package-resource/#post-39206
        ProductId = '26A24AE4-039D-4CA4-87B4-2F64180101F0'
        DependsOn = @("[xRemoteFile]javaInstaller")         
    }

顺便说一句,该下载网址对应于 jre-8u101-windows-x64.exe

于 2016-08-12T12:13:32.417 回答
0

对于它的价值,我成功地安装了 JDK 7:

Package Java
{
    Ensure = 'Present'
    Name = "Java 7 Update 72 (64-bit)"
    Path = "${InstallerPath}\jdk-7u72-windows-x64.exe"
    ProductId = '64A3A4F4-B792-11D6-A78A-00B0D0170720'
    Arguments = "/s STATIC=1 WEB_JAVA=0"
}

干杯,安德鲁

于 2015-09-26T02:38:47.137 回答
0

除了以上。

过去经历过这种情况。通过 DSC 安装 MSI/EXE,如果您没有传递正确的 [参数],它会挂起,直到远程机器上的所有线程都被杀死。

杀死所有线程,下次运行 conf 时,强制配置!
启动 dscConf -force

于 2016-02-09T13:39:16.473 回答