簡體   English   中英

使用 PowerShell 遠程執行軟件中心包

[英]Remotely execute Software Center Package using PowerShell

我有一個特定的用例,我需要遠程執行 Windows 10 版本 1809 操作系統升級包,該升級包在 Windows 10 v1709 PC 上的操作系統選項卡下的軟件中心中發布。 我有一個 PowerShell one-liner,當 PC 使用管理員帳戶(與 PC 登錄的帳戶相同)登錄時,它將遠程執行此操作,如下所示:

Invoke-Command -ComputerName Computer001 {(New-Object -ComObject "UIResource.UIResourceMgr").ExecuteProgram("*", "OS_UpGrade", $true)} 

當目標 PC 使用我用來運行 PowerShell 終端的相同帳戶登錄時,這非常有效。 但是當 PC (Computer001) 被注銷時,我運行相同的命令,我得到這個錯誤:

"Error HRESULT E_FAIL has been returned from a call to a COM component.
+ CategoryInfo          : OperationStopped: (:) [], COMException
+ FullyQualifiedErrorId : System.Runtime.InteropServices.COMException
+ PSComputerName        : Computer001"

我猜測在 PC 注銷時無法調用 ComObject,這是正確的,有什么辦法可以解決這個問題嗎?

任何指導將不勝感激。

我更深入地查看了此處的文檔。

問題特別在於您正在調用的 COM 對象(如您所料)。

SCCM 的 SDK 特別提到這個 COM 對象是 CM 的 UI。 UIResource.UIResourceMgr。 它還在 SDK 中指出,此特定對象可能難以調用,因為它依賴於用戶上下文。

恐怕您將不得不找到不依賴於調用 UI 資源的執行。

通過 PSExec 運行它可能比調用 SCCM 的 PowerShell 腳本更容易,因為我認為您不能使用 SCCM 本身來遠程調用安裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM