Назад | Перейти на главную страницу

Центр обновления Windows на Server Core 2012

Я долго искал и еще не нашел ответа на свой вопрос о том, как именно обновление Windows работает с Server Core 2012. У меня есть пара контроллеров домена, которые я только что подключил и решил заменить их на ядро ​​сервера. Я нашел две вещи: sconfig но получить следующее сообщение об ошибке, когда он

♀Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

Inspecting system...


===============================================================================
                         Server Configuration
===============================================================================

1) Domain/Workgroup:                    Domain:  mydomain
2) Computer Name:                       mydc
3) Add Local Administrator
4) Configure Remote Management          Enabled

5) Windows Update Settings:             Automatic
6) Download and Install Updates
7) Remote Desktop:                      Disabled

8) Network Settings
9) Date and Time
10) Help improve the product with CEIP  Not participating
11) Windows Activation

12) Log Off User
13) Restart Server
C:\Windows\System32\en-US\sconfig.vbs(326, 1) Microsoft VBScript runtime error: Input past end of file
14) Shut Down Server
15) Exit to Command Line

Enter number to select an option:

Я также нашел несколько ссылок, в которых говорится об использовании Cscript, но я также получаю сообщение об ошибке при запуске. Например:

[mydc]: PS C:\Users\JohnDoe\Documents> Cscript scregedit.wsf /AU /v
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

Input Error: Can not find script file "C:\Users\JohnDoe\Documents\scregedit.wsf".

Итак, как мне убедиться, что автоматические обновления работают? Есть ли способ обновить вручную?

Я не знаю, почему sconfig имеет эту ошибку на вашем сервере.

scregedit.wsf находится в system32:

cd c:\windows\system32
Cscript scregedit.wsf /AU /v 4

включит автоматические обновления.

Вы также можете изменить реестр напрямую, ключ находится по адресу: HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ WindowsUpdate \ Auto Update

Существует значение DWORD с именем 'AUOptions'

Значение 1 отключает обновления, значение 4 загружает и устанавливает их автоматически. Значения 2 и 3 уведомляют пользователя через область уведомлений панели задач, которой нет в Core, поэтому не используйте их.

Я устанавливаю обновления вручную, потому что мне нужно иметь возможность решать, когда произойдет перезагрузка.

Существуют различные сторонние инструменты, такие как 'Основной конфигуратор', которые позволяют выполнять обновления вручную.

В настоящее время я использую: 'WUA_SearchDownloadInstall.vbs', небольшой скрипт от Microsoft

Теперь есть хороший модуль PowerShell, который дает вам больше контроля над устанавливаемыми обновлениями:

Модуль Windows Update PowerShell

После того как вы скопировали файлы в папку по любому пути, указанному в% PSModulePath%, вы можете использовать:

Get-WUlist

Вы можете использовать обычный конвейер PowerShell:

Get-WUList | format-list -property Title, Description

Чтобы получить список всех доступных обновлений. Затем вы можете установить отдельные обновления:

Get-WUInstall -KBArticleID KB2868623

или без подсказок:

Get-WUInstall -KBArticleID KB2849470 -AcceptAll -IgnoreReboot

Вы можете установить только определенные обновления для Windows:

Get-WUInstall -Category "Security Updates" -ListOnly

Показать историю обновлений:

Get-WUHistory | fl

Проверьте, нужна ли вам перезагрузка:

Get-WURebootStatus

Кажется, это также работает на удаленных машинах, но я еще не проверял это.

Я знаю, что это старый пост, но подумал, что все равно отправлю здесь ответ. Причина ошибки ввода заключается в том, что CScript, имя скрипта и параметры должны быть разделены. После некоторой борьбы с этим я обнаружил, что это работает при запуске этого внутри скрипта. Invoke-Command -Scriptblock { & 'CScript' 'C:\windows\system32\SCRegedit.wsf' "/AU" "/v"

Вы не указали, в каком контексте вы запускаете sconfig.cmd, но это происходит, когда вы запускаете этот инструмент из удаленного сеанса PowerShell. Я успешно запустил его только при подключении по RDP.