次の方法で共有


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

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

重要

Update-Help には、PowerShell 6.0 以降の管理特権が必要です。 PowerShell 6.1 以降では、既定の ScopeCurrentUser に設定します。 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 番目のコンピューター上のファイル共有にアクセスできます。

User01Domain01\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-ItemGet-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-CultureGet-UICulture コマンドなどのカルチャ オブジェクトを取得するコマンドなど) を入力します。 ワイルドカード文字は使用できません。

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

PowerShell 7.4 以降では、 en などの部分的な言語コードを使用して、任意のリージョンのヘルプを英語でダウンロードできます。

Note

Ubuntu 18.04 では、既定のロケール設定が C.UTF.8 に変更されました。これは認識された UI カルチャではありません。 Update-Helpen-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

入力

DirectoryInfo

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

PSModuleInfo

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

出力

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) ではサポートされていません。