大佬教程收集整理的这篇文章主要介绍了Powershell 似乎跳过语句,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用 PS 脚本来控制远程机器上的服务。这基本上有效。
真正让我感到困惑的是,有时会发生脚本块中第二个 Write-Host@H_262_6@ 语句的输出在日志中丢失的情况。日志读起来好像它没有被执行。脚本块的以下语句按其应有的方式执行。
我怀疑正是这种情况让我最终进入了调用的 catch@H_262_6@ 块,因为我没有任何其他错误指示符。
你能帮我理解为什么我在脚本块中看不到第二个 Write-Host@H_262_6@ 语句的输出吗?
我怀疑 Stop-service@H_262_6@ 语句失败了,尽管我在控制台输出中没有看到问题。
可能是什么原因导致 Invoke-Script@H_262_6@ 语句失败,所以我最终进入
catch@H_262_6@ 块,尽管它一直执行到最后一条语句?
--谢谢!
@H_450_28@ $scriptblock = {
[...]
$service=Get-service -name $Using:CoreServerservic@R_801_8371@ -ErrOraction Ignore
Write-Host "INFO: StopPing $($service.displayName),status $($service.Status) ..."
Stop-service $service
Write-Host "INFO: service $($service.displayName) is Now $($service.Status)." # SKIPPED?
Write-Host "INFO: SleePing 5 s before checking process..."
[...]
Write-Host "INFO: StarTing $($service.displayName) ..."
Start-service $service
Write-Host "INFO: service $($service.displayName) is Now $($service.Status)."
}
try {
Write-Host "INFO: Invoking preparation script on remote machine... --------------------------------"
$result = Invoke-Command -Computername $vm.Guest.Ipaddress[0] -Credential $cred -ErrOraction Stop -ScriptBlock $scriptblock
Write-Host "INFO: result: $result"
Write-Host "INFO: Preparation script succeeded on remote machine. ---------------------------------"
} catch {
Write-Host "WARNING: result: $result"
Write-Error "ERROR: Preparation script Failed on remote machine. ----------------------------------"
exit 1
}
@H_262_6@
如果正常则输出:
@H_450_28@08:45:25 INFO: StopPing displayname ...
08:45:27 WARNING: WaiTing for service 'displayname (serviceName)' to stop...
08:45:29 WARNING: WaiTing for service 'displayname (serviceName)' to stop...
08:45:31 WARNING: WaiTing for service 'displayname (serviceName)' to stop...
08:45:34 WARNING: WaiTing for service 'displayname (serviceName)' to stop...
08:45:36 WARNING: WaiTing for service 'displayname (serviceName)' to stop...
08:45:36 INFO: service displayname is Now Stopped.
08:45:36 INFO: SleePing 5 s before checking process...
[...]
08:46:47 INFO: StarTing displayname ...
08:46:54 WARNING: WaiTing for service 'displayname (serviceName)' to start...
08:46:57 WARNING: WaiTing for service 'displayname (serviceName)' to start...
08:46:59 WARNING: WaiTing for service 'displayname (serviceName)' to start...
08:47:01 WARNING: WaiTing for service 'displayname (serviceName)' to start...
08:47:03 WARNING: WaiTing for service 'displayname (serviceName)' to start...
08:47:05 INFO: service displayname is Now Running.
08:47:05 INFO: result:
08:47:05 INFO: Preparation script succeeded on remote machine. ---------------------------------
@H_262_6@
如果不正常则输出:
@H_450_28@08:55:04 INFO: StopPing displayname ...
08:55:07 WARNING: WaiTing for service 'displayname (serviceName)' to stop...
08:55:09 INFO: SleePing 5 s before checking process...
[...]
08:56:31 INFO: StarTing displayname ...
08:56:34 WARNING: WaiTing for service 'displayname (serviceName)' to start...
08:56:36 WARNING: WaiTing for service 'displayname (serviceName)' to start...
08:56:38 WARNING: WaiTing for service 'displayname (serviceName)' to start...
08:56:40 WARNING: WaiTing for service 'displayname (serviceName)' to start...
08:56:42 WARNING: WaiTing for service 'displayname (serviceName)' to start...
08:56:44 WARNING: WaiTing for service 'displayname (serviceName)' to start...
08:56:45 INFO: service displayname is Now Running.
08:56:45 WARNING: result:
08:56:46 Prepare-TestVM : ERROR: Preparation script Failed on remote machine. ----------------------------------
@H_262_6@
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
大佬总结
以上是大佬教程为你收集整理的Powershell 似乎跳过语句全部内容,希望文章能够帮你解决Powershell 似乎跳过语句所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。