Get-HotFix
Возвращает исправления, установленные на локальных или удаленных компьютерах.
Синтаксис
Get-HotFix
[[-Id] <String[]>]
[-ComputerName <String[]>]
[-Credential <PSCredential>]
[<CommonParameters>]
Get-HotFix
[-Description <String[]>]
[-ComputerName <String[]>]
[-Credential <PSCredential>]
[<CommonParameters>]
Описание
Этот командлет доступен только на платформе Windows.
Командлет Get-Hotfix
использует класс WMI Win32_QuickFixEngineering для перечисления исправлений, установленных на локальном компьютере или указанных удаленных компьютерах.
Примеры
Пример 1. Получение всех исправлений на локальном компьютере
Командлет Get-Hotfix
получает все исправления, установленные на локальном компьютере.
Get-HotFix
Source Description HotFixID InstalledBy InstalledOn
------ ----------- -------- ----------- -----------
Server01 Update KB4495590 NT AUTHORITY\SYSTEM 5/16/2019 00:00:00
Server01 Security Update KB4470788 NT AUTHORITY\SYSTEM 1/22/2019 00:00:00
Server01 Update KB4480056 NT AUTHORITY\SYSTEM 1/24/2019 00:00:00
Пример 2. Получение исправлений с нескольких компьютеров, отфильтрованных строкой
Команда Get-Hotfix
использует параметры для получения исправлений, установленных на удаленных компьютерах. Результаты фильтруются по указанной строке описания.
$hotFixParams = @{
Description = "Security*"
ComputerName = "Server01, Server02"
Credential = "Domain01\admin01"
}
Get-HotFix @hotFixParams
Get-Hotfix
фильтрует выходные данные с помощью параметра Description и строкового Security, включающего подстановочный знак звездочки (*
). Параметр ComputerName содержит строку с разделительная запятыми имена удаленных компьютеров. Параметр учетных данных указывает учетную запись пользователя, которая имеет разрешение на доступ к удаленным компьютерам и выполнение команд.
Пример 3. Проверка установки обновления и записи имен компьютеров в файл
Команды в этом примере проверяют, установлено ли определенное обновление. Если обновление не установлено, имя компьютера записывается в текстовый файл.
$A = Get-Content -Path ./Servers.txt
$A | ForEach-Object { if (!(Get-HotFix -Id KB957095 -ComputerName $_))
{ Add-Content $_ -Path ./Missing-KB957095.txt }}
Переменная $A
содержит имена компьютеров, полученные Get-Content
из текстового файла. Объекты в $A
отправляются по конвейеру в ForEach-Object
. Оператор if
использует командлет Get-Hotfix
с параметром идентификатора и определенным номером идентификатора для каждого имени компьютера. Если у компьютера нет указанного идентификатора исправления, командлет Add-Content
записывает имя компьютера в файл.
Пример 4. Получение последнего исправления на локальном компьютере
Этот пример получает последнее исправление, установленное на компьютере.
(Get-HotFix | Sort-Object -Property InstalledOn)[-1]
Get-Hotfix
отправляет объекты вниз конвейера в командлет Sort-Object
.
Sort-Object
сортирует объекты по возрастанию и использует параметр свойства для оценки каждой даты InstalledOn. Нотация массива [-1]
выбирает последнее установленное исправление.
Параметры
-ComputerName
Указывает удаленный компьютер. Введите имя NetBIOS, IP-адрес или полное доменное имя удаленного компьютера.
Если параметр ComputerName не указан, Get-Hotfix
выполняется на локальном компьютере.
Параметр ComputerName не зависит от удаленного взаимодействия Windows PowerShell. Если компьютер не настроен для выполнения удаленных команд, используйте параметр ComputerName.
Тип: | String[] |
Aliases: | CN, __Server, IPAddress |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Credential
Указывает учетную запись пользователя, которая имеет разрешение на доступ к компьютеру и выполнение команд. По умолчанию используется текущий пользователь
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, созданный командлетом Get-Credential
. Если ввести имя пользователя, вам будет предложено ввести пароль.
Учетные данные хранятся в объекте PSCredential, а пароль хранится в виде SecureString.
Заметка
Дополнительные сведения о защите данных SecureString см. в разделе Как безопасно SecureString?.
Тип: | PSCredential |
Position: | Named |
Default value: | Current user |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Description
Get-HotFix
использует параметр описания для указания типов исправлений. Разрешены подстановочные знаки.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | True |
-Id
Фильтрует результаты Get-HotFix
для определенных идентификаторов исправлений. Подстановочные знаки не принимаются.
Тип: | String[] |
Aliases: | HFID |
Position: | 0 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
String
Строку, содержащую имя компьютера, можно передать в этот командлет.
Выходные данные
Этот командлет возвращает объекты, представляющие исправления на компьютере.
Примечания
Этот командлет доступен только на платформах Windows.
Класс WMIWin32_QuickFixEngineering представляет небольшое обновление по всей системе, обычно называемое обновлением для быстрого исправления (QFE), примененным к текущей операционной системе. Этот класс возвращает только обновления, предоставляемые службой на основе компонентов (CBS). Эти обновления не перечислены в реестре. Обновления, предоставляемые установщиком Microsoft Windows (MSI) или сайтом центра обновления Windows , не возвращаются Win32_QuickFixEngineering. Дополнительные сведения см. в разделе Win32_QuickFixEngineeringкласса.
Выходные данные Get-HotFix
могут отличаться в разных операционных системах.
Связанные ссылки
PowerShell