3
使用Winrm和Microsoft.Update.Session远程修补服务器的问题
我有一个装有Windows 2003、2008和2008r2服务器的网络。我有一个Powershell脚本,该脚本是使用“ Microsoft.Update” com对象编写的,用于修补本地计算机。(类似于 Windows Update PowerShell Remoting。)我的脚本在本地可以很好地运行,但是由于要管理的服务器数量很多,我想远程使用它的功能。在这种情况下,它会下降(类似于其他未解决的帖子)。 但是,我能够将失败范围缩小到特定类的两个方法。 (New-Object -ComObject "Microsoft.Update.Session").CreateUpdateDownloader() (New-Object -ComObject "Microsoft.Update.Session").CreateUpdateInstaller() 如果您以管理员身份在本地Powershell中运行这些程序,则不会有任何问题。如果尝试使用invoke-command(或enter-session或winrs),则会出现以下错误。(这是使用localhost进行的测试,但是任何主机都可以。我还尝试了使用不同的身份验证方法,例如credssp和kerberos。) PS C:\> Invoke-Command -ComputerName localhost -ScriptBlock { (New-Object -ComObject "microsoft.update.session").createUpdateDownloader()} Exception calling "CreateUpdateDownloader" with "0" argument(s): "Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))" + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : …