- Записки IT специалиста
- Используем PowerShell для автоматизации установки обновлений
- Службы Windows Server Update Services (WSUS) Windows Server Update Services (WSUS)
- Описание роли сервера WSUS WSUS Server role description
- Практическое применение Practical applications
- Новые и измененные функции New and changed functionality
- Использование Windows PowerShell для управления WSUS Using Windows PowerShell to manage WSUS
- Содержание коллекции In this collection
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
- Главная
- Используем PowerShell для автоматизации установки обновлений
Используем PowerShell для автоматизации установки обновлений
Установка большого количества обновлений Windows Update обычно относится к тем рутинным операциям, которые каждый системный администратор хотел бы как можно сильнее автоматизировать. Действительно, данная задача занимает довольно много времени и требует время от времени отвлекаться, чтобы перейти от одного этапа к другому. Отчасти выручить в этой ситуации может создание собственного дистрибутива, уже включающего все необходимые обновления, но воспользоваться им удается не всегда. Иногда надо просто быстро обновить до актуального состояния какую-либо систему, тогда на помощь нам придет PowerShell.
Кроме того, в режиме аудита Windows 8 использовать Центр обновления Windows нельзя и установить обновления привычным образом не получится.
В этих, а также во многих других, случаях имеет смысл воспользоваться специальным модулем PowerShell для работы с Windows Update. Скачать его можно со страницы разработчика на Technet: Windows Update PowerShell Module. Мы настоятельно рекомендуем скачивать данный модуль именно оттуда.
Данный модуль работает в системах, начиная с Windows Vista и Server 2008 и требует PowerShell 2.0, хотя оптимально будет использование PowerShell 3.0 и выше.
Архив с модулем содержит папку PSWindowsUpdate, которую следует разместить в одном из двух возможных расположений:
Если вы хотите использовать данный модуль на постоянной основе, то имеет смысл разместить его в системной папке, в остальных случаях лучше использовать для этого директорию в профиле пользователя. Учтите, в папке Мои документы отсутствуют вложенные директории WindowsPowerShell и Modules, поэтому их следует создать самостоятельно.
Что дальше? В принципе уже сейчас можно воспользоваться одним из пакетных скриптов для данного модуля, доступных в сети. Но лучше сначала поработать с ним самостоятельно, после чего создать свой собственный пакетный файл.
Откроем консоль PowerShell от имени Администратора. Прежде всего выясним установленную политику командой:
По умолчанию обычно установлена политика Restricted, которая запрещает выполнение скриптов даже администратору. Поэтому изменим ее на RemoteSigned, позволяющую запускать локальные скрипты, также, в целях безопасности, рекомендуем изменять политику только для текущего сеанса. Выполним команду:
Ключ -Scope позволяет задавать область применения политики, в данном случае это текущий процесс. Теперь можно выполнить импорт модуля командой:
В Windows 7 и иных системах, использующих PowerShell 2.0 вы можете столкнуться со следующей ошибкой: Имя «Unblock-File» не распознано как имя командлета. Она возникает из-за использования в одном из скриптов функции появившейся в PowerShell 3.0.
Однако ее несложно исправить. В папке с модулем откройте файл PSWindowsUpdate.psm1 и удалите в первой строке последовательность:
Сохраните исправленный файл и повторите импорт модуля. Теперь можно приступить к работе с ним.
Прежде всего получим список доступных обновлений:
А вот и первый сюрприз, в списке обновлений присутствуют языковые модули, Skype и обновление для перехода на Windows 10. Все это приехало бы на ваш компьютер, воспользуйся вы одним из популярных скриптов для этого модуля, доступных в сети.
К счастью модуль обладает широкими возможностями. Мы можем исключить пакеты из списка по их категории, ключ -NotCategory, названию, ключ -NotTitle, или номеру обновления, ключ -NotKBArticleID. Используем каждый из них, в нашем случае уберем категорию языковых пакетов, Skype и обновление до Windows 10:
Вот, уже гораздо лучше.
Теперь можно установить обновления командой:
Ключи -AcceptAll и -IgnoreReboot включают одобрение всех пакетов и подавляют требование перезагрузки после установки некоторых обновлений.
Убедившись, что все работает как надо, можно создать собственный пакетный файл, откроем блокнот и в одну строку запишем:
Данная команда запускает PowerShell, устанавливает политику RemoteSigned, импортирует модуль, затем передает ему вышеуказанную команду. В общем делает все тоже самое, что мы только-что выполнили вручную. Сохраните данный файл как PSWindowsUpdate.cmd и теперь все что вам потребуется, это разместить модуль в нужном расположении и запустить данный пакетный файл с правами администратора.
Удобно? Да. Правда учтите, что некоторые обновления требуют обязательной установки предыдущих, поэтому, если вы давно не обновлялись, данный скрипт придется запускать несколько раз. Но это все равно проще, чем проделывать все эти операции вручную, кликнул на скрипт и занимайся своими делами, время от времени поглядывая на экран.
В Windows 8 языковые пакеты через WindowsUpdate не распространяются, поэтому команду можно немного упростить.
Однако на этом возможности данного модуля не заканчиваются, он позволяет быстро установить нужные обновления зная только их номер. Это значительно облегчает задачу, так как не надо посещать сайт Microsoft, искать необходимую статью и скачивать пакет именно для вашей версии системы.
Для установки отдельного пакета используйте команду (номер пакета использован исключительно для примера):
Если надо установить несколько пакетов, то разделите их номера запятыми и добавьте ключ -IgnoreReboot, например:
Мы не ставили своей целью дать в данной статье полный обзор этого модуля, сфокусировавшись на решении конкретной задачи. Поэтому, если вас заинтересовали иные возможности данного модуля, то обратитесь к встроенной справке. Для этого откройте в блокноте файл интересующей функции, например, Get-WUInstall.ps1, каждый из которых автор снабдил подробным описанием.
Надеемся, что данный материал поможет вам автоматизировать некоторые рутинные задачи и добавит в ваш арсенал новый, удобный инструмент.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Службы Windows Server Update Services (WSUS) Windows Server Update Services (WSUS)
Область применения. Windows Server (Semi-Annual Channel), Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012 Applies To: Windows Server (Semi-Annual Channel), Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
Службы Windows Server Update Services (WSUS) позволяют ИТ-администраторам развертывать новейшие обновления продуктов Майкрософт. Windows Server Update Services (WSUS) enables information technology administrators to deploy the latest Microsoft product updates. Службы WSUS позволяют в полной мере управлять процессом распределения обновлений, выпущенных через Центр обновления Майкрософт, среди компьютеров в сети. You can use WSUS to fully manage the distribution of updates that are released through Microsoft Update to computers on your network. В данном разделе представлен обзор этой роли сервера и дополнительные сведения о том, как развертывать и обслуживать WSUS. This topic provides an overview of this server role and more information about how to deploy and maintain WSUS.
Описание роли сервера WSUS WSUS Server role description
Сервер WSUS предоставляет возможности для управления обновлениями и их распространения через консоль управления. A WSUS server provides features that you can use to manage and distribute updates through a management console. Сервер служб WSUS может также быть источником обновлений для других серверов WSUS в организации. A WSUS server can also be the update source for other WSUS servers within the organization. Сервер WSUS, действующий как источник обновлений, называется вышестоящим сервером. The WSUS server that acts as an update source is called an upstream server. В реализации служб WSUS хотя бы один сервер WSUS в сети должен иметь возможность подключаться к Центру обновления Майкрософт для получения информации о доступных обновлениях. In a WSUS implementation, at least one WSUS server on your network must be able to connect to Microsoft Update to get available update information. Учитывая вопросы безопасности и конфигурации сети, администратор может самостоятельно определить количество дополнительных серверов, напрямую подключенных к Центру обновления Майкрософт. As an administrator, you can determine — based on network security and configuration — how many other WSUS servers connect directly to Microsoft Update.
Практическое применение Practical applications
Управление обновлениями — это процесс управления развертыванием и обслуживанием промежуточных выпусков программного обеспечения в рабочей среде. Update management is the process of controlling the deployment and maintenance of interim software releases into production environments. Это помогает поддерживать производительность, преодолевать уязвимости и обеспечивать стабильность рабочей среды. It helps you maintain operational efficiency, overcome security vulnerabilities, and maintain the stability of your production environment. Если организация не может устанавливать и поддерживать известный уровень доверия в своих операционных системах и прикладном программном обеспечении, то у нее может появиться ряд уязвимостей, что в случае взлома способно привести к потере дохода и интеллектуальной собственности. If your organization cannot determine and maintain a known level of trust within its operating systems and application software, it might have a number of security vulnerabilities that, if exploited, could lead to a loss of revenue and intellectual property. Чтобы минимизировать данную угрозу, необходимо правильно настроить системы, использовать последние версии программного обеспечения и установить рекомендуемые обновления ПО. Minimizing this threat requires you to have properly configured systems, use the latest software, and install the recommended software updates.
Основными сценариями, в которых WSUS повышает эффективность вашего бизнеса, являются: The core scenarios where WSUS adds value to your business are:
Централизованное управление обновлениями Centralized update management
Автоматизация управления обновлениями Update management automation
Новые и измененные функции New and changed functionality
Обновление с любой версии Windows Server, поддерживающей WSUS 3.2, до Windows Server 2012 R2 требует предварительного удаления WSUS 3.2. Upgrade from any version of Windows Server that supports WSUS 3.2 to Windows Server 2012 R2 requires that you first uninstall WSUS 3.2.
В Windows Server 2012 обновление с любой версии Windows Server с установленными службами WSUS 3.2 блокируется в процессе установки, если будет обнаружена служба WSUS 3.2. In Windows Server 2012, upgrading from any version of Windows Server with WSUS 3.2 installed is blocked during the installation process if WSUS 3.2 is detected. В этом случае вам будет предложено сначала удалить службы обновления Windows Server, а затем повторно обновить сервер. In that case, you will be prompted to first uninstall Windows Server Update Services prior to upgrading your server.
Но после изменений, внесенных в текущем выпуске Windows Server и Windows Server 2012 R2, установка не блокируется при обновлении с любой версии Windows Server и WSUS 3.2. However, because of changes in this release of Windows Server and Windows Server 2012 R2, when upgrading from any version of Windows Server and WSUS 3.2, the installation is not blocked. Если перед выполнением обновления Windows Server или Windows Server 2012 R2 не будут удалены службы WSUS 3.2, то задачи WSUS после установки будут завершаться ошибкой. Failure to uninstall WSUS 3.2 prior to performing a Windows Server 2012 R2 upgrade will cause the post installation tasks for WSUS in Windows Server 2012 R2 to fail. Известен только один метод решения такой проблемы — отформатировать жесткий диск и повторно установить Windows Server. In this case, the only known corrective measure is to format the hard drive and reinstall Windows Server.
Службы Windows Server Update Services представляют собой встроенную роль сервера со следующими дополнительными возможностями. Windows Server Update Services is a built-in server role that includes the following enhancements:
Может быть добавлена и удалена с помощью диспетчера серверов Can be added and removed by using the Server Manager
Включает командлеты Windows PowerShell для управления наиболее важными задачами администрирования в службах WSUS Includes Windows PowerShell cmdlets to manage the most important administrative tasks in WSUS
Добавляет возможность использования хэширования SHA256 для дополнительной безопасности Adds SHA256 hash capability for additional security
Обеспечивает разделение клиента и сервера, благодаря чему версии агента Центра обновления Windows (WUA) могут поставляться независимо от WSUS Provides client and server separation: versions of the Windows Update Agent (WUA) can ship independently of WSUS
Использование Windows PowerShell для управления WSUS Using Windows PowerShell to manage WSUS
Системным администраторам для автоматизации работы необходим охват с помощью автоматизации командной строки. For system administrators to automate their operations, they need coverage through command-line automation. Основной целью является облегчение администрирования WSUS, позволяя системным администраторам автоматизировать их ежедневный труд. The main goal is to facilitate WSUS administration by allowing system administrators to automate their day-to-day operations.
Какой эффект дает это изменение? What value does this change add?
Пропуская основные операции WSUS через Windows PowerShell, системные администраторы могут увеличить продуктивность, уменьшить время на изучение новых инструментов, а также снизить количество ошибок из-за неоправданных ожиданий, ставших результатом отсутствия согласованности простых операций. By exposing core WSUS operations through Windows PowerShell, system administrators can increase productivity, reduce the learning curve for new tools, and reduce errors due to failed expectations resulting from a lack of consistency across similar operations.
Что работает иначе? What works differently?
В более ранних версиях операционной системы Windows Server отсутствовали командлеты Windows PowerShell, а автоматизация управления обновлениями была затруднительным делом. In earlier versions of the Windows Server operating system, there were no Windows PowerShell cmdlets, and update management automation was challenging. Командлеты Windows PowerShell для операций WSUS дают дополнительную гибкость и быстроту системному администратору. The Windows PowerShell cmdlets for WSUS operations add flexibility and agility for the system administrator.
Содержание коллекции In this collection
В эту коллекцию включены следующие руководства по планированию, развертыванию и администрированию служб WSUS. The following guides for planning, deploying, and managing WSUS are in this collection: