2015-02-18 2 views
0

KB2956128 вызывает головную боль для пользователей в моей сети. Я не запускаю WSUS в этой среде, поэтому я собирался использовать PS-скрипт, чтобы позаботиться об удалении. Непременно скрипт ниже должен работатьЗапустить удаленный сценарий удаления PowerShell Office

$comp = 'PC03' 
$scrblock = 
{ 
$TitlePattern = 'KB2956128' 

$Session = New-Object -ComObject Microsoft.Update.Session 

$Collection = New-Object -ComObject Microsoft.Update.UpdateColl 
$Installer = $Session.CreateUpdateInstaller() 
$Searcher = $Session.CreateUpdateSearcher() 

$Searcher.QueryHistory(0, $Searcher.GetTotalHistoryCount()) | 
    Where-Object { $_.Title -match $TitlePattern } | 
    ForEach-Object { 
     Write-Verbose "Found update history entry $($_.Title)" 
     $SearchResult = $Searcher.Search("UpdateID='$($_.UpdateIdentity.UpdateID)' and RevisionNumber=$($_.UpdateIdentity.RevisionNumber)") 
     Write-Verbose "Found $($SearchResult.Updates.Count) update entries" 
     if ($SearchResult.Updates.Count -gt 0) { 
      $Installer.Updates = $SearchResult.Updates 
      $Installer.Uninstall() 
      $Installer | Select-Object -Property ResultCode, RebootRequired, Exception 
      # result codes: http://technet.microsoft.com/en-us/library/cc720442(WS.10).aspx 
     } 
    } 
} 
Invoke-Command -ComputerName $comp -ScriptBlock $scrblock -Credential 'myDomain\administrator' 

Вместо этого я получаю эту ошибку

Exception calling "CreateUpdateInstaller" with "0" argument(s): "Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))" 
    + CategoryInfo   : NotSpecified: (:) [], MethodInvocationException 
    + FullyQualifiedErrorId : ComMethodTargetInvocation 
    + PSComputerName  : PC03 

Exception calling "QueryHistory" with "2" argument(s): "Exception from HRESULT: 0x80240007" 
    + CategoryInfo   : NotSpecified: (:) [], MethodInvocationException 
    + FullyQualifiedErrorId : ComMethodTargetInvocation 
    + PSComputerName  : PC03 

Я не совсем понимаю, почему доступ запрещен. Есть идеи?

ответ

0

Короткий ответ заключается в том, что ComObject does not allow the CreateUpdateInstaller будет называться удаленно. Вы можете делать это только локально, а не через сеансы или другие удаленные операции. Однако вы можете использовать psexec для удаленного выполнения сценария как системы.

Смежные вопросы