Что-то надоело мне постоянно искать этот полезный скрипт. Решил его к себе повесить.
запуск:
cscript WUA_SearchDownloadInstall.vbs
Example
Set updateSession = CreateObject("Microsoft.Update.Session")
Set updateSearcher = updateSession.CreateupdateSearcher()
WScript.Echo "Searching for updates..." & vbCRLF
Set searchResult = _
updateSearcher.Search("IsInstalled=0 and Type='Software'")
WScript.Echo "List of applicable items on the machine:"
For I = 0 To searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
WScript.Echo I + 1 & "> " & update.Title
Next
If searchResult.Updates.Count = 0 Then
WScript.Echo "There are no applicable updates."
WScript.Quit
End If
WScript.Echo vbCRLF & "Creating collection of updates to download:"
Set updatesToDownload = CreateObject("Microsoft.Update.UpdateColl")
For I = 0 to searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
WScript.Echo I + 1 & "> adding: " & update.Title
updatesToDownload.Add(update)
Next
WScript.Echo vbCRLF & "Downloading updates..."
Set downloader = updateSession.CreateUpdateDownloader()
downloader.Updates = updatesToDownload
downloader.Download()
WScript.Echo vbCRLF & "List of downloaded updates:"
For I = 0 To searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
If update.IsDownloaded Then
WScript.Echo I + 1 & "> " & update.Title
End If
Next
Set updatesToInstall = CreateObject("Microsoft.Update.UpdateColl")
WScript.Echo vbCRLF & _
"Creating collection of downloaded updates to install:"
For I = 0 To searchResult.Updates.Count-1
set update = searchResult.Updates.Item(I)
If update.IsDownloaded = true Then
WScript.Echo I + 1 & "> adding: " & update.Title
updatesToInstall.Add(update)
End If
Next
WScript.Echo vbCRLF & "Would you like to install updates now? (Y/N)"
strInput = WScript.StdIn.Readline
WScript.Echo
If (strInput = "N" or strInput = "n") Then
WScript.Quit
ElseIf (strInput = "Y" or strInput = "y") Then
WScript.Echo "Installing updates..."
Set installer = updateSession.CreateUpdateInstaller()
installer.Updates = updatesToInstall
Set installationResult = installer.Install()
'Output results of install
WScript.Echo "Installation Result: " & _
installationResult.ResultCode
WScript.Echo "Reboot Required: " & _
installationResult.RebootRequired & vbCRLF
WScript.Echo "Listing of updates installed " & _
"and individual installation results:"
For I = 0 to updatesToInstall.Count - 1
WScript.Echo I + 1 & "> " & _
updatesToInstall.Item(i).Title & _
": " & installationResult.GetUpdateResult(i).ResultCode
Next
End If
Ссылка на первоисточник MSDN
Обнаружил, что системный лог забит следующими ошибками:
Имя журнала: System
Источник: Microsoft-Windows-DistributedCOM
Дата: 07.10.2011 10:12:56
Код события: 10016
Категория задачи:Отсутствует
Уровень: Ошибка
Ключевые слова:Классический
Пользователь: система
Компьютер: TITAN.isea.ru
Описание:
Не удается найти описание для идентификатора события 10016 из источника Microsoft-Windows-DistributedCOM. Вызывающий данное событие компонент не установлен на этом локальном компьютере или поврежден. Установите или восстановите компонент на локальном компьютере.
Если событие возникло на другом компьютере, возможно, потребуется сохранить отображаемые сведения вместе с событием.
К событию были добавлены следующие сведения:
для конкретного приложения
Локальный
Запуск
{24FF4FDC-1D9F-4195-8C79-0DA39248FF48}
{B292921D-AF50-400C-9B75-0C57A7F29BA1}
NT AUTHORITY
система
S-1-5-18
LocalHost (с использованием LRPC)
Порывшись по реестру по id B292921D-AF50-400C-9B75-0C57A7F29BA1 обнаружил, что это проблема с NAP службой. Которую я ни как не настраивал для работы в нашей сети. По второму id 24FF4FDC-1D9F-4195-8C79-0DA39248FF48 я службы не нашел. После непродолжительно поиска в гугле обнаружилось, что это nap client от касперского. Меня раздражают ошибки в логах, по этому на сайте поддержки касперского нашлось решение. Для этого надо через реестр отключить nap от касперского, делается очень просто.
На клиентском компьютере выполните следующее:
Перейдите в раздел реестра:
для 32 bit OC
HKEY_LOCAL_MACHINE\SOFTWARE\KasperskyLab\Components\34\1103\1.0.0.0\
для 64 bit ОС
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\KasperskyLab\Components\34\1103\1.0.0.0\
Создайте раздел NAP;
В разделе NAP создайте DWORD ключ с именем Enable. Присвойте следующие значения:
1 – включить взаимодействие с NAP Agent;
0 – отключить взаимодействие с NAP Agent.
После создания или изменения ключа Enable необходимо перезапустить службу Агента администрирования (Kaspersky Lab Network Agent).
Вот собственно и все. Распространил по всему домену данный ключ с нацеливанием на разные архитектуры по средствам GPP. Так же вот пруфлин на KB на сайте поддержки касперского.
Это памятка больше для себя. Нежели для других.
Заходим на сервер. Удаляем содержимое каталога:
\\lync-01\Shares\1-WebServices-1\ABFiles\00000000-0000-0000-0000-000000000000\00000000-0000-0000-0000-000000000000
Запускаем следующие командлеты в PowerShell:
Ждем появления в логах следующих эвентов с номерами 30024, 30027, 30028 и запускаем еще формирование адресной книги:
ждем появления эвента под номером 62020. После этого на клиенской машине, выгружаем клиента lync и добавляем в реестр ключ для скачивания адресной книги при запуске клиента lync:
reg add HKLM\Software\Policies\Microsoft\Communicator /v GalDownloadInitialDelay /t REG_DWORD /d 0 /f
идем в папку:
%userprofile%\AppData\Local\Microsoft\Communicator\sip_user@sip_domain
и удаляем файл GalContacts.db и GalContacts.db.idx после этого запускаем lync клиент и он подтянет свежею адресную книгу и можно пробовать искать пользователей.