我有一个类似部署解决方案的东西。我按顺序安装了一些软件包,重新启动,安装了更多软件包,等等...
我确实观察到,在这样的安装顺序之后,系统正在执行某些任务。例如,安装Symantec Anti-Virus之后,计算机的工作负荷将持续几分钟。也许它会进行第一次扫描或类似的操作。我不知道。自动序列会强制重启。有时我看到系统挂在注销窗口上,迫使结束任务...
要获得更好的可视化效果,请参见示例CPU图形的屏幕截图:Performance Graph
(*)对不起,图表不真实。只是为了可视化。
我正在寻找一种PowerShell解决方案来检测空闲状态。安装完最后一个软件包后,我要运行此软件包,它应该等待,直到计算机就绪为止。
它应该是动态的-我不想使用...
Start-Sleep -Seconds 300
...并且希望任务已经结束。
它不应该依赖进程名称或类似名称。
编辑#1:
根据您的评论,我确实创建了以下代码作为第一个测试:
$Start = Get-Date
do {
$LoadPercentage = Get-Counter -Counter "\prozessor(_total)\prozessorzeit (%)" -SampleInterval 1 -MaxSamples 5 | Select-Object -ExpandProperty CounterSamples | Group-Object -Property InstanceName | `
ForEach-Object {
$_ | Select-Object -Property @{ n='Average'; e={ [math]::Round( ( $_.Group.CookedValue | Measure-Object -Average ).Average, 1 ) } };
} | Select-Object -ExpandProperty Average
$LoadPercentage
} until ( ( $LoadPercentage -lt 15 ) -or ( ( Get-Date ) -gt $Start.AddMinutes(1) ) )
谢谢