我目前正在处理Powershell脚本,该脚本应执行以下任务:
我需要检测定制过程的当前状态。可以通过PowerCLI命令获得它吗?
注意:,如果在自定义任务中未完成sysprep和重新启动的情况下继续执行脚本,则以下任务将失败...
如果已经尝试使用power-cli命令wait-tools等待syspep完成。这里的问题是,在sysprep完成之前vmware工具已经可以工作,并且脚本会出错,因为sysprep之后vm仍需要最后一次重启,因此脚本会出错
我什至尝试处理目标机器的最近VI事件。尤其是对事件“ CustomizationStartedEvent”,“ CustomizationSucceeded”和“ CustomizationFailed”做出反应 与等待工具相同的情况是:当sysprep完成并且vm等待最终重启时,将发出“ CustomizationSucceeded”事件
这两个命令均引发错误“ VMTools未运行”或“ WinRM未运行”。
我还尝试使用$GetVMNew.ExtensionData.Guest.ToolsRunningStatus
获取vmware工具状态。但结果与Wait-Tools相同
guestcust.log
内容进行反应日志中的最后一个条目具有与“ CustomizationSucceeded” VI事件相同的时间戳。因此,这将导致重新启动出现相同的计时问题
在sysprep完成并且vm self还没有启动之前就发生域加入
答案 0 :(得分:0)
我不确定您是什么意思CustomizationSpec的状态,无论如何,您都可以使用Get-OSCustomizationSpec
PowerCLI cmdlet来处理CustomizationSpecs:
例如,您可以更改网络地址,设置VM名称等。请参见示例以在克隆过程之前更改规范的IP地址:
Get-OSCustomizationSpec ConfSpecName |
Get-OSCustomizationNicMapping |
Set-OSCustomizationNicMapping -IpMode:"UseStaticIP" -IpAddress 10.0.0.10 `
-SubnetMask "255.255.255.0" -DefaultGateway 10.0.0.254 -Dns 10.0.0.100
查看所有PowerCLI CustomizationSpec Cmdlet:
PS C:\> Get-Command *OS*Spec* | Select Name
Name
----
Get-OSCustomizationSpec
New-OSCustomizationSpec
Remove-OSCustomizationSpec
Set-OSCustomizationSpec
答案 1 :(得分:0)