次の方法で共有


Get-HotFix

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

構文

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

説明

このコマンドレットは、Windows プラットフォームでのみ使用できます。

Get-Hotfix コマンドレットは、Win32_QuickFixEngineering WMI クラスを使用して、ローカル コンピューターまたは指定されたリモート コンピューターにインストールされている修正プログラムを一覧表示します。

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

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

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

例 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 ステートメントでは、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 オブジェクトを入力します。 ユーザー名を入力すると、パスワードの入力を求められます。

資格情報は PSCredential オブジェクトに格納され、パスワードは SecureStringとして格納されます。

手記

SecureString データ保護 の詳細については、「SecureString のセキュリティ 方法」を参照してください。.

型:PSCredential
配置:Named
規定値:Current user
必須: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

コンピューター名を含む文字列をこのコマンドレットにパイプできます。

出力

ManagementObject

このコマンドレットは、コンピューター上の修正プログラムを表すオブジェクトを返します。

メモ

このコマンドレットは、Windows プラットフォームでのみ使用できます。

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

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