3
winrmおよびMicrosoft.Update.Sessionを使用してリモートでサーバーにパッチを適用する際の問題
Windows 2003、2008、2008r2サーバーのネットワークがあります。「Microsoft.Update」comオブジェクトを使用してローカルマシンにパッチを当てるために書いたPowerShellスクリプトがあります。(Windows Update PowerShell Remotingに似てい ます。)私のスクリプトはローカルでうまく機能しますが、管理するサーバーの数がかなり多いため、リモートでその機能を使用したいと思います。その場合は落ちます(解決されなかった他の投稿と同様)。 ただし、失敗を特定のクラスの2つのメソッドに絞り込むことができました。 (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 : ComMethodTargetInvocation これはブログでバグとして言及されているのを見たことがありますが、その主張に対するバックアップはありません。2つの回避策があり、どちらも私を幸せにしません。 …