Посмотреть обновления на удаленном компьютере
Для просмотра обновлений и управления ими можно использовать консоль WSUS.
Просмотр обновлений
На странице обновления можно выполнить следующие действия.
Просмотр обновлений. В обзоре обновления отображаются обновления, которые были синхронизированы с источника обновлений на сервер WSUS и доступны для утверждения.
Фильтровать обновления. В представлении по умолчанию можно фильтровать обновления по состоянию утверждения и состоянию установки. Значение по умолчанию — для неутвержденных обновлений, необходимых некоторым клиентам или для которых произошел сбой установки на некоторых клиентах. Вы можете изменить это представление, изменив фильтры состояния утверждения и состояния установки, а затем нажав кнопку Обновить.
Создание новых представлений обновления. На панели действия выберите пункт новое представление обновлений. Можно отфильтровать обновления по классификации, продукту, группе, для которой они были утверждены, и дате синхронизации. Список можно отсортировать, щелкнув соответствующий заголовок столбца в заголовке окна.
Выполните поиск обновлений. Можно выполнить поиск отдельного обновления или набора обновлений по названию, описанию, статье базы знаний или номеру центра Microsoft Security Response Center для обновления.
Просмотр сведений, состояния и журнала редакций для каждого обновления.
Утвердите и отклоните обновления.
Просмотр обновлений
В консоли администрирования WSUS разверните узел обновления, а затем щелкните все обновления.
По умолчанию обновления отображаются с заголовком, классификацией, установленным/неприменимым процентом и состоянием утверждения. Если вы хотите отобразить другие или другие свойства обновления, щелкните правой кнопкой мыши заголовок столбца и выберите соответствующие столбцы.
Чтобы выполнить сортировку по различным критериям, таким как состояние загрузки, заголовок, классификация, Дата выпуска или состояние утверждения, щелкните соответствующий заголовок столбца.
Фильтрация списка обновлений, отображаемых на странице «обновления»
В консоли администрирования WSUS разверните узел обновленияи выберите пункт все обновления.
Создание нового представления обновлений на WSUS
В консоли администрирования WSUS разверните узел обновленияи выберите пункт все обновления.
На панели действия выберите пункт новое представление обновлений.
В окне Добавление представления обновлений в разделе Шаг 1. Выбор свойстввыберите свойства, необходимые для фильтрации представления обновлений.
Выберите обновления для определенной классификации, чтобы отфильтровать обновления, относящиеся к одной или нескольким классификациям обновлений.
Выберите обновления для конкретного продукта, чтобы отфильтровать обновления для одного или нескольких продуктов или семейств продуктов.
Выберите обновления утверждены для определенной группы, чтобы отфильтровать обновления, утвержденные для одной или нескольких групп компьютеров.
Выберите обновления, которые были синхронизированы в течение определенного периода времени для фильтрации обновлений, синхронизируемых в определенное время.
Выберите обновления обновления WSUS, чтобы отфильтровать обновления WSUS.
В разделе Шаг 2. изменение свойствщелкните подчеркнутые слова, чтобы выбрать нужные значения.
В разделе Шаг 3. Укажите имя, присвойте новому представлению имя.
Новое представление появится на панели древовидного представления в разделе обновления. Он будет отображаться, как стандартные представления, в центральной области при выборе.
Поиск обновления
Выберите узел обновления (или любой узел под ним).
На панели действия нажмите кнопку Поиск.
В окне поиска на вкладке обновления введите условия поиска. Можно использовать текст из полей номер статьи заголовок, Описаниеи База знаний Майкрософт (KB) . Каждый из этих элементов является свойством, указанным на вкладке сведения в свойствах обновления.
Просмотр свойств обновления
В консоли администрирования WSUS разверните узел обновленияи выберите пункт все обновления.
В списке обновлений щелкните обновление, которое требуется просмотреть.
В нижней области отобразятся различные разделы свойств:
В строке заголовка отображается заголовок обновления. например, обновление безопасности для проигрыватель Windows Media 9 (KB911565).
В разделе Состояние отображается состояние установки обновления (компьютеры, на которых он должен быть установлен, компьютеры, на которых он был установлен, а также компьютеры, на которых он был установлен или неприменим), и сведения об общей информации (KB и номер версии MSRC, Дата выпуска). и т. д.).
В разделе Описание приводится краткое описание обновления.
В разделе Дополнительные сведения отображаются следующие сведения.
Режим установки обновления (независимо от того, является ли он съемным, запрашивает перезагрузку, требует ввода данных пользователем или должен быть установлен исключительно).
Содержит ли обновление условия лицензионного соглашения на использование программного обеспечения корпорации Майкрософт
Продукты, к которым применяется обновление
Обновления, заменяющие это обновление
Обновления, заменяемые этим обновлением
Языки, поддерживаемые обновлением
Обратите внимание, что эту процедуру можно выполнить только для одного обновления за раз. Если выбрано несколько обновлений, на панели « Свойства » будет отображаться только первое обновление в списке.
Консольные команды
Начнем с простого и воспользуемся тем, что предлагает нам Windows без использования сторонних средств. Это можно сделать с помощью следующих команд:
- wmic qfe list
- systeminfo
- dism /online /get-packages
- через PowerShell:
- Get-HotFix
- Get-SilWindowsUpdate (доступно только в серверных редакциях)
- Get-WmiObject -Class win32_quickfixengineering — через доступ к WMI классу win32_quickfixengineering (о WMI чуть позже)
Получить список через графический интерфейс можно через стандартный пункт Панели управления «Установка/удаление программ», но скопировать оттуда мы ничего не можем. Каждый инструмент панели управления представлен файлом .cpl в папке Windows\System. Файлы .cpl в системную папку Windows автоматически загружаются при запуске панели управления. За пункт Программы отвечает файл Appwiz.cpl. Его анализ ни к чему не привел.
Формально все методы получения списка обновлений можно разделить на две группы: локальные и сетевые.
Все методы проверялись на чистых образах систем (Windows 7, 8, Server 2012 R2) с интегрированными обновлениями, после каждого обновления через Центр обновления с официальных серверов Microsoft проводилась дополнительная проверка. Остановимся на каждом из них подробнее.
WUApi (Windows Update Agent API) — использование API агента обновления Windows. Самый явный вариант, название которого говорит само за себя. Использовать для этого будем библиотеку Wuapi.dll.
Примечание: далее для своего удобства все результаты я буду вставлять в List. Это, возможно, не рационально, но тогда мне это казалось хорошей идеей.
Есть и вторая вариация этого метода: Update Session — получение информации с помощью подключения к сессии обновления Windows Update Agent (в данном случае работаем не напрямую с библиотекой).
Microsoft подсказывает об удаленном использовании API.
Главный минусы этих двух методов — не позволяют найти исправления KB, которые не распространяются через Центр обновления Windows. Можно увидеть только то, что прошло через сам агент обновления, то есть данный вариант нас не устраивает.
Система обслуживания образов развертывания и управления ими (Deployment Image Servicing and Management) — это средство командной строки, которое может использоваться для обслуживания образа Windows или для подготовки образа среды предустановки Windows (Windows PE). Является заменой диспетчера пакетов (Pkgmgr.exe), PEimg и Intlcfg.
Данная утилита используется для интеграции обновлений, сервис паков в образ системы. Обновления Windows представляют собой отдельные модули, которые могут быть представлены в нескольких вариантах:
- .cab-файлы (Cabinet) — архивы. Предназначены для распространения и установки при помощи модулей Центра обновлений Windows в автоматизированном режиме;
- .msu-файлы (Microsoft Update Standalone Package) — исполняемые файлы. Предназначены для распространения и установки самими пользователями в ручном режиме через каталог обновлений Microsoft. Фактически представляют собой упакованный набор, состоящий из .cab-, .xml, .txt-файлов.
Количество обновлений совпадало с количеством из списка Панели управления до первого апдейта через центр управления — после него количество обновлений стало меньше (было 214, стало 209), хотя по логике они должны были увеличиться. Примеры вывода До обновления, После обновления.
С чем это связано я могу только предполагать — возможно, какие-то обновления замещали предыдущие, следовательно, и количество стало меньше.
Чуть позже я наткнулся на утилиту от китайцев DISM++, которая основана не на DISM API или DISM Core API, но имеющиеся в ней библиотеки не имеют нужных мне открытых методов, поэтому я забросил эту идею и продолжил поиски дальше.
Windows Server Update Services (WSUS) — сервер обновлений операционных систем и продуктов Microsoft. Сервер обновлений синхронизируется с сайтом Microsoft, скачивая обновления, которые могут быть распространены внутри корпоративной локальной сети. Опять же специальный инструмент, предназначенный для работы с обновлениями.
Распространяется только на серверных редакциях ОС Windows, поэтому был развернут следующий стенд:
- основная система – Windows Server 2016;
- а через систему виртуализации Hyper-V были развернуты две клиентские ОС:
- Windows 8.1
- Windows 7
Чтобы не выделять раздел жесткого диска для новой системы я пользуюсь WinNTSetup и устанавливаю систему в VHD диски — загрузчик, начиная с Windows 7 (редакций Professional/Ultimate), прекрасно справляется с загрузкой с образа диска. Полученные таким образом диски можно спокойно использовать и в Hyper-V — убиваете сразу двоих зайцев. Не забудьте только сделать заранее копию хранилища BCD через команду bcdedit /export e:\bcd_backup.bcd.
Настраивать AD для рассылки обновлений я не захотел, поэтому просто прописал в групповых политиках путь к WSUS серверу:
Обязательно уделите внимание на порт, я из-за опечатки (8350 вместо 8530) не мог получить обновления на клиентских машинах, хотя сделано было всё верно. Так же названия пунктов в групповых политиках на Windows 7 и Windows 8 различаются.
Для получения отчета средствами WSUS необходимо дополнительно установить пакет — система уведомит вас об этом.
Так как интернета нет, то ситуация с обновлениями выходит как на скриншоте ниже:
Поведение похоже на WUApi — если обновления не прошли через них, то они не знают об этом. Поэтому данный метод снова не подходит.
Windows Management Instrumentation (WMI) в дословном переводе — инструментарий управления Windows.
WMI — реализованный корпорацией Майкрософт стандарт управления предприятием через Интернет для централизованного администрирования и слежения за работой различных частей компьютерной инфраструктуры под управлением платформы Windows. WMI является открытой унифицированной системой интерфейсов доступа к любым параметрам операционной системы, устройствам и приложениям, которые функционируют в ней.
Данный метод позволяет получить данные как с локальной машины, так и удаленно в пределах локальной сети. Для обращения к объектам WMI используется специфический язык запросов WMI Query Language (WQL), который является одной из разновидностей SQL. Получать список мы будем через WMI класс win32_quickfixengineering.
Количественно всё совпадает (даже после обновлений), поэтому было решено использовать этот метод. Для программного создания WMI запросов советую использовать следующую утилиту — WMI Delphi Code Creator. Благодаря ей я немного по другому взглянул на свой код и решил использовать заготовку из этой программы.
Полученные данные методом WMI меня не остановили, и я решился на „поверхностный реверс-инжиниринг“. Воспользуемся утилитой Process Monitor из сборника программ Sysinternals Suite для выявления файлов и ветвей реестра, которые используются при вызове выше перечисленных консольных команд и обращению к пункту „Установленные обновления“ через Панель управления.
Моё внимание привлек файл wuindex.xml, расположенный в папке C:\Windows\servicing\Packages\. Для его анализа была написана следующая программа:
К сожалению, данный файл встречается не на всех системах и принцип его генерирования и обновления остался для меня загадкой. Поэтому снова данный метод нам не подходит.
Вот мы подошли к тому, с чем связаны все эти методы. Продолжая анализ логов Process Monitor я выявил следующие папки и файлы.
Файл DataStore.edb, расположенный в папке C:\Windows\SoftwareDistribution\DataStore. Это база данных, в которой содержится история всех обновлений установленной версии Windows, включая те обновления, которые только стоят в очереди.
Для анализа файла DataStore.edb использовалась программа ESEDatabaseView. В БД существует таблица tbUpdates, содержимое которой трудно интерпретировать.
После мое внимание привлек процесс TiWorker.exe, который вызывался каждый раз при открытии пункта в Панели управления. Он „ходил“ по многим папкам, одна из которых вывела меня на верный путь.
C:\Windows\SoftwareDistribution — это папка, используемая службой обновления Windows для загрузки обновлений на компьютер с последующей их установкой, а также хранит сведения обо всех ранее установленных обновлениях.
Папка WinSxS, расположенная по адресу C:\Windows\winsxs. Это служебная папка операционной системы Windows служащая для хранения ранее установленных версий системных компонентов. Благодаря ее наличию существует возможность отката к более старой версии обновления в случае необходимости.
C:\Windows\servicing — основная составляющая всей системы, имя которой Component-Based Servicing (CBS).
CBS — обслуживание на основе компонентов, составляющая Windows, интегрированная с службой Windows Update. В противоположность обслуживанию на основе файлов File-Based Servicing (FBS) (для ОС, предшествующих Windows Vista), в котором файлы обновлялись прямо в системных директориях, в CBS появилась целая иерархия директорий и целое семейство (стек) модулей/библиотек обслуживания.
CbsApi.dll — основная библиотека поддержки технологии CBS. Не имеет открытых методов, поэтому напрямую использовать её я не смог. Microsoft использует TrustedInstaller.exe и TiWorker.exe для доступа к методам данной библиотеки и уже через эти процессы выводит нужные нам данные. Записи ведутся в C:\Windows\Logs\CBS\CBS.log.
Snappy Driver Installer
Полностью бесплатный инструмент, который доступен в двух версиях: одна загружает данные из интернета по необходимости, а вторая — объёмный офлайн‑вариант — включает всю базу драйверов. Несмотря на довольно неказистый дизайн, Snappy Driver Installer может похвастаться гибкими настройками, отсутствием рекламы и навязывания спонсорского ПО. При всём этом утилита даже не требует установки и легко запускается с флешки.
Предыстория или с чего всё началось.
В нашей компании каждый год проходит конференция молодых специалистов, где каждый участник может решить проблему какого-либо отдела (список тем заранее предлагается).
Раньше на каждое «ТО» с помощью WSUS подтягивались все выпущенные обновления и распространялись на все машины. Также периодически выходили ТСБ (технические сервисные бюллетени), в которых указывалось, что требуется установить необходимые обновления в виде изолированных пакетов. В итоге у нас накапливаются обновления, которые в WSUS отследить нельзя, а можно было увидеть только через панель управления в разделе «Установленные обновления».
Бывают ситуации, когда АРМ или сервер «падает» и приходится его восстанавливать из образа, созданного некоторое время назад. При восстановлении из образа есть вероятность того, что мы можем потерять нужные нам обновления (которые пришли в виде изолированных пакетов), которые устанавливались до падения машины. Объяснил максимально подробно насколько мог, потому что уточнения будут уже коммерческой тайной.
Как вы могли догадаться из названия статьи, уже на выборе метода получения списка у меня возникла непростая задача. Я, как обычно, решил поискать нужное в поисковике, задал вопросы на профильных ресурсах (раз, два, на английском stackoverflow почему-то не понравился мой вопрос и его пришлось удалить), но все ответы не давали нужного результата. Поэтому пришлось разбираться самому, о чем и пойдет речь далее.
Нет значка
Обновление не имеет отношения замены с другим обновлением.
Рабочие проблемы:
Рабочие проблемы отсутствуют.
Значок замены
Это обновление заменяет другие обновления.
Рабочие проблемы:
Рабочие проблемы отсутствуют.
Значки, используемые для обновлений в Windows Server Update Services
Обновления в службах WSUS представлены одним из следующих значков. Для просмотра этих значков необходимо включить столбец замены в консоли Update Services.
DriverHub
Утилита с минималистичным дизайном и очень простым управлением. DriverHub имеет обширную базу, куда входят только подписанные драйверы с официальных сайтов производителей комплектующих. На выбор доступно два режима работы: простой — для новичков и экспертный — для опытных пользователей. Также есть возможность отката к старым драйверам и быстрый запуск системных инструментов Windows.
Программа полностью бесплатна, но предлагает установку браузеров, антивирусов и другого спонсорского ПО, от которого можно отказаться.
Driver Genius
- Цена: бесплатно или 23 доллара в год.
Ещё один функциональный инструмент для работы с драйверами, который в то же время остаётся простым настолько, что доступен даже новичку. Driver Genius имеет внушительную базу оборудования и поддерживает резервное копирование настроенных драйверов с упаковкой в .exe‑файл, которая пригодится для последующей переустановки.
Бесплатная версия программы вполне работоспособна, но имеет некоторые ограничения. Для автоматической установки, бэкапов и функций системной оптимизации необходимо приобрести лицензию.
Утилиты производителей
У всех крупных вендоров комплектующих для компьютеров есть собственные программы, которые помогут определить недостающие драйверы и при необходимости инсталлировать или обновить их. Они работают по одному принципу: автоматически сканируют оборудование, предлагают нужные драйверы и устанавливают. Вам остаётся лишь перезагрузить компьютер, и всё будет функционировать как надо.
Driver Booster
Driver Booster можно пользоваться бесплатно или купить Pro‑версию. Последняя даёт доступ к более полной базе драйверов и расширенным функциям вроде архивации.
Управление обновлениями с помощью WSUS
Обновления используются для обновления или предоставления полной замены файла для программного обеспечения, установленного на компьютере. Каждое обновление, доступное на Центр обновления Майкрософт, состоит из двух компонентов:
Метаданные: предоставляет сведения об обновлении. Например, метаданные предоставляют информацию о свойствах обновления, что позволяет узнать, для чего это обновление полезно. Метаданные также содержат условия лицензионного соглашения на использование программного обеспечения корпорации Майкрософт. Пакет метаданных, который скачивается для обновления, обычно значительно меньше пакета файла обновления.
Файлы обновления. фактические файлы, необходимые для установки обновления на компьютере.
Когда обновления синхронизируются на сервере WSUS, файлы метаданных и файлы обновлений хранятся в двух разных расположениях. Метаданные хранятся в базе данных WSUS. Файлы обновления могут храниться либо на сервере WSUS, либо на Центр обновления Майкрософт серверах в зависимости от того, как настроены параметры синхронизации. Если вы решили хранить файлы обновления на Центр обновления Майкрософт серверах, то во время синхронизации будут скачаны только метаданные. Вы утверждаете обновления с помощью консоли WSUS, а затем клиентские компьютеры получают файлы обновления непосредственно из Центр обновления Майкрософт во время установки. Дополнительные сведения о параметрах хранения обновлений см. в разделе 1,3. Выберите стратегию хранилища WSUS из шага 1. Подготовка к развертыванию WSUS в разделе Руководство по развертыванию WSUS.
Вы будете настраивать и выполнять синхронизацию, добавлять компьютеры и группы компьютеров, а также регулярно развертывать обновления. В следующем списке приведены примеры общих задач, которые можно предпринять при обновлении компьютеров с помощью WSUS.
Определите общий план управления обновлениями на основе топологии сети и пропускной способности, потребностей компании и организационной структуры.
Следует ли настраивать иерархию серверов WSUS и как должна быть структурирована иерархия.
Какие группы компьютеров следует создать и как назначать им компьютеры (на стороне сервера или на стороне клиента).
база данных, используемая для метаданных обновления (например, внутренняя база данных Windows, SQL Server).
Должны ли обновления синхронизироваться автоматически и в какое время.
Задайте параметры синхронизации, такие как источник обновления, классификация продукта и обновления, язык, параметры подключения, место хранения и расписание синхронизации.
Получайте обновления и связанные метаданные на сервере WSUS с помощью синхронизации из Центр обновления Майкрософт или вышестоящего сервера WSUS.
Утвердите или отклоните обновления. Имеется возможность разрешить пользователям устанавливать обновления (если они являются локальными администраторами на клиентских компьютерах).
Настройка автоматических утверждений. Вы также можете указать, следует ли включить автоматическое утверждение редакций для существующих обновлений или утвердить редакции вручную. Если вы решите утвердить редакции вручную, сервер WSUS продолжит использовать старую версию до тех пор, пока новая редакция не будет утверждена вручную.
Проверьте состояние обновлений. Вы можете просмотреть состояние обновления, напечатать отчет о состоянии или настроить электронную почту для обычных отчетов о состоянии.
Обновление продуктов и классификаций
Обновления, доступные на Центр обновления Майкрософт, отличаются по продуктам (или семейству продуктов) и классификации.
Продукт — это конкретный выпуск операционной системы или приложения, например Windows Server 2012. Семейство продуктов представляет собой базовую операционную систему или приложение, от которых происходят отдельные продукты. примером семейства продуктов является Microsoft Windows, из которого Windows Server 2012 является членом. Можно выбрать продукты или семейства продуктов, для которых сервер должен синхронизировать обновления. Можно указать семейство продуктов или отдельные продукты в семействе. При выборе любого продукта или семейства продуктов будут обновлены текущие и будущие версии продукта.
Классификации обновлений представляют тип обновления. для любого конкретного продукта или семейства продуктов обновления могут быть доступны в нескольких классификациях обновлений (например, Windows 7 критические обновления и обновления для системы безопасности). В следующей таблице перечислены классификации обновлений.
Классы обновлений Описание Критические обновления Широко выпущенные исправления для конкретных проблем, устраняющих критические ошибки, не связанные с безопасностью. Обновления определений Обновления для определений вирусов или других файлов определений. драйверы, Программные компоненты, разработанные для поддержки нового оборудования. пакеты дополнительных компонентов; Новые выпуски функций, которые обычно сводятся в продукты в следующем выпуске. Обновление системы безопасности Широко выпускают исправления для конкретных продуктов, устраняя проблемы безопасности. пакеты обновления; Совокупные наборы всех исправлений, обновлений для системы безопасности, критических обновлений и обновлений, созданных с момента выпуска продукта. Пакеты обновления могут также содержать ограниченное количество изменений или функций проекта, запрошенных клиентом. Инструменты Служебные программы и функции, помогающие выполнить задачу или набор задач. накопительные пакеты обновления; Накопительный набор исправлений, обновлений для системы безопасности, критических обновлений и других обновлений, Объединенных в пакет для простоты развертывания. сводный показатель обычно предназначен для определенной области, например безопасности, или конкретного компонента, например службы IIS (IIS). Обновления Широко выпущенные исправления для конкретных проблем, устраняющих некритические ошибки, связанные с безопасностью. Slimware Driverupdate
Удобный менеджер драйверов, который позволяет без хлопот отслеживать новые версии и поддерживать систему в актуальном состоянии. Slimware Driverupdate умеет полностью удалять старые драйверы, создавать точки восстановления и делать резервные копии. Присутствует встроенный планировщик заданий, с помощью которого получится автоматизировать все действия.
Для разблокировки полнофункциональной версии приложения с возможностью устанавливать драйверы необходимо приобрести лицензию — базовую на 1 год и один компьютер или пожизненную на 5–10 лет и пять устройств.
&Значок замененного замещающего значка
Это обновление заменено другим обновлением и заменяет другие обновления.
Рабочие проблемы:
При возможности замените эти обновления заменяемыми обновлениями.
Вывод
Microsoft слишком усложнила тривиальную задачу по получению списка обновлений и сделала этот процесс не совсем явным. Всё это сделано для безопасности, но не для простоты использования. Соглашусь с автором статьи — в получении обновлений стали отсутствовать предсказуемость и прозрачность.
В результате исследования была написана следующая программа, демонстрацию работы которой можно увидеть в данном видео:
17.01.2022
itpro
Active Directory, PowerShell, Windows 10, Windows 11
Комментариев пока нет
В статье рассмотрим несколько способов инвентаризации версии и билдов Windows (особенно актуально это для Windows 10) в домене Active Directory. Если у вас средств автоматизации сбора конфигураций компьютеров, например SCCM, GLPI c FusionInventory, или хотя бы сервер обновлений WSUS (он также позволяет показать версию Windows на обнаруженных компьютерах), вы можете использовать PowerShell скрипт для получения билдов Windows на компьютерах.
На отдельно-стоящем компьютере Windows можно получить номер билда из реестра или из SystemInfo:
Get-ItemProperty 'HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select-Object ProductName, ReleaseID, CurrentBuild
Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
Для получения списка активных компьютеров в домене Active Directory и версий (билдов) Windows на них можно использовать командлет Get-ADComputers.
Убедитесь, что на вашем компьютере установлен модуль Active Directory PowerShell и выполните команду:
Get-ADComputer -Filter <(Enabled -eq $True)>-Property * | Select-Object Name,OperatingSystem,OperatingSystemVersion
Чтобы преобразовать номер билда Windows 10 и 11 в более привычный формат (21H1, 21H2 и т.д.), нужно использовать дополнительную функцию.
function ConvertWindowsBuild[CmdletBinding()]
param(
[string] $OperatingSystem,[string] $OperatingSystemVersion
)
if (($OperatingSystem -like '*Windows 10*') –or ($OperatingSystem -like 'Windows 11*')) $WinBuilds= @'10.0 (22000)' = "Windows 11 21H2"
'10.0 (19044)' = "Windows 10 21H2"
'10.0 (19043)' = "Windows 10 21H1"
'10.0 (19042)' = "Windows 10 20H2"
'10.0 (18362)' = "Windows 10 1903"
'10.0 (17763)' = "Windows 10 1809"
'10.0 (17134)' = "Windows 10 1803"
'10.0 (16299)' = "Windows 10 1709"
'10.0 (15063)' = "Windows 10 1703"
'10.0 (14393)' = "Windows 10 1607"
'10.0 (10586)' = "Windows 10 1511"
'10.0 (10240)' = "Windows 10 1507"
'10.0 (18898)' = 'Windows 10 Insider Preview'
>
$WinBuild= $WinBuilds[$OperatingSystemVersion]
>
else
if ($WinBuild) $WinBuild
> else 'Unknown'
>
>Теперь, чтобы получить список версий Windows с названиями билдов, IP адресами, и датой последнего входа (регистрации) компьютера в домене, выполните следующий PowerShell скрипт:
$Comps= Get-ADComputer -Filter <(Enabled -eq $True)>-properties *
$CompList = foreach ($Comp in $Comps) [PSCustomObject] @Name = $Comp.Name
IPv4Address = $Comp.IPv4Address
OperatingSystem = $Comp.OperatingSystem
Build = ConvertWindowsBuild -OperatingSystem $Comp.OperatingSystem -OperatingSystemVersion $Comp.OperatingSystemVersion
LastLogonDate = $Comp.LastLogonDate
>
>
$CompList | Out-GridViewРезультат предоставлен в виде таблицы Out-Gridview либо экспортировать в CSV ( Export-Csv -Path .\win_builds_report.csv -NoTypeInformation ).
Чтобы вывести суммарную статистику по количеству компьютеров с разными версиями Windows в домене:
$CompList | Group-Object -Property Build | Format-Table -Property Name, Count
Также можно удаленно опрашивать компьютеры и получить версию Windows на них через PowerShell Remoting. Этот метод намного более медленный, но позволить получить версию Windows на компьютерах, которые находятся в рабочей группе (как через PSRemoting удаленно подключиться к компьютеру в рабочей группе). Для получения информации с удаленных компьютеров можно использовать командлет Invoke-Command:
Можно получить версию Windows на нескольких компьютеров по списку из txt файла:
С помощью рассмотренных PowerShell скриптов вы сможете определить версии и билды Windows на компьютерах домена, найти компьютеры с устаревшими билдами Windows 10 и обновить их (пример обновления билда Windows 10 из командной строки).
В работе администратора часто возникает необходимость проверить, установлена ли на некотором компьютере в сети определённая программа и какой версии. Например, можно проверить, установлено ли важное обновление Windows или все ли рабочие станции имеют правильную версию Office.
Как это сделать с помощью командных файлов CMD (BAT) или скриптов (на примере VBScript), рассказывается далее.
Идея основана на том факте, что информация об установленных программах находится в системном реестре по адресу:
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\Указанная ветвь реестра перечисляет только программы, установленные «для всех пользователей», а программы «для этого пользователя» перечислены в ветви:
HKCU\Software\Microsoft\Windows\CurrentVersion\UninstallВ Windows x64 список программ сохраняется также в папке реестра:
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\UninstallСоответственно, для получения полного списка потребуется просканировать информацию из всех трёх ветвей реестра.
Например, на VBScript:
Скрипт подключается к компьютеру с сетевым именем strComputer, просматривает раздел реестра SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ и выводит информацию о программах.
Аналогичные действия можно выполнить в командном файле CMD. Этот командный файл выдаёт список программ:
Для проверки того, установлена ли конкретная программа (по названию) на каком-то одном компьютере, можно использовать следующий командный файл check-app-pc.cmd
Соответственно, команда check-app-pc.cmd KB2570791 ws_alex проверит, установлено ли обновление KB2570791 на компьютере WS_ALEX.
Теперь можно автоматизировать работу этого командного файла, добавив проверку большего количества компьютеров по списку. Для этого создаём командный файл check-app-pclist.cmd с циклом, перебирающим строчки текстового файла с сетевыми именами компьютеров.Пример списка файлов pc.list
Теперь с помощью команды check-app-pclist.cmd KB2570791 pc.list можно проверить, установлено ли обновление KB2570791 на каждом компьютере, перечисленном в файле pc.list.
Многие опытные пользователи относятся к утилитам для работы с драйверами с изрядной долей скептицизма. Мы придерживаемся того же мнения и советуем использовать их только в крайнем случае.
В идеале лучше устанавливать драйверы, которые идут в комплекте с устройствами: материнской платой, видеокартой, принтером и другими. Также можно без опаски применять для поиска и обновления драйверов фирменные утилиты от производителей оборудования.
Программы от сторонних разработчиков нужно использовать с большой осторожностью. Во время их инсталляции следует внимательно отмечать опции в мастере настройки, чтобы случайно не согласиться на установку ненужных антивирусов, браузеров и прочего ПО. Также стоит отказаться от включения автозагрузки, настройки домашней страницы и стандартного поисковика.
Нелишним будет создать точку восстановления системы на случай, если что‑то пойдёт не так.
Значок «Заменено»
Это обновление заменено другим обновлением.
Вы когда-нибудь задумывались, с помощью чего формируется список установленных обновлений Windows? А через какое API его достать? Ответы на эти и другие возникающие вопросы я постараюсь дать в своём небольшом исследовании.
Читайте также: