【问题标题】:running ec2config.exe -sysprep remotely using powershell使用 powershell 远程运行 ec2config.exe -sysprep
【发布时间】:2014-09-28 02:17:50
【问题描述】:

我正在完成一个从实例创建 AMI 的过程,为此我需要在关闭机器之前运行 sysprep,然后从中创建一个 AMI。

问题是我使用 powershell 做什么,它不会执行 sysprep。

这就是我现在的调用评论的样子

$securePassword = ConvertTo-SecureString $newAdminPassword -AsPlainText -force
$credential = new-object -typename System.Management.Automation.PsCredential(".\Administrator",$securePassword)
Invoke-Command -ComputerName $hostName -ScriptBlock { Start-Process "C:\Program Files\Amazon\Ec2ConfigService\Ec2Config.exe" -ArgumentList '-sysprep' -NoNewWindow -PassThru  -Verbose -R} -Credential $credential

它不运行这个命令,只是打印出这个输出

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName                    PSComputerName
-------  ------    -----      ----- -----   ------     -- -----------                    --------------
      7       1      252        108     3     0.00   2556 Ec2Config                      10.1.7.254

知道这里有什么问题吗?

【问题讨论】:

    标签: powershell amazon-ec2


    【解决方案1】:

    嗯,该输出表明它正在运行该命令。 Start-Process-Passthru 参数将Process 对象通过管道传递给管道,它不会等待进程终止。

    我想问题是您希望命令在进程完成时等待,以便您可以执行下一项工作,即重新启动计算机并对其进行映像。如果您想等待该过程完成,您可能会发现使用invoke-expression 或仅使用& 运算符来运行Ec2Config.exe 命令会更容易。

    【讨论】:

      猜你喜欢
      • 2017-08-08
      • 2019-02-08
      • 1970-01-01
      • 2011-06-12
      • 2018-05-27
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多