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使用して、インターネットからヘルプ ファイルをダウンロードし、インターネットに接続されていないシステムからアクセスできる共有フォルダーに保存します。 次に、SourcePath パラメーターUpdate-Help使用して、更新されたヘルプ ファイルを共有からダウンロードし、コンピューターにインストールします。

このコマンドレットは Update-Help 、Windows PowerShell 3.0 で導入されました。

重要

Update-Help には、PowerShell 6.0 以降の管理特権が必要です。 PowerShell 6.1 以降では、既定のスコープCurrentUserを .. PowerShell 6.1 より前のバージョンでは、 Scope パラメーターは使用できませんでした。

コア PowerShell モジュールのヘルプ ファイルを更新するには、コンピューター上の 管理istrators グループのメンバーである必要があります。

PowerShell インストール ディレクトリ ($PSHOME\ModulesPowerShell Core モジュールを含む) のモジュールのヘルプ ファイルをダウンロードまたは更新するには、[管理者として実行] オプションを使用して 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

コマンドレットの実行前に確認を求めるメッセージが表示されます。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

SourcePath で指定されたファイル システムの場所にアクセスするアクセス許可を持つユーザーの資格情報を 指定します。 このパラメーターは、SourcePath または LiteralPath パラメーターがコマンドで使用されている場合にのみ有効です。

Credential パラメーターを使用すると、リモート コンピューターで SourcePath パラメーターを使用してコマンドを実行Update-Helpできます。 明示的な資格情報を指定することで、アクセス拒否エラーが発生したり、CredSSP 認証を使用して資格情報を委任したりすることなく、リモート コンピューターでコマンドを実行し、3 番目のコンピューター上のファイル共有にアクセスできます。

User01 や Doメイン01\User01 などのユーザー名を入力するか、コマンドレットによって生成された PSCredential オブジェクトをGet-Credential入力します。 ユーザー名を入力すると、パスワードの入力を求められます。

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

Note

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

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

このコマンドレットが 1 日 1 回の制限に従っていないことを示し、バージョンのチェックをスキップし、1 GB の制限を超えるファイルをダウンロードします。

このパラメーターを指定しない場合は、 Update-Help 24 時間ごとに 1 回だけ実行されます。 ダウンロードはモジュールごとに 1 GB の非圧縮コンテンツに制限され、ヘルプ ファイルはコンピューター上の既存のファイルよりも新しい場合にのみインストールされます。

1 日に 1 回の制限により、ヘルプ ファイルをホストするサーバーが保護され、接続やダウンロードの繰り返しのリソース コストを発生させることなく、PowerShell プロファイルにコマンドを追加 Update-Help することが実用的になります。

Force パラメーターを使用せずに複数の UI カルチャのモジュールのヘルプを更新するには、次のようなすべての UI カルチャを同じコマンドに含めます。

Update-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FullyQualifiedModule

値には、モジュール名、完全なモジュール仕様、またはモジュール ファイルへのパスを指定できます。

値がパスの場合、パスは完全修飾または相対パスにすることができます。 相対パスは、using ステートメントを含むスクリプトを基準にして解決されます。

値が名前またはモジュールの指定である場合、PowerShell は PSModulePath で指定されたモジュールを検索します。

モジュール仕様は、次のキーを持つハッシュテーブルです。

  • ModuleName - 必須 モジュール名を指定します。
  • GUID - 省略可能 モジュールの GUID を指定します。
  • また 、以下の 3 つのキーのうち少なくとも 1 つを指定する必要 もあります。
    • ModuleVersion - モジュールの最小許容バージョンを指定します。
    • MaximumVersion - モジュールの許容される最大バージョンを指定します。
    • RequiredVersion - モジュールの正確で必要なバージョンを指定します。 これは、他のバージョン キーでは使用できません。

Module パラメーターと 同じコマンドで FullyQualifiedModule パラメーターを 指定 することはできません。

Type:ModuleSpecification[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

インターネットからダウンロードするのではなく、更新されたヘルプ ファイルのフォルダーを指定します。 コマンドレットを使用してヘルプ ファイルをディレクトリにSave-Helpダウンロードした場合は、このパラメーターまたは SourcePath を使用します。

ディレクトリ オブジェクト (コマンドレットGet-ChildItemなど) のパイプラインをGet-Item作成できますUpdate-Help

SourcePath値とは異なり、LiteralPath値は型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に指示します。

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Module

指定したモジュールのヘルプを更新します。 コンマ区切りリストに 1 つ以上のモジュール名または名前パターンを入力するか、各行に 1 つのモジュール名をリストするファイルを指定します。 ワイルドカード文字を使用できます。 コマンドレットからコマンドレットにUpdate-HelpモジュールをGet-Moduleパイプラインできます。

指定するモジュールはコンピューターにインストールする必要がありますが、現在のセッションにインポートする必要はありません。 セッション内の任意のモジュール、または環境変数にリストされている場所にインストールされている任意のモジュールを $env:PSModulePath 指定できます。

* (all) は、コンピューターにインストールされているすべてのモジュールのヘルプの更新を試みます。 更新可能なヘルプをサポートしていないモジュールが含まれています。 この値は、更新可能なヘルプをサポートしていないモジュールがコマンドで検出されたときにエラーが発生する可能性があります。 代わりに、パラメーターなしで実行 Update-Help してください。

コマンドレットの Update-Help Module パラメーターは、モジュール ファイルまたはモジュール マニフェスト ファイルの完全なパスを受け入れられません。 場所にない $env:PSModulePath モジュールのヘルプを更新するには、コマンドを実行する前に、モジュールを現在のセッションに Update-Help インポートします。

Type:String[]
Aliases:Name
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Recurse

指定したディレクトリ内のヘルプ ファイルを再帰的に検索します。 このパラメーターは、コマンドが SourcePath パラメーターを使用する場合にのみ有効です。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

ヘルプが更新されるシステム スコープを指定します。 の更新AllUsers スコープには、Windows システムに対する管理特権が必要です。 このパラメーターは -Scope 、PowerShell Core バージョン 6.1 で導入されました。

CurrentUser は、PowerShell 6.1 以降のヘルプ ファイルの既定のスコープです。 AllUsers を指定して、すべてのユーザーのヘルプをインストールまたは更新できます。 Unix システム sudo では、すべてのユーザーのヘルプを更新するために特権が必要です。 例: sudo pwsh -c Update-Help

許容される値は次のとおりです。

  • CurrentUser
  • AllUsers
Type:UpdateHelpScope
Position:Named
Default value:CurrentUser
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SourcePath

インターネットからダウンロードするのではなく、更新されたヘルプ ファイルを取得するファイル システム フォルダーを指定します Update-Help 。 フォルダーのパスを入力します。 ファイル名またはファイル名拡張子を指定しないでください。 フォルダー (コマンドレットGet-ChildItemUpdate-Helpからフォルダーなど) にパイプラインをGet-Item作成できます。

既定では、 Update-Help 更新されたヘルプ ファイルをインターネットからダウンロードします。 コマンドレットを使用して更新されたヘルプ ファイルをSave-Helpディレクトリにダウンロードした場合は、SourcePath を使用します。

SourcePath の既定値を指定するには、[グループ ポリシー]、[コンピューターの構成] の順に移動し、Update-Help の既定のソース パスを設定します このグループ ポリシー設定を使用 Update-Help すると、ユーザーはインターネットからヘルプ ファイルをダウンロードできなくなります。 詳細については、「about_Group_Policy_Settings」をご覧ください。

Type:String[]
Aliases:Path
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UICulture

このコマンドレットが更新されたヘルプ ファイルを取得する UI カルチャ値を指定します。 カルチャ オブジェクトを含む変数や、カルチャ オブジェクトを取得するコマンド (コマンドes-ESなど) など、1 つ以上の言語コードをGet-CultureGet-UICulture入力します。 ワイルドカード文字は使用できません。

既定では、 Update-Help オペレーティング システムまたはそのフォールバック カルチャの UI カルチャ セット内のヘルプ ファイルを取得します。 UICulture パラメーターを指定した場合は、Update-Help指定した言語のヘルプのみを検索します。

PowerShell 7.4 以降では、地域を問わず英語でヘルプをダウンロードするなど en 、部分的な言語コードを使用できます。

Note

Ubuntu 18.04 では、認識された UI カルチャではない既定のロケール設定 C.UTF.8が変更されました。 Update-Help のようなサポートされているロケール en-USでこのパラメーターを使用しない限り、サイレントモードでヘルプをダウンロードできません。 これは、サポートされていない値を使用するすべてのプラットフォームで発生する可能性があります。

Type:CultureInfo[]
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseDefaultCredentials

現在のユーザーの資格情報を使用して、インターネットダウンロードを含むコマンドを実行することを Update-Help 示します。 既定では、コマンドは明示的な資格情報がない状態で実行されます。

このパラメーターは、Web ダウンロードで NT LAN Manager (NTLM)、ネゴシエート、または Kerberos ベースの認証が使用されている場合にのみ有効です。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 コマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

DirectoryInfo

このコマンドレットには、ディレクトリ パス オブジェクトをパイプ処理できます。

PSModuleInfo

モジュール オブジェクトをこのコマンドレットにパイプできます。

出力

None

このコマンドレットは、出力を返しません。

メモ

PowerShell でインストールされているコマンド、またはディレクトリ内のモジュールを含むコア PowerShell モジュールの$PSHOME\Modulesヘルプを更新するには、[管理者として実行] オプションを使用して PowerShell を起動します。

コンピューター上の 管理istrators グループのメンバーのみが、コア PowerShell モジュール、PowerShell と共にインストールされるコマンド、およびフォルダー内のモジュールのヘルプを$PSHOME\Modules更新できます。 ヘルプ ファイルを更新するアクセス許可がない場合は、ヘルプ ファイルをオンラインで読み取ることができます。 たとえば、Get-Help Update-Help -Online のようにします。

モジュールは、更新可能なヘルプの最小単位です。 特定のコマンドレットのヘルプを更新することはできません。 特定のコマンドレットを含むモジュールを検索するには、コマンドレットの ModuleName プロパティをGet-Command使用します。たとえば、 (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 の両方で使用できます。

およびSave-HelpコマンドレットはUpdate-Help、ヘルプ ファイルをダウンロードするために次のポートを使用します。HTTP の場合はポート 80、HTTPS の場合はポート 443 です。

Update-Help では、すべてのモジュールとコア PowerShell スナップインがサポートされます。他のスナップインはサポートされていません。

環境変数にリスト $env:PSModulePath されていない場所にあるモジュールのヘルプを更新するには、モジュールを現在のセッションにインポートしてから、コマンドを Update-Help 実行します。 パラメーターを指定せずに実行Update-Helpするか、Module パラメーターを使用してモジュール名を指定します。 およびSave-Helpコマンドレットの Update-Help Module パラメーターは、モジュール ファイルまたはモジュール マニフェスト ファイルの完全なパスを受け入れられません。

モジュールはすべて、更新可能なヘルプをサポートできます。 作成するモジュールで更新可能なヘルプをサポートする手順については、「更新可能なヘルプのサポート」を参照してください

Windows プレインストール環境 (Windows PE) では、コマンドレットとSave-HelpコマンドレットはUpdate-Helpサポートされていません。