次の方法で共有


Get-HotFix

ローカル コンピューターまたはリモート コンピューターにインストールされている修正プログラムを取得します。

構文

Get-HotFix
   [[-Id] <String[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential>][<CommonParameters>]
Get-HotFix
   [-Description <String[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential>][<CommonParameters>]

説明

Get-Hotfix コマンドレットは、ローカル コンピューターまたは指定されたリモート コンピューターにインストールされている修正プログラムまたは更新プログラムを取得します。 更新プログラムは、Windows Update、Microsoft Update、Windows Server Update Services、または手動でインストールできます。

例 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 コマンドは、パラメーターを使用して、リモート コンピューターにインストールされている修正プログラムを取得します。 結果は、指定された説明文字列でフィルター処理されます。

PS> Get-HotFix -Description Security* -ComputerName Server01, Server02 -Credential Domain01\admin01

Description パラメーターと、アスタリスク () ワイルドカードを含むセキュリティ 文字列で出力をフィルター処理します。 ComputerName パラメーターには、リモート コンピューター名のコンマ区切りの文字列が含まれています。 Credential パラメーターは、リモート コンピューターにアクセスしてコマンドを実行するアクセス許可を持つユーザー アカウントを指定します。

例 3: 更新プログラムがインストールされているかどうかを確認し、コンピューター名をファイルに書き込む

この例のコマンドは、特定の更新プログラムがインストールされているかどうかを確認します。 更新プログラムがインストールされていない場合、コンピューター名はテキスト ファイルに書き込まれます。

PS> $A = Get-Content -Path ./Servers.txt
PS> $A | ForEach-Object { if (!(Get-HotFix -Id KB957095 -ComputerName $_))
         { Add-Content $_ -Path ./Missing-KB957095.txt }}

$A 変数には、テキスト ファイルから Get-Content によって取得されたコンピューター名が含まれています。 $A 内のオブジェクトは、パイプラインから ForEach-Objectに送信されます。 if ステートメントでは、Id パラメーターと各コンピューター名の特定の ID 番号を持つ Get-Hotfix コマンドレットを使用します。 指定した修正プログラム ID がコンピューターにインストールされていない場合、Add-Content コマンドレットはコンピューター名をファイルに書き込みます。

例 4: ローカル コンピューターで最新の修正プログラムを取得する

この例では、コンピューターにインストールされている最新の修正プログラムを取得します。

(Get-HotFix | Sort-Object -Property InstalledOn)[-1]

Get-Hotfix、パイプラインの下にあるオブジェクトを Sort-Object コマンドレットに送信します。 Sort-Object は、オブジェクトを昇順で並べ替え、Property パラメーターを使用して、各 InstalledOn 日付を評価します。 配列表記 [-1] は、最新のインストール済み修正プログラムを選択します。

パラメーター

-ComputerName

リモート コンピューターを指定します。 NetBIOS 名、インターネット プロトコル (IP) アドレス、またはリモート コンピューターの完全修飾ドメイン名 (FQDN) を入力します。

ComputerName パラメーターが指定されていない場合、Get-Hotfix はローカル コンピューター上で実行されます。

ComputerName パラメーターは、Windows PowerShell リモート処理に依存しません。 リモート コマンドを実行するようにコンピューターが構成されていない場合は、ComputerName パラメーターを使用します。

型:String[]
Aliases:CN, __Server, IPAddress
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Credential

コンピューターにアクセスしてコマンドを実行するアクセス許可を持つユーザー アカウントを指定します。 User01Domain01\User01などのユーザー名を入力するか、Get-Credential コマンドレットによって生成された PSCredential オブジェクトを入力します。 ユーザー名を入力すると、パスワードの入力を求められます。

Credential パラメーターが指定されていない場合、Get-Hotfix は現在のユーザーを使用します。

型:PSCredential
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Description

Get-HotFix では、Description パラメーターを使用して修正プログラムの種類を指定します。 ワイルドカードを使用できます。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:True

-Id

特定の修正プログラム ID の Get-HotFix 結果をフィルター処理します。 ワイルドカードは使用できません。

型:String[]
Aliases:HFID
配置:0
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

String

1 つ以上のコンピューター名を Get-HotFix にパイプできます。

出力

ManagementObject

Get-HotFix は、コンピューター上の修正プログラムを表すオブジェクトを返します。

メモ

Win32_QuickFixEngineeringWMI クラス は、現在のオペレーティング システムに適用される小規模なシステム全体の更新プログラム (一般にクイック修正エンジニアリング (QFE) 更新プログラムと呼ばれます) を表します。 このクラスは、コンポーネント ベースのサービス (CBS) によって提供される更新プログラムのみを返します。 これらの更新プログラムはレジストリに表示されません。 Microsoft Windows インストーラー (MSI) または Windows Update サイトによって提供される更新プログラムは、Win32_QuickFixEngineeringによって返されません。 詳細については、「Win32_QuickFixEngineering クラスの」を参照してください。

Get-HotFix 出力は、オペレーティング システムによって異なる場合があります。