Share via


Update-Help

最新のヘルプ ファイルをダウンロードしてコンピューターにインストールします。

構文

Update-Help
      [[-Module] <String[]>]
      [-FullyQualifiedModule <ModuleSpecification[]>]
      [[-SourcePath] <String[]>]
      [-Recurse]
      [[-UICulture] <CultureInfo[]>]
      [-Credential <PSCredential>]
      [-UseDefaultCredentials]
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-Help
      [[-Module] <String[]>]
      [-FullyQualifiedModule <ModuleSpecification[]>]
      [-LiteralPath <String[]>]
      [-Recurse]
      [[-UICulture] <CultureInfo[]>]
      [-Credential <PSCredential>]
      [-UseDefaultCredentials]
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

説明

コマンドレットは Update-Help 、PowerShell モジュールの最新のヘルプ ファイルをダウンロードし、コンピューターにインストールします。 変更を有効にするために PowerShell を再起動する必要はありません。 コマンドレットを Get-Help 使用すると、新しいヘルプ ファイルをすぐに表示できます。

Update-Help は、コンピューター上のヘルプ ファイルのバージョンを確認します。 モジュールのヘルプ ファイルがない場合、またはヘルプ ファイルが古い場合は、 Update-Help 最新のヘルプ ファイルをダウンロードします。 ヘルプ ファイルは、インターネットまたはファイル共有からダウンロードしてインストールできます。

パラメーターを指定しない場合は、 Update-Help セッション内のモジュールと、更新可能なヘルプをサポートするすべてのインストール済みモジュールのヘルプ ファイルを更新します。 インストールされているが、現在のセッションに読み込まれていないモジュールが含まれます。 PowerShell モジュールは、環境変数に一覧表示されている場所に $env:PSModulePath 格納されます。 詳しくは、「about_Updatable_Help」をご覧ください。

Module パラメーターを使用して、特定のモジュールのヘルプ ファイルを更新できます。 UICulture パラメーターを使用して、複数の言語とロケールでヘルプ ファイルをダウンロードします。

インターネットに接続されていないコンピューターで を使用 Update-Help できます。 コマンドレットを Save-Help 使用して、インターネットからヘルプ ファイルをダウンロードし、共有フォルダーやファイル システム ディレクトリなどのファイル システムの場所に保存します。 次に、 の Update-HelpSourcePath パラメーターを使用して、更新されたヘルプ ファイルをファイル システムの場所からダウンロードし、コンピューターにインストールします。

コマンドレットを PowerShell プロファイルに追加することで、ヘルプの Update-Help 更新を自動化できます。 既定では、 Update-Help 各コンピューターで 1 日に 1 回だけ実行されます。 1 日に 1 回という制限をオーバーライドするには、Force パラメーターを使用します。

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

重要

Update-Help には管理特権が必要です。

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

PowerShell インストール ディレクトリ ($PSHOME\ModulesPowerShell Core モジュールを含む) 内のモジュールのヘルプ ファイルをダウンロードまたは更新するには、[管理者として実行] オプションを使用して PowerShell を起動します。 (例: Start-Process powershell.exe -Verb RunAs)。

また、統合スクリプト環境 (ISE) の [ヘルプ] メニューの [ヘルプWindows PowerShell更新] メニュー項目Windows PowerShell使用して、ヘルプ ファイルを更新することもできます。

Update Windows PowerShell ヘルプ 項目は、パラメーターを指定せずにコマンドレットをUpdate-Help実行します。 ディレクトリ内のモジュールのヘルプを$PSHOME更新するには、[管理者として実行] オプションを使用して ISE のWindows PowerShellを開始します。

例 1: すべてのモジュールのヘルプ ファイルを更新する

コマンドレットは Update-Help 、更新可能なヘルプをサポートするインストール済みモジュールのヘルプ ファイルを更新します。 ユーザー インターフェイス (UI) カルチャ言語は、オペレーティング システムで設定されます。

Update-Help

例 2: 指定したモジュールのヘルプ ファイルを更新する

コマンドレットは Update-HelpMicrosoft.PowerShell で始まるモジュール名についてのみヘルプ ファイルを更新します。

Update-Help -Module Microsoft.PowerShell*

例 3: さまざまな言語のヘルプ ファイルを更新する

コマンドレットは Update-Help 、すべてのモジュールの日本語 (ja-JP) と英語 (en-US) のヘルプ ファイルを更新します。

モジュールが指定された UI カルチャのヘルプ ファイルを提供しない場合は、モジュールと UI カルチャに関するエラー メッセージが表示されます。 この例では、エラー メッセージは、モジュール Microsoft.PowerShell.Utilityja-JP ヘルプ ファイルが見つからなかったことを示しています。

Update-Help -UICulture ja-JP, en-US

Update-Help : Failed to update Help for the module(s) 'Microsoft.PowerShell.Utility' with UI culture(s) {ja-JP}
No UI culture was found that matches the following pattern: ja-JP.

例 4: ヘルプ ファイルを自動的に更新する

この例では、毎日午前 3 時に、すべてのモジュールのヘルプを更新するスケジュールされたジョブを作成します。

$jobParams = @{
  Name = 'UpdateHelpJob'
  Credential = 'Domain01\User01'
  ScriptBlock = '{Update-Help}'
  Trigger = (New-JobTrigger -Daily -At "3 AM")
}
Register-ScheduledJob @jobParams

Id         Name            JobTriggers     Command                                  Enabled
--         ----            -----------     -------                                  -------
1          UpdateHelpJob   1               Update-Help                              True

コマンドレットは Register-ScheduledJob 、コマンドを実行するスケジュールされたジョブを Update-Help 作成します。 コマンドは 、Credential パラメーターを使用して、コンピューター上の Administrators グループのメンバーの資格情報を使用して実行 Update-Help します。 Trigger パラメーターの値は、New-JobTrigger毎日午前 3 時にジョブを開始するジョブ トリガーを作成するコマンドです。

コマンドを Register-ScheduledJob 実行するには、[ 管理者として実行 ] オプションを使用して PowerShell を起動します。 PowerShell では、 Credential パラメーターで指定されたユーザーのパスワードの入力を求められます。 資格情報は、スケジュールされたジョブと共に格納されます。 ジョブの実行時にメッセージが表示されません。

コマンドレットを Get-ScheduledJob 使用して、スケジュールされたジョブを表示し、コマンドレットを Set-ScheduledJob 使用して変更し、コマンドレットを Unregister-ScheduledJob 使用して削除できます。 また、次に示すパス内のタスク スケジューラでスケジュール済みジョブの表示と管理ができます:

Task Scheduler Library\Microsoft\Windows\PowerShell\ScheduledJobs.

例 5: ファイル共有から複数のコンピューター上のヘルプ ファイルを更新する

この例では、更新されたヘルプ ファイルがインターネットからダウンロードされ、ファイル共有に保存されます。 ファイル共有にアクセスして更新プログラムをインストールするためのアクセス許可を持つユーザー資格情報が必要です。 ファイル共有を使用すると、ファイアウォールの内側にある、またはインターネットに接続されていないコンピューターを更新できます。

PS> Save-Help -DestinationPath \\Server01\Share\PSHelp -Credential Domain01\Admin01
PS> 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 コマンドを実行できるユーザーを指定します。

例 6: 更新されたヘルプ ファイルの一覧を取得する

コマンドレットは、 Update-Help 指定されたモジュールのヘルプを更新します。 コマンドレットは Verbose 共通パラメーターを使用して、更新されたヘルプ ファイルの一覧を表示します。 Verbose を使用すると、特定のモジュールのすべてのヘルプ ファイルまたはヘルプ ファイルの出力を表示できます。

Verbose パラメーターがない場合、Update-Helpコマンドの結果は表示されません。 Verbose パラメーターの出力は、ヘルプ ファイルが更新されたか、最新バージョンがインストールされているかどうかを確認するのに役立ちます。

Update-Help -Module Microsoft.PowerShell.Utility -Verbose

例 7: 更新可能なヘルプをサポートするモジュールを見つける

この例では、更新可能なヘルプをサポートするモジュールの一覧を示します。 コマンドは、モジュールの HelpInfoUri プロパティを使用して、更新可能なヘルプをサポートするモジュールを識別します。 HelpInfoUri プロパティには、コマンドレットの実行時にリダイレクトされるアドレスがUpdate-Help含まれています。

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, ... }

例 8: インベントリの更新されたヘルプ ファイル

この例では、スクリプト Get-UpdateHelpVersion.ps1 によって、各モジュールの更新可能なヘルプ ファイルとそのバージョン番号のインベントリが作成されます。

スクリプトは、モジュールの HelpInfoUri プロパティを使用して、更新可能なヘルプをサポートするモジュールを識別します。 更新可能なヘルプをサポートするモジュールの場合、スクリプトはヘルプ情報ファイル (*helpinfo.xml) を検索して解析し、最新バージョン番号を検索します。

このスクリプトでは、 PSCustomObject クラスとハッシュ テーブルを使用して、カスタム出力オブジェクトを作成します。

# Get-UpdateHelpVersion.ps1
Param(
    [parameter(Mandatory=$False)]
    [String[]]
    $Module
)
$HelpInfoNamespace = @{helpInfo='https://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 番目のコンピューター上のファイル共有にアクセスできます。

Type:PSCredential
Position:Named
Default value:None
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

ModuleSpecification オブジェクトの形式で指定された名前を持つモジュールを指定します。 これらのモジュールについては、「 ModuleSpecification Constructor (Hashtable)」の「解説」セクションで説明されています。

たとえば、 FullyQualifiedModule パラメーターは、次の形式で指定されたモジュール名を受け取ります。

@{ModuleName = "modulename"; ModuleVersion = "version_number"}

または

@{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}.

ModuleNameModuleVersion は必須ですが、Guid は省略可能です。

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-ItemUpdate-Helpパイプライン処理できます。

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

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

-Module

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

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

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

コマンドレットの Module パラメーターは、 Update-Help モジュール ファイルまたはモジュール マニフェスト ファイルの完全なパスを受け入れられません。 場所にない $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

-SourcePath

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

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

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

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

-UICulture

を使用して更新された Update-Help ヘルプ ファイルを取得する UI カルチャ値を指定します。 es-ES などの 1 つ以上の言語コード、カルチャ オブジェクトを含む変数、または または コマンドなどのカルチャ オブジェクトを取得するコマンドをGet-CultureGet-UICulture入力します。 ワイルドカード文字は許可されておらず、 de などの部分的な言語コードを送信することはできません。

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

UICulture パラメーターを使用するコマンドは、指定した UI カルチャのヘルプ ファイルをモジュールが提供する場合に限り、成功します。 指定した UI カルチャがサポートされていないためにコマンドが失敗した場合は、エラー メッセージが表示されます。

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

ディレクトリ パスを に Update-Helpパイプできます。

PSModuleInfo

コマンドレットから Get-Module モジュール オブジェクトを に Update-Helpパイプできます。

出力

None

Update-Help は出力を生成しません。

メモ

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

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

モジュールは、更新可能なヘルプの最小単位です。 特定のコマンドレットのヘルプを更新することはできません。 特定のコマンドレットを含むモジュールを見つけるには、コマンドレットの ModuleName プロパティ ( Get-Command 例: (Get-Command Update-Help).ModuleName) を使用します。

ヘルプ ファイルはモジュール ディレクトリにインストールされるため、 Update-Help コマンドレットは、コンピューターにインストールされているモジュールに対してのみ更新されたヘルプ ファイルをインストールできます。 ただし、 コマンドレットを Save-Help 使用すると、コンピューターにインストールされていないモジュールのヘルプを保存できます。

モジュールの更新されたヘルプ ファイルが見つからない場合、または指定した言語で更新されたヘルプが見つからない場合 Update-Help は、エラー メッセージが表示されずにサイレント状態で続行されます。 状態や進捗状況の詳細を確認するには、Verbose パラメーターを使用します。

コマンドレットはUpdate-Help、Windows PowerShell 3.0 で導入されました。 以前のバージョンのWindows 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 コマンドレットは、ヘルプ ファイルをダウンロードするために次のポートを使用します。HTTP の場合はUpdate-Helpポート 80、HTTPS の場合はポート 443 です。

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

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

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

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