在重新启动的远程计算机上调用命令

问题描述 投票:0回答:1

我正在构建执行以下操作的脚本

  1. 使用Powershell远程从Hyper-V连接到新创建的VM模板
  2. 更改IP
  3. 更改计算机名
  4. 重新启动计算机名称才能生效
  5. 安装广告角色
  6. 创建域

大多数步骤似乎都有效,我只停留在步骤4上。

我使用以下行。

Invoke-Command -FilePath C:\Support\createdomain.ps1 -VMName TEMPLATE-DC

要求提供VM的凭据,然后继续进行操作。直到重新启动。

Restart-Computer -Wait -For PowerShell -Timeout 300 -Delay 2

我也尝试过以下操作,这将重新启动VM,但也会停止Powershell会话,并且不运行启动睡眠

Restart-Computer -Force
Start-Sleep -s 300

所以我的问题是:如何在远程计算机(在本例中为VM)上运行Powershell脚本。并重新启动并等待直到重新启动才能恢复脚本?

这是我得到的错误

The background process reported an error with the following message: "The Hyper-V socket target process has ended.".
+ CategoryInfo          : OperationStopped: (TEMPLATE-DC:String) [], PSRemotingTransportException
+ FullyQualifiedErrorId : JobFailure
+ PSComputerName        : TEMPLATE-DC
powershell reboot
1个回答
0
投票
我建议将该脚本分成三部分。

    更新系统名称和IP地址
    • 等待,直到可以通过循环访问系统。在继续操作之前,请确保可以访问虚拟机
  1. 可访问代理后重新连接并重新引导。
    • 调用命令以重新引导系统。
  2. 等待系统再次访问。访问虚拟机后,
  3. 安装角色并配置域。
© www.soinside.com 2019 - 2024. All rights reserved.