Update-Help
最新のヘルプ ファイルをダウンロードしてコンピューターにインストールします。
構文
Update-Help
[[-Module] <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[[-SourcePath] <String[]>]
[-Recurse]
[[-UICulture] <CultureInfo[]>]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-Force]
[-Scope <UpdateHelpScope>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Update-Help
[[-Module] <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-LiteralPath <String[]>]
[-Recurse]
[[-UICulture] <CultureInfo[]>]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-Force]
[-Scope <UpdateHelpScope>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Update-Help
コマンドレットは、PowerShell モジュールの最新のヘルプ ファイルをダウンロードし、コンピューターにインストールします。 変更を有効にするために PowerShell を再起動する必要はありません。 Get-Help
コマンドレットを使用すると、新しいヘルプ ファイルをすぐに表示できます。
Update-Help
は、コンピューター上のヘルプ ファイルのバージョンを確認します。 モジュールのヘルプ ファイルがない場合、またはヘルプ ファイルが古い場合は、 Update-Help
は最新のヘルプ ファイルをダウンロードします。 ヘルプ ファイルは、インターネットまたはファイル共有からダウンロードしてインストールできます。
パラメーターがない場合、 Update-Help
更新可能なヘルプをサポートするモジュールのヘルプ ファイルが更新され、セッションに読み込まれるか、 $env:PSModulePath
に含まれる場所にインストールされます。 詳しくは、「about_Updatable_Help」をご覧ください。
Update-Help
は、インストールされているヘルプのバージョンを確認します。 モジュール Update-Help
更新されたヘルプ ファイルが見つからない場合は、エラー メッセージが表示されずにサイレント状態で続行されます。 バージョン チェックをスキップするには、 Force パラメーターを使用します。 状態と進行状況の詳細を表示するには、 Verbose パラメーターを使用します。 特定のモジュールのヘルプ ファイルを更新するには、 Module パラメーターを使用します。
インターネットに接続されていないコンピューターで Update-Help
を使用することもできます。 まず、 Save-Help
cmdlet を使用して、インターネットからヘルプ ファイルをダウンロードし、インターネットに接続されていないシステムからアクセスできる共有フォルダーに保存します。 次に、Update-Help
の SourcePath パラメーターを使用して、更新されたヘルプ ファイルを共有からダウンロードし、コンピューターにインストールします。
Update-Help
コマンドレットは、Windows PowerShell 3.0 で導入されました。
重要
Update-Help
には、PowerShell 6.0 以降の管理特権が必要です。 PowerShell 6.1 以降では、既定の Scope を CurrentUser
に設定します。 PowerShell 6.1 より前では、 Scope パラメーターは使用できませんでした。
コア PowerShell モジュールのヘルプ ファイルを更新するには、コンピューターの Administrators グループのメンバーである必要があります。
PowerShell Core モジュールを含む PowerShell インストール ディレクトリ ($PSHOME\Modules
) のモジュールのヘルプ ファイルをダウンロードまたは更新するには、 管理者として実行 オプションを使用して PowerShell を起動します。 (例: Start-Process pwsh.exe -Verb RunAs
)。
例
例 1: すべてのモジュールのヘルプ ファイルを更新する
Update-Help
コマンドレットは、更新可能なヘルプをサポートするインストール済みモジュールのヘルプ ファイルを更新します。 ユーザー インターフェイス (UI) カルチャ言語は、オペレーティング システムで設定されます。
Update-Help
例 2: 指定したモジュールのヘルプ ファイルを更新する
Update-Help
コマンドレットは、Microsoft.PowerShell で始まるモジュール名についてのみヘルプ ファイルを更新します。
Update-Help -Module Microsoft.PowerShell*
例 3: en-US ロケールに設定されていないシステムでのヘルプの更新
Update-Help
コマンドレットは、複数の言語でヘルプをダウンロードするように設計されています。 ただし、システムで使用する言語にヘルプがない場合は、モジュールと UI カルチャに関するエラー メッセージが表示されます。
この例では、 Update-Help
は、 en-GB
ロケールに設定されたシステムで実行されています。
Update-Help Microsoft.PowerShell.Utility -Force
Update-Help: Failed to update Help for the module(s) 'Microsoft.PowerShell.Utility' with
UI culture(s) {en-GB} : The specified culture is not supported: en-GB. Specify a culture
from the following list: {en-US}..
English-US help content is available and can be installed using: Update-Help -UICulture en-US.
ヘルプ ファイルは常に、 en-US
ロケールに対して発行されます。 英語のヘルプをダウンロードするには、UICulture パラメーターでUpdate-Help
を実行し、en-US
ロケールを指定します。
例 4: ファイル共有から複数のコンピューター上のヘルプ ファイルを更新する
この例では、更新されたヘルプ ファイルがインターネットからダウンロードされ、ファイル共有に保存されます。 ファイル共有にアクセスして更新プログラムをインストールするためのアクセス許可を持つユーザー資格情報が必要です。 ファイル共有を使用すると、ファイアウォールの内側にあるコンピューターやインターネットに接続されていないコンピューターを更新できます。
Save-Help -DestinationPath \\Server01\Share\PSHelp -Credential Domain01\Admin01
Invoke-Command -ComputerName (Get-Content Servers.txt) -ScriptBlock {
Update-Help -SourcePath \\Server01\Share\PSHelp -Credential Domain01\Admin01
}
Save-Help
コマンドは、更新可能なヘルプをサポートするすべてのモジュールの最新のヘルプ ファイルをダウンロードします。
DestinationPath パラメーターは、ファイルを\\Server01\Share\PSHelp
ファイル共有に保存します。 Credential パラメーターは、ファイル共有にアクセスする権限を持つユーザーを指定します。
Invoke-Command
コマンドレットは、複数のコンピューターでリモート Update-Help
コマンドを実行します。 ComputerName パラメーターは、Servers.txt ファイルからリモート コンピューターの一覧を取得します。 ScriptBlock パラメーターは、Update-Help
コマンドを実行し、SourcePath パラメーターを使用して、更新されたヘルプ ファイルを含むファイル共有を指定します。 Credential パラメーターは、ファイル共有にアクセスしてリモート Update-Help
コマンドを実行できるユーザーを指定します。
例 5: 更新されたヘルプ ファイルの一覧を取得する
Update-Help
コマンドレットは、指定したモジュールのヘルプを更新します。 コマンドレットは、 Verbose 共通パラメーターを使用して、更新されたヘルプ ファイルの一覧を表示します。 Verbose を使用すると、特定のモジュールのすべてのヘルプ ファイルまたはヘルプ ファイルの出力を表示できます。
Verbose パラメーターがないと、Update-Help
はコマンドの結果を表示しません。 Verbose パラメーターの出力は、ヘルプ ファイルが更新されたか、最新バージョンがインストールされているかどうかを確認するのに役立ちます。
Update-Help -Module Microsoft.PowerShell.Utility -Verbose
例 6: 更新可能なヘルプをサポートするモジュールを検索する
この例では、更新可能なヘルプをサポートするモジュールの一覧を示します。 このコマンドは、モジュールの HelpInfoUri プロパティを使用して、更新可能なヘルプをサポートするモジュールを識別します。 HelpInfoUri プロパティには、Update-Help
コマンドレットの実行時にリダイレクトされる URL が含まれています。
Get-Module -ListAvailable | Where-Object -Property HelpInfoUri
Directory: C:\program files\powershell\6\Modules
ModuleType Version Name PSEdition ExportedCommands
---------- ------- ---- --------- ----------------
Manifest 6.1.0.0 CimCmdlets Core {Get-CimAssociatedInstance... }
Manifest 1.2.2.0 Microsoft.PowerShell.Archive Desk {Compress-Archive... }
Manifest 6.1.0.0 Microsoft.PowerShell.Diagnostics Core {Get-WinEvent, New-WinEvent}
Directory: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
ModuleType Version Name PSEdition ExportedCommands
---------- ------- ---- --------- ----------------
Manifest 2.0.1.0 Appx Core,Desk {Add-AppxPackage, ... }
Script 1.0.0.0 AssignedAccess Core,Desk {Clear-AssignedAccess, ... }
Manifest 1.0.0.0 BitLocker Core,Desk {Unlock-BitLocker, ... }
例 7: 更新されたヘルプ ファイルのインベントリ
この例では、スクリプト Get-UpdateHelpVersion.ps1
は、各モジュールとそのバージョン番号の更新可能なヘルプ ファイルのインベントリを作成します。
スクリプトは、モジュールの HelpInfoUri プロパティを使用して、更新可能なヘルプをサポートするモジュールを識別します。 更新可能なヘルプをサポートするモジュールの場合、スクリプトはヘルプ情報ファイル (*helpinfo.xml) を検索して解析し、最新バージョン番号を検索します。
このスクリプトでは、 PSCustomObject クラスとハッシュ テーブルを使用して、カスタム出力オブジェクトを作成します。
# Get-UpdateHelpVersion.ps1
Param(
[parameter(Mandatory=$False)]
[String[]]
$Module
)
$HelpInfoNamespace = @{helpInfo='http://schemas.microsoft.com/powershell/help/2010/05'}
if ($Module) { $Modules = Get-Module $Module -ListAvailable | where {$_.HelpInfoUri} }
else { $Modules = Get-Module -ListAvailable | where {$_.HelpInfoUri} }
foreach ($mModule in $Modules)
{
$mDir = $mModule.ModuleBase
if (Test-Path $mdir\*helpinfo.xml)
{
$mName=$mModule.Name
$mNodes = dir $mdir\*helpinfo.xml -ErrorAction SilentlyContinue |
Select-Xml -Namespace $HelpInfoNamespace -XPath "//helpInfo:UICulture"
foreach ($mNode in $mNodes)
{
$mCulture=$mNode.Node.UICultureName
$mVer=$mNode.Node.UICultureVersion
[PSCustomObject]@{"ModuleName"=$mName; "Culture"=$mCulture; "Version"=$mVer}
}
}
}
ModuleName Culture Version
---------- ------- -------
ActiveDirectory en-US 3.0.0.0
ADCSAdministration en-US 3.0.0.0
ADCSDeployment en-US 3.0.0.0
ADDSDeployment en-US 3.0.0.0
ADFS en-US 3.0.0.0
パラメーター
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Credential
SourcePath で指定されたファイル システムの場所にアクセスするアクセス許可を持つユーザーの資格情報を指定します。 このパラメーターは、コマンドで SourcePath または LiteralPath パラメーターが使用されている場合にのみ有効です。
Credential パラメーターを使用すると、リモート コンピューターで SourcePath パラメーターを使用してUpdate-Help
コマンドを実行できます。 明示的な資格情報を指定することで、アクセス拒否エラーが発生したり、CredSSP 認証を使用して資格情報を委任したりすることなく、リモート コンピューターでコマンドを実行し、3 番目のコンピューター上のファイル共有にアクセスできます。
User01 や Domain01\User01 などのユーザー名を入力するか、Get-Credential
コマンドレットによって生成されたPSCredential オブジェクトを入力します。 ユーザー名を入力すると、パスワードの入力を求められます。
資格情報は PSCredential オブジェクトに格納され、パスワードは SecureString として格納されます。
Note
SecureString データ保護の詳細については、「 SecureString のセキュリティ保護方法」を 参照してください。
型: | PSCredential |
配置: | Named |
規定値: | Current user |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Force
このコマンドレットが 1 日 1 回の制限に従っていないことを示し、バージョン チェックをスキップし、1 GB の制限を超えるファイルをダウンロードします。
このパラメーターを指定しない場合、 Update-Help
は 24 時間ごとに 1 回だけ実行されます。 ダウンロードはモジュールごとに 1 GB の非圧縮コンテンツに制限され、ヘルプ ファイルはコンピューター上の既存のファイルよりも新しい場合にのみインストールされます。
1 日に 1 回の制限により、ヘルプ ファイルをホストするサーバーが保護され、 Update-Help
コマンドを PowerShell プロファイルに追加する際に、接続やダウンロードの繰り返しのリソース コストを発生させることなく、実用的になります。
Force パラメーターを使用せずに複数の UI カルチャのモジュールのヘルプを更新するには、次のようなすべての UI カルチャを同じコマンドに含めます。
Update-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-FullyQualifiedModule
値には、モジュール名、完全なモジュール仕様、またはモジュール ファイルへのパスを指定できます。
値がパスの場合、パスは完全修飾または相対パスにすることができます。 相対パスは、using ステートメントを含むスクリプトを基準にして解決されます。
値が名前またはモジュールの指定である場合、PowerShell は指定されたモジュールの PSModulePath を検索します。
モジュール仕様は、次のキーを持つハッシュテーブルです。
ModuleName
- 必須 モジュール名を指定します。GUID
- 省略可能 モジュールの GUID を指定します。- また、以下の 3 つのキーのうち少なくとも 1 つを指定Required です。
ModuleVersion
- モジュールの最小許容バージョンを指定します。MaximumVersion
- モジュールの許容される最大バージョンを指定します。RequiredVersion
- モジュールの正確で必要なバージョンを指定します。 これは、他のバージョン キーでは使用できません。
Module パラメーターと同じコマンドで FullyQualifiedModule パラメーターを指定することはできません。
型: | ModuleSpecification[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-LiteralPath
インターネットからダウンロードするのではなく、更新されたヘルプ ファイルのフォルダーを指定します。 Save-Help
コマンドレットを使用してヘルプ ファイルをディレクトリにダウンロードした場合はこのパラメーターまたは SourcePath を使用します。
Get-Item
やGet-ChildItem
コマンドレットなどのディレクトリ オブジェクトをパイプライン処理して、Update-Help
できます。
SourcePath の値とは異なり、LiteralPath の値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に指示します。
型: | String[] |
Aliases: | PSPath, LP |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Module
指定したモジュールのヘルプを更新します。 コンマ区切りリストに 1 つ以上のモジュール名または名前パターンを入力するか、各行に 1 つのモジュール名をリストするファイルを指定します。 ワイルドカード文字を使用できます。 Get-Module
コマンドレットから Update-Help
コマンドレットにモジュールをパイプライン処理できます。
指定するモジュールはコンピューターにインストールする必要がありますが、現在のセッションにインポートする必要はありません。 セッション内の任意のモジュール、または $env:PSModulePath
環境変数にリストされている場所にインストールされている任意のモジュールを指定できます。
*
(すべて) の値を指定すると、コンピューターにインストールされているすべてのモジュールのヘルプの更新が試行されます。
更新可能なヘルプをサポートしていないモジュールが含まれています。 この値は、更新可能なヘルプをサポートしていないモジュールがコマンドで検出されたときにエラーが発生する可能性があります。 代わりに、パラメーターを指定せずに Update-Help
を実行します。
Update-Help
コマンドレットの Module パラメーターは、モジュール ファイルまたはモジュール マニフェスト ファイルの完全なパスを受け入れられません。 $env:PSModulePath
の場所にないモジュールのヘルプを更新するには、Update-Help
コマンドを実行する前に、モジュールを現在のセッションにインポートします。
型: | String[] |
Aliases: | Name |
配置: | 0 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | True |
-Recurse
指定したディレクトリ内のヘルプ ファイルを再帰的に検索します。 このパラメーターは、コマンドが SourcePath パラメーターを使用する場合にのみ有効です。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Scope
ヘルプが更新されるシステム スコープを指定します。 AllUsers スコープでの更新には、Windows システムに対する管理特権が必要です。 -Scope
パラメーターは、PowerShell Core バージョン 6.1 で導入されました。
CurrentUser は、PowerShell 6.1 以降のヘルプ ファイルの既定のスコープです。 AllUsers を指定して、すべてのユーザーのヘルプをインストールまたは更新できます。 Unix システムでは、すべてのユーザーのヘルプを更新するには、 sudo
特権が必要です。 例: sudo pwsh -c Update-Help
許容される値は次のとおりです。
- CurrentUser
- AllUsers
型: | UpdateHelpScope |
配置: | Named |
規定値: | CurrentUser |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-SourcePath
インターネットからダウンロードするのではなく、 Update-Help
が更新されたヘルプ ファイルを取得するファイル システム フォルダーを指定します。 フォルダーのパスを入力します。 ファイル名またはファイル名拡張子を指定しないでください。 Get-Item
またはGet-ChildItem
コマンドレットのフォルダーなどのフォルダーをパイプライン処理して、Update-Help
できます。
既定では、更新されたヘルプ ファイル Update-Help
インターネットからダウンロードされます。 Save-Help
コマンドレットを使用して更新されたヘルプ ファイルをディレクトリにダウンロードした場合は、SourcePathを使用します。
SourcePath の既定値を指定するには、グループ ポリシー、Computer 構成に移動し Update-Help の既定のソース パスを設定します。 このグループ ポリシー設定により、ユーザーは Update-Help
を使用してインターネットからヘルプ ファイルをダウンロードできなくなります。
詳細については、「about_Group_Policy_Settings」をご覧ください。
型: | String[] |
Aliases: | Path |
配置: | 1 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-UICulture
このコマンドレットが更新されたヘルプ ファイルを取得する UI カルチャ値を指定します。 1 つ以上の言語コード ( es-ES
、カルチャ オブジェクトを含む変数、または Get-Culture
や Get-UICulture
コマンドなどのカルチャ オブジェクトを取得するコマンドなど) を入力します。 ワイルドカード文字は使用できません。
既定では、 Update-Help
はオペレーティング システムまたはそのフォールバック カルチャの UI カルチャ セット内のヘルプ ファイルを取得します。 UICulture パラメーターを指定した場合、Update-Help
は指定された言語のヘルプのみを検索します。
PowerShell 7.4 以降では、 en
などの部分的な言語コードを使用して、任意のリージョンのヘルプを英語でダウンロードできます。
Note
Ubuntu 18.04 では、既定のロケール設定が C.UTF.8
に変更されました。これは認識された UI カルチャではありません。 Update-Help
en-US
など、サポートされているロケールでこのパラメーターを使用しない限り、ヘルプをサイレント モードでダウンロードできません。 これは、サポートされていない値を使用するすべてのプラットフォームで発生する可能性があります。
型: | CultureInfo[] |
配置: | 2 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-UseDefaultCredentials
Update-Help
現在のユーザーの資格情報を使用して、インターネットダウンロードを含むコマンドを実行することを示します。 既定では、コマンドは明示的な資格情報がない状態で実行されます。
このパラメーターは、Web ダウンロードで NT LAN Manager (NTLM)、ネゴシエート、または Kerberos ベースの認証が使用されている場合にのみ有効です。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
このコマンドレットには、ディレクトリ パス オブジェクトをパイプ処理できます。
モジュール オブジェクトをこのコマンドレットにパイプできます。
出力
None
このコマンドレットは、出力を返しません。
メモ
PowerShell でインストールされているコマンド、または $PSHOME\Modules
ディレクトリ内の任意のモジュールを含む主要な PowerShell モジュールのヘルプを更新するには、管理者として実行 オプションを使用して PowerShell を起動。
コンピューター上の Administrators グループのメンバーのみが、コア PowerShell モジュール、PowerShell と共にインストールされるコマンド、および $PSHOME\Modules
フォルダー内のモジュールのヘルプを更新できます。 ヘルプ ファイルを更新するアクセス許可がない場合は、ヘルプ ファイルをオンラインで読み取ることができます。 たとえば、Get-Help Update-Help -Online
のようにします。
モジュールは、更新可能なヘルプの最小単位です。 特定のコマンドレットのヘルプを更新することはできません。 特定のコマンドレットを含むモジュールを検索するには、Get-Command
コマンドレットの ModuleName プロパティ (たとえば、(Get-Command Update-Help).ModuleName
) を使用します。
ヘルプ ファイルはモジュール ディレクトリにインストールされるため、 Update-Help
コマンドレットは、コンピューターにインストールされているモジュールに対してのみ、更新されたヘルプ ファイルをインストールできます。 ただし、 Save-Help
コマンドレットは、コンピューターにインストールされていないモジュールのヘルプを保存できます。
Update-Help
コマンドレットは、Windows PowerShell 3.0 で導入されました。 以前のバージョンの PowerShell では機能しません。 Windows PowerShell 2.0 と Windows PowerShell 3.0 の両方を持つコンピューターでは、Windows PowerShell 3.0 セッションで Update-Help
コマンドレットを使用してヘルプ ファイルをダウンロードおよび更新します。 ヘルプ ファイルは、Windows PowerShell 2.0 と Windows PowerShell 3.0 の両方で使用できます。
Update-Help
コマンドレットとSave-Help
コマンドレットは、ヘルプ ファイルをダウンロードするために次のポートを使用します。HTTP の場合はポート 80、HTTPS の場合はポート 443 です。
Update-Help
では、すべてのモジュールとコア PowerShell スナップインがサポートされます。他のスナップインはサポートされていません。
$env:PSModulePath
環境変数にリストされていない場所にあるモジュールのヘルプを更新するには、モジュールを現在のセッションにインポートしてから、Update-Help
コマンドを実行します。 パラメーターを指定せずに Update-Help
を実行するか、 Module パラメーターを使用してモジュール名を指定します。 Update-Help
およびSave-Help
コマンドレットの Module パラメーターは、モジュール ファイルまたはモジュール マニフェスト ファイルの完全なパスを受け入れられません。
モジュールはすべて、更新可能なヘルプをサポートできます。 作成するモジュールで更新可能なヘルプをサポートする手順については、「 更新可能なヘルプのサポートを参照してください。
Update-Help
コマンドレットとSave-Help
コマンドレットは、Windows プレインストール環境 (Windows PE) ではサポートされていません。
関連リンク
PowerShell