次の方法で共有


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

Get-Hotfixは、Description パラメーターと、アスタリスク (*) ワイルドカードを含む文字列 Security を使用して出力をフィルター処理します。 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 として格納されます。

Note

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

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