gpt4 book ai didi

windows - 任务运行时等待?/任务完成后跳转到下一行?

转载 作者:可可西里 更新时间:2023-11-01 10:08:04 25 4
gpt4 key购买 nike

我看到很多关于 powershell + 等待进程结束的主题,但不知何故它对我不起作用。我有这个:

Add-PsSnapin Microsoft.SharePoint.Powershell

Add-SPSolution sol.wsp

Install-SPSolution -identity $sol -GACDeployment

Install-SPFeature "feature"

我想做的是添加一个新的 Sharepoint (2010) 解决方案,然后我尝试安装一个解决方案,最后我尝试安装功能。

最后一个失败了,因为解决方案的安装花费了更长的时间,但他已经在尝试安装该功能。我收到错误 Install-SPFeature : Failed to find the XML file at location 如果我再次启动脚本,则可以安装该功能。我怎样才能改变我的脚本来处理这个问题?好的,我可以使用 Start-Sleep -s 2 或其他东西,但这不是最好的方法。 | Out-Null-Wait 也不起作用。我认为那是因为该过程或任何它已经完成,但 Windows 需要几秒钟才能意识到该解决方案已安装。有任何想法吗?谢谢

最佳答案

这是我使用的部署脚本的一个片段:

Write-Host "Deploying solution: $SolutionPackageName"
$Solution = Get-SPSolution | ? {($_.Name -eq $SolutionPackageName) -and ($_.Deployed -eq $false)}
Install-SPSolution -Identity $SolutionPackageName -GACDeployment -Confirm:$false -force
$index = 0
[DateTime] $startingTime = [DateTime]::Now.AddMinutes(2)
while($Solution.JobExists)
{
$index++
if($startingTime -lt [DateTime]::Now)
{
Write-Host "Deployment job: $SolutionPackageName failed. Deployed = $Solution.Deployed, Index = $index"
break
}
Write-Host "Deployment job: $SolutionPackageName is still running. Deployed = $Solution.Deployed, Index = $index"
Start-Sleep -s 5
$Solution = Get-SPSolution | ? {$_.Name -eq $SolutionPackageName}
}
Write-Host "Deploying solution: $SolutionPackageName - Done."

是的,它使用 Start-Sleep,但我认为脚本通过检查解决方案何时实际部署来以一种聪明的方式使用它。就个人而言,我喜欢屏幕上的反馈,知道脚本没有挂起。我从来没有遇到超过 2 分钟的情况,但我确实让它显示了多达 10 条“仍在运行”的消息。

关于windows - 任务运行时等待?/任务完成后跳转到下一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10090347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com