我发现我喜欢名为“Dell Command | Update”的命令行工具dcu-cli.exe。我可以在远程会话中运行它,以管理员身份运行 CMD,将它推送到包含它及其依赖项的目录,并且它运行良好。但是,但希望能够使用 psexec.exe 执行此操作,因为 PowerShell 远程处理在网络中暂时被禁用。
当我用 psexec.exe 运行它时,我得到:
Unhandled Exception:
J:\CommandUpdate>System.IO.IOException: The handle is invalid.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.Console.GetBufferInfo(Boolean throwOnNoConsole, Boolean& succeeded)
at Dell.CommandUpdate.CLI.Program.ShowWorking()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Run Code Online (Sandbox Code Playgroud)
运行 psexec 时,我通常是这样运行的:
psexec.exe -s \\computer -nobanner cmd.exe /c "pushd \\path\to\CommandUpdate && dcu-cli.exe"
psexec将在cmd.exefor-u和 中使用我的管理员凭据-p。
我的预感是 BIOS 更新会抛出一个 GUI 框,要求输入管理员密码。为什么这样做?LOL 当它是一个命令行工具时。不管是戴尔。无论如何,如果有人知道如何在您是域管理员的网络中的远程系统上使用它,那么知道会很棒,这样我就不必中断用户的工作流程来为他们安装驱动程序更新。完成后,我可以给他们发送电子邮件以重新启动他们的计算机。
谢谢!
小智 6
这也困扰了我很长时间,直到我发现这是有效的:
cmd /c start /wait "" "C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe" /log C:\ProgramData\Pearson\Logs
Run Code Online (Sandbox Code Playgroud)