0

我已经在这个问题上挑了几个星期了,但在网上没有找到解决方案或解决方案。当我在新的 Windows 10 21H1 构建任务序列期间使用 /s 和 /f 运行戴尔 BIOS 更新时,更新成功运行,并且 BIOS 更新日志显示错误 2,即需要重新启动才能在重新启动时执行 BIOS 更新。因此,任务序列的下一步我执行重新启动,但 BIOS 从不进行更新,它只是启动到 Windows。我从命令行、PowerShell 和选中了重启框的应用程序尝试了这个。我运行此日志的所有方式都显示已准备好在重新启动时更新,但从未这样做。如果在 MDT 重新启动之前使用鼠标手动执行重新启动,我可以使更新正常工作。这实际上会在重新启动时执行更新!

这发生在我尝试的所有不同的戴尔版本上,这些版本只有一两个步骤更新。我们目前使用 PDQ 来运行更新。当我从那里调用安装时,这也可以正常工作。我们希望从 PDQ 转移到免费的解决方案,例如直接从 MDT 转移。我发现人们通过任务序列执行此操作的许多不同方式,但没有提及此问题。我似乎遇到的是 MDT 正在删除 BIOS 放入引导序列的任何内容,因此它永远不会被执行。我尝试了不同的凭据、戴尔的 flash64w.exe 以及太多无法列出的内容。事情似乎工作,直到重新启动。我难住了。

简单的工作 PowerShell 示例:

# Get model of system to be updated
$Model = (gwmi Win32_ComputerSystem).Model
Write-Host "Model Found: $($Model)"
# Get root folder where BIOS for model is stored
$BIOSRoot = "Z:\Applications\BIOSUpdates\Dell\$Model"
Write-Host "BIOSRoot: $($BIOSRoot)"
# Get path with BIOS executable and list of arguments
$BIOSFile = Get-Childitem -Path "$BIOSRoot" -Include *.exe -Recurse -ErrorAction SilentlyContinue
#Write-Host "BIOSFile: $($BIOSFile)"
$ARGS = @('/s', '/f')
Write-Host "BIOSFile and arguments: $($BIOSFile) $($ARGS)"
#Start BIOS Update with completed path
Start-Process "$BIOSFile" -ArgumentList "$ARGS" -Wait

还有其他人有这个节目停止问题吗?

4

1 回答 1

0

所以经过大量测试后,答案是在我的代码末尾运行 Start-Process 两次。为什么?我不知道。我不小心让它循环,它在第二个循环上工作。它只需要运行两次。我想也许只是需要更多的时间。我在代码末尾放了一个睡眠,但时间不是它想要的。很奇怪。

于 2021-08-20T19:56:43.157 回答