powershell - 如何在 powershell 远程作业中管理 dcu-cli GUI
问题描述
我目前正在编写一个脚本来通过 Powershell 更新远程机器,因为我正在使用 dcu-cli.exe。
如果直接在本地机器上运行,它可以正常工作,例如:
"C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe" /ApplyUpdates
但是当在 Invoke-Command 中使用时,脚本会永远卡住......
因此,为了对我的脚本进行故障排除,我想查看上面命令的实时输出......
当您在 cmd 中运行 dcu-cli.exe 时,您会在 cmd GUI 中看到进度,是否有可能将实时输出重定向到我的 Powershell 提示符?
我也会对 dcu-cli 语法有一些疑问,因为这是我对完整更新的想法:
Invoke-command -computername $Computer -credential $CredObject -Scriptblock {
cmd /c start /wait "" "C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe" -argumentlist
/configure -biosPassword="$usingBIOSPWD" ;
cmd /c start /wait "" "C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe" -argumentlist /ApplyUpdates }
上面,脚本没有错误……我希望它首先从我的脚本变量中保存 bios 密码,然后运行所有更新。
问题是 dcu-cli.exe 有时不接受他自己的开关(当我尝试各种可能性时...Start-process ; cmd ; &.....)查看 cmd 实时输出?
如果我使用 cmd 运行 dcu-cli 它运行良好,但我不确定如何将对象和变量传递到批处理中或任何其他可以让我看到安装进度的方式...
任何帮助将不胜感激,因为我已经为此工作了数周,而且我是 Powershell 的新手 :)
PS:是的,我确实已经使用谷歌了
解决方案
我不知道你是否还在想办法……但我已经设法使用任务计划程序在远程机器上调用 DCU。那些简单的几行在PowerShell
当前时间触发的机器上创建任务 + 1 分钟与系统特权:
$Trigger = New-ScheduledTaskTrigger -Once -At $(Get-Date).AddMinutes(1)
$User = "SYSTEM"
$Actions = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "Start-Process 'C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe' -ArgumentList '/scan -report=`"C:\Temp\`"'"
$Settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit "01:00" -AllowStartIfOnBatteries
$Task = New-ScheduledTask -Action $Actions -Trigger $Trigger -Settings $Settings -Description 'Update process'
Register-ScheduledTask -TaskName "DCU Updates Scan" -InputObject $Task -User $User -Force
-report="C:\Temp\"'
将输出重定向到指定位置。
只需修改 agument 列表New-ScheduledTaskAction
,您就可以开始使用了。
干杯
推荐阅读
- javascript - 如何在 TypeScript 中重新排列数组
- vb.net - 乘法图
- delphi - 如何检测文件夹更改何时完成?
- c - 如何在小端机器上返回 351351 int?
- bash - 如何在 If 语句中比较 shell 中的 2 个布尔变量
- c++ - C++ 评估它不应该的表达式
- javascript - 获取距离测量值并添加推荐
- angular - 如何在规范测试中模拟 ngOnInit() 中的路由 queryParams
- c# - 如何让 Hololens 全息图锚定在物理环境中?
- javascript - Youtube 缩略图和实际视频 CSS 修复 (WordPress)