Архив

Публикации с меткой ‘WSUS’

Установка обновлений на Windows Server 2008 core

31 Октябрь 2011

Что-то надоело мне постоянно искать этот полезный скрипт. Решил его к себе повесить.

запуск:

 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

Перенос WSUS сервера на другой сервер.

9 Ноябрь 2009

Попросил меня тут товарищ развернуть сервер WSUS у него на халтуре по средством копирования скаченного контента на моей работе, так как у него трафик платный, а за раз утянуть 17-20 гигов у него нету возможности. По этому он обратился ко мне за помощью. Первой же мыслю как это не странно было зайти на technet. Там как раз оказалась дока на тему: «как провести синхронизацию между двумя WSUS серверами без сетевого подключения». В этом случаи все оказалось достаточно просто. Для этого нужно воспользоваться имеющийся в комплекте утилитой. По этому опишу ход действий:

1. cd "C:\Program Files\Update Services\Tools"
2. wsusutil.exe export export.cab export.log (Экспортирует метаданные обновления (но не файлы содержимого, одобрения
или параметры сервера) в файл экспортного пакета.)
этого пакета на другой WSUS-сервер позволяет выполнить синхронизацию
3. Создаем бекап папки где лежит сам скаченный контент
4. На новом сервере устанавливаем новый WSUS сервер, пропускаю запрос мастера на настройку.
5. Разворачиваем бекам в папку с контентом нового WSUS, не забываем поправить права если просто копировали.
6. wsusutil.exe import export.cab export.log (Импортирует метаданные обновления (но не файлы содержимого, одобрения
или параметры сервера) на этот сервер.)
7. Дальше запускаем оснастку WSUS и настраиваем что вам необходимо

Вот в общем и все. В итоге мы получили сервер скажем в филиале, где не надо скачивать по новой все 17-20 гигов обновлений.
В общем все хорошо, но тут у меня появилась мысль, а не перенести ли наш корпоративный сервер в виртуальную машину на Hyper-V раз такая пьянка пошла. Только вот не хочется опять ждать присоединения всех машин в сети и по новой тыкать одобрения. Начал по этому искать выход. Он оказался достаточно простой:

1. На новом сервере устанавливаем WSUS и так же отказываемся от мастера.
2. С помощью SQL Server Management Studio делаем бекап базы и логов на основном сервере.
3. Остановив службу Update services на исходном сервере, копируем скаченный контент на целевой сервер
и кладем куда следует. Так же не забываем про права и про то, что на целевом сервере служба Update services
так же должна быть выключена.
4. Импортируем новую базу SUSM
5. Запускаем службу Update services на целевом сервере
6. Если папка с обновления на целевом сервере совпадает с местом на исходном, то ни чего делать не надо,
если нет, то командуем wsusutil movecontent "D:\WSUS Updates" -skipcopy (Вот тут странно как-то получилось. Когда я
пробовал так сказать на кошках. У меня не заработала без этого. А когда уже все переносил все подхватилось само.)
7. wsusutil reset

После этого можно запустить оснастку управления WSUS сервером и у вас должна получиться копия исходного сервера.

Так же последний, и думаю самый правильный способ. Это сделать следующее. Открыть оснастку WSUS открыть «Параметры -> Источник обновлений и прокси-сервер». Установить переключатель в «Синхронизировать с другим сервером Windows Server Update Services», указать старый исходный сервер, и установить флажок «Данный сервер является репликой вышестоящего сервер» После репликации возвращаем флаг на «Синхронизировать с центром обновления Microsoft»

Вот такими путями можно переносить wsus сервер. Если я где-то не прав или допустил не точности, прошу поправить в комментариях.

Author: Categories: Работа, Саморазвитие Tags: