次の方法で共有


Import-PSSession

別のセッションから現在のセッションにコマンドをインポートします。

構文

Import-PSSession
      [-Prefix <String>]
      [-DisableNameChecking]
      [[-CommandName] <String[]>]
      [-AllowClobber]
      [-ArgumentList <Object[]>]
      [-CommandType <CommandTypes>]
      [-Module <String[]>]
      [-FullyQualifiedModule <ModuleSpecification[]>]
      [[-FormatTypeName] <String[]>]
      [-Certificate <X509Certificate2>]
      [-Session] <PSSession>
      [<CommonParameters>]

説明

Import-PSSession コマンドレットは、コマンドレット、関数、エイリアスなどのコマンドを、ローカル コンピューターまたはリモート コンピューター上の PSSession から現在のセッションにインポートします。 Get-Command コマンドレットが PSSession で検索できる任意のコマンドをインポートできます。

Import-PSSession コマンドを使用して、Microsoft Exchange Server シェルなどのカスタマイズされたシェルから、または Windows PowerShell モジュールやスナップイン、または現在のセッションに含まれていないその他の要素を含むセッションからコマンドをインポートします。

コマンドをインポートするには、まず New-PSSession コマンドレットを使用して PSSession を作成します。 次に、Import-PSSession コマンドレットを使用してコマンドをインポートします。 既定では、Import-PSSession は、現在のセッションのコマンドと同じ名前のコマンドを除くすべてのコマンドをインポートします。 すべてのコマンドをインポートするには、AllowClobber パラメーター 使用します。

インポートされたコマンドは、セッション内の任意のコマンドを使用するのと同じように使用できます。 インポートされたコマンドを使用すると、インポート元のセッションで、コマンドのインポートされた部分が暗黙的に実行されます。 ただし、リモート操作は Windows PowerShell によって完全に処理されます。 他のセッション (PSSession) への接続を開いたままにする必要がある点を除き、それらを認識する必要もありません。 閉じると、インポートされたコマンドは使用できなくなります。

インポートされたコマンドはローカル コマンドよりも実行に時間がかかる場合があるため、Import-PSSession はインポートされたすべてのコマンドに AsJob パラメーターを追加します。 このパラメーターを使用すると、Windows PowerShell バックグラウンド ジョブとしてコマンドを実行できます。 詳細については、about_Jobsを参照してください。

Import-PSSessionを使用すると、Windows PowerShell は、セッションにのみ存在する一時モジュールにインポートされたコマンドを追加し、モジュールを表すオブジェクトを返します。 今後のセッションで使用できる永続的なモジュールを作成するには、Export-PSSession コマンドレットを使用します。

Import-PSSession コマンドレットは、Windows PowerShell の暗黙的なリモート処理機能を使用します。 現在のセッションにコマンドをインポートすると、元のセッションまたは元のコンピューター上の同様のセッションで暗黙的に実行されます。

Windows PowerShell 3.0 以降では、Import-Module コマンドレットを使用して、リモート セッションから現在のセッションにモジュールをインポートできます。 この機能では、暗黙的なリモート処理が使用されます。 Import-PSSession を使用して、選択したモジュールをリモート セッションから現在のセッションにインポートするのと同じです。

例 1: PSSession からすべてのコマンドをインポートする

$S = New-PSSession -ComputerName Server01
Import-PSSession -Session $S

このコマンドは、現在のセッションのコマンドと同じ名前のコマンドを除き、Server01 コンピューター上の PSSession からすべてのコマンドを現在のセッションにインポートします。

このコマンドは CommandName パラメーターを使用しないため、インポートされたコマンドに必要なすべての書式設定データもインポートします。

例 2: 特定の文字列で終わるコマンドをインポートする

$S = New-PSSession https://ps.testlabs.com/powershell
Import-PSSession -Session $S -CommandName *-test -FormatTypeName *
New-Test -Name Test1
Get-Test test1 | Run-Test

これらのコマンドは、PSSession から "-test" で終わる名前のコマンドをローカル セッションにインポートし、インポートされたコマンドレットの使用方法を示します。

最初のコマンドでは、New-PSSession コマンドレットを使用して PSSession を作成します。 PSSession は $S 変数に保存されます。

2 番目のコマンドでは、Import-PSSession コマンドレットを使用して、$S の PSSession から現在のセッションにコマンドをインポートします。 CommandName パラメーターを使用して、Test 名詞と FormatTypeName パラメーターを使用してコマンドを指定し、テスト コマンドの書式設定データをインポートします。

3 番目と 4 番目のコマンドは、現在のセッションでインポートされたコマンドを使用します。 インポートされたコマンドは実際には現在のセッションに追加されるため、ローカル構文を使用してコマンドを実行します。 インポートされたコマンドを実行するために、Invoke-Command コマンドレットを使用する必要はありません。

例 3: PSSession からコマンドレットをインポートする

$S1 = New-PSSession -ComputerName s1
$S2 = New-PSSession -ComputerName s2
Import-PSSession -Session s1 -Type Cmdlet -Name New-Test, Get-Test -FormatTypeName *
Import-PSSession -Session s2 -Type Cmdlet -Name Set-Test -FormatTypeName *
New-Test Test1 | Set-Test -RunType Full

この例では、ローカル コマンドレットを使用する場合と同様に、インポートされたコマンドレットを使用できることを示します。

これらのコマンドは、server01 コンピューターの PSSession から New-Test コマンドレットと Get-Test コマンドレットをインポートし、Server02 コンピューターの PSSession から Set-Test コマンドレットをインポートします。

コマンドレットが異なる PSSession からインポートされた場合でも、エラーなしで 1 つのコマンドレットから別のコマンドレットにオブジェクトをパイプできます。

例 4: インポートされたコマンドをバックグラウンド ジョブとして実行する

$S = New-PSSession -ComputerName Server01
Import-PSSession -Session $S -CommandName *-test* -FormatTypeName *
$batch = New-Test -Name Batch -AsJob
Receive-Job $batch

この例では、インポートしたコマンドをバックグラウンド ジョブとして実行する方法を示します。

インポートされたコマンドはローカル コマンドよりも実行に時間がかかる場合があるため、Import-PSSession はインポートされたすべてのコマンドに AsJob パラメーターを追加します。 AsJob パラメーターを使用すると、バックグラウンド ジョブとしてコマンドを実行できます。

最初のコマンドは、Server01 コンピューターに PSSession を作成し、PSSession オブジェクトを $S 変数に保存します。

2 番目のコマンドでは、Import-PSSession を使用して、$S の PSSession から現在のセッションに Test コマンドレットをインポートします。

3 番目のコマンドでは、インポートされた コマンドレットの New-Test パラメーターを使用して、New-Test コマンドをバックグラウンド ジョブとして実行します。 このコマンドは、New-Test 変数 $batch 返すジョブ オブジェクトを保存します。

4 番目のコマンドでは、Receive-Job コマンドレットを使用して、$batch 変数内のジョブの結果を取得します。

例 5: Windows PowerShell モジュールからコマンドレットと関数をインポートする

$S = New-PSSession -ComputerName Server01
Invoke-Command -Session $S {Import-Module TestManagement}
Import-PSSession -Session $S -Module TestManagement

この例では、リモート コンピューター上の Windows PowerShell モジュールから現在のセッションにコマンドレットと関数をインポートする方法を示します。

最初のコマンドは、Server01 コンピューターに PSSession を作成し、$S 変数に保存します。

2 番目のコマンドでは、Invoke-Command コマンドレットを使用して、Import-Moduleの PSSession で $S コマンドを実行します。

通常、モジュールは Windows PowerShell プロファイルの Import-Module コマンドによってすべてのセッションに追加されますが、プロファイルは PSSession では実行されません。

3 番目のコマンドでは、Import-PSSession パラメーターを使用して、モジュール内のコマンドレットと関数を現在のセッションにインポートします。

例 6: 一時ファイルにモジュールを作成する

PS C:\> Import-PSSession $S -CommandName Get-Date, SearchHelp -FormatTypeName * -AllowClobber

Name              : tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1zunz.ttf
Path              : C:\Users\User01\AppData\Local\Temp\tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1
zunz.ttf\tmp_79468106-4e1d-4d90-af97-1154f9317239_
tcw1zunz.ttf.psm1
Description       : Implicit remoting for http://server01.corp.fabrikam.com/wsman
Guid              : 79468106-4e1d-4d90-af97-1154f9317239
Version           : 1.0
ModuleBase        : C:\Users\User01\AppData\Local\Temp\tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1
zunz.ttf
ModuleType        : Script
PrivateData       : {ImplicitRemoting}
AccessMode        : ReadWrite
ExportedAliases   : {}
ExportedCmdlets   : {}
ExportedFunctions : {[Get-Date, Get-Date], [SearchHelp, SearchHelp]}
ExportedVariables : {}
NestedModules     : {}

この例は、Import-PSSession がディスク上の一時ファイルにモジュールを作成することを示しています。 また、すべてのコマンドが現在のセッションにインポートされる前に関数に変換されていることも示しています。

このコマンドでは、Import-PSSession コマンドレットを使用して、Get-Date コマンドレットと SearchHelp 関数を現在のセッションにインポートします。

Import-PSSession コマンドレットは、一時モジュールを表す PSModuleInfo オブジェクトを返します。 Path プロパティの値は、スクリプト モジュール (.psm1) ファイル Import-PSSession 一時的な場所に作成されたことを示しています。 ExportedFunctions プロパティは、Get-Date コマンドレットと SearchHelp 関数の両方が関数としてインポートされたことを示します。

例 7: インポートされたコマンドで非表示になっているコマンドを実行する

PS C:\> Import-PSSession $S -CommandName Get-Date -FormatTypeName * -AllowClobber

PS C:\> Get-Command Get-Date -All

CommandType   Name       Definition
-----------   ----       ----------
Function      Get-Date   ...
Cmdlet        Get-Date   Get-Date [[-Date] <DateTime>] [-Year <Int32>] [-Month <Int32>]

PS C:\> Get-Date
09074

PS C:\> (Get-Command -Type Cmdlet -Name Get-Date).PSSnapin.Name
Microsoft.PowerShell.Utility

PS C:\> Microsoft.PowerShell.Utility\Get-Date
Sunday, March 15, 2009 2:08:26 PM

この例では、インポートしたコマンドで非表示になっているコマンドを実行する方法を示します。

最初のコマンドは、Get-Date 変数の PSSession から $S コマンドレットをインポートします。 現在のセッションには Get-Date コマンドレットが含まれているため、コマンドに allowClobber パラメーター 必要です。

2 番目のコマンドでは、 コマンドレットの Get-Command パラメーターを使用して、現在のセッションのすべての Get-Date コマンドを取得します。 出力は、セッションに元の Get-Date コマンドレットと Get-Date 関数が含まれていることを示しています。 Get-Date 関数は、Get-Dateの PSSession でインポートされた $S コマンドレットを実行します。

3 番目のコマンドは、Get-Date コマンドを実行します。 関数はコマンドレットよりも優先されるため、Windows PowerShell はインポートされた Get-Date 関数を実行し、ユリウス日を返します。

4 番目と 5 番目のコマンドは、修飾名を使用して、インポートされたコマンドで非表示になっているコマンドを実行する方法を示しています。

4 番目のコマンドは、元の Get-Date コマンドレットを現在のセッションに追加した Windows PowerShell スナップインの名前を取得します。

5 番目のコマンドでは、Get-Date コマンドレットのスナップイン名を使用して、Get-Date コマンドを実行します。

コマンドの優先順位と非表示のコマンドの詳細については、about_Command_Precedenceを参照してください。

例 8: 名前に特定の文字列を含むコマンドをインポートする

PS C:\> Import-PSSession -Session $S -CommandName **Item** -AllowClobber

このコマンドは、$Sの PSSession の Item を含む名前のコマンドをインポートします。 コマンドには CommandName パラメーターが含まれていますが、FormatTypeData パラメーターは含まれていないため、コマンドのみがインポートされます。

Import-PSSession を使用してリモート コンピューターでコマンドを実行し、現在のセッションでコマンドの書式設定データが既にある場合は、このコマンドを使用します。

例 9: Module パラメーターを使用して、セッションにインポートされたコマンドを検出する

PS C:\> $M = Import-PSSession -Session $S -CommandName *bits* -FormatTypeName *bits*
PS C:\> Get-Command -Module $M
CommandType     Name
-----------     ----
Function        Add-BitsFile
Function        Complete-BitsTransfer
Function        Get-BitsTransfer
Function        Remove-BitsTransfer
Function        Resume-BitsTransfer
Function        Set-BitsTransfer
Function        Start-BitsTransfer
Function        Suspend-BitsTransfer

このコマンドは、Get-Command パラメーターを使用して、Import-PSSession コマンドによってセッションにインポートされたコマンドを確認する方法を示します。

最初のコマンドでは、Import-PSSession コマンドレットを使用して、名前に PSSession の "bits" が含まれるコマンドを $S 変数にインポートします。 Import-PSSession コマンドは一時モジュールを返し、コマンドはモジュールを $m 変数に保存します。

2 番目のコマンドでは、Get-Command コマンドレットを使用して、$M 変数内のモジュールによってエクスポートされたコマンドを取得します。

Module パラメーターは、モジュール名用に設計された文字列値を受け取ります。 ただし、モジュール オブジェクトを送信すると、Windows PowerShell はモジュール オブジェクトに対して ToString メソッドを使用し、モジュール名を返します。

Get-Command コマンドは、Get-Command $M.Name" と同じです。

パラメーター

-AllowClobber

指定したコマンドが現在のセッションのコマンドと同じ名前であっても、このコマンドレットによってインポートされることを示します。

現在のセッションのコマンドと同じ名前のコマンドをインポートすると、インポートされたコマンドは元のコマンドを非表示または置換します。 詳細については、about_Command_Precedenceを参照してください。

既定では、Import-PSSession は現在のセッションのコマンドと同じ名前のコマンドをインポートしません。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ArgumentList

指定した引数 (パラメーター値) を使用した結果のコマンドの配列を指定します。

たとえば、Get-Itemの PSSession の証明書 (Cert:) ドライブに $S コマンドのバリアントをインポートするには、「Import-PSSession -Session $S -Command Get-Item -ArgumentList Cert:」と入力します。

型:Object[]
Aliases:Args
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Certificate

フォーマット ファイル (*) の署名に使用するクライアント証明書を指定します。Format.ps1xml) またはスクリプト モジュール ファイル (.psm1) Import-PSSession 作成する一時モジュール内。

証明書を含む変数、または証明書を取得するコマンドまたは式を入力します。

証明書を検索するには、Get-PfxCertificate コマンドレットを使用するか、証明書 (Cert:) ドライブの Get-ChildItem コマンドレットを使用します。 証明書が有効でない場合、または十分な権限を持っていない場合、コマンドは失敗します。

型:X509Certificate2
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-CommandName

指定した名前または名前パターンを持つコマンドを指定します。 ワイルドカードを使用できます。 CommandName またはそのエイリアス 名前 使用します。

既定では、Import-PSSession は、現在のセッションのコマンドと同じ名前のコマンドを除き、セッションからすべてのコマンドをインポートします。 これにより、インポートされたコマンドがセッション内のコマンドを非表示にしたり置き換えたりできなくなります。 他のコマンドを非表示または置き換えるコマンドであっても、すべてのコマンドをインポートするには、AllowClobber パラメーターを使用します。

CommandName パラメーターを使用する場合、FormatTypeName パラメーターを使用しない限り、コマンドの書式設定ファイルはインポートされません。 同様に、FormatTypeName パラメーターを使用する場合、CommandName パラメーターを使用しない限り、コマンドはインポートされません。

型:String[]
Aliases:Name
配置:2
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-CommandType

コマンド オブジェクトの種類を指定します。 既定値はコマンドレットです。 CommandType またはそのエイリアス 使用します。。 このパラメーターに使用できる値は次のとおりです。

  • Alias: リモート セッションの Windows PowerShell エイリアス。
  • All: リモート セッションのコマンドレットと関数。
  • Application: リモート セッションの PATH 環境変数 ($Env:PATH) にリストされているパス内の Windows-PowerShell ファイル以外のすべてのファイル (.txt、.exe、.dll ファイルを含む)。
  • Cmdlet: リモート セッションのコマンドレット。 "コマンドレット" が既定値です。
  • ExternalScript: リモート セッションの PATH 環境変数 ($Env:PATH) にリストされているパス内の .ps1 ファイル。
  • FilterFunction: Windows PowerShell はリモート セッションで機能します。
  • Script: スクリプトはリモート セッションでブロックします。

これらの値は、フラグ ベースの列挙体として定義されます。 このパラメーターを使用して、複数の値を組み合わせて複数のフラグを設定できます。 値は、CommandType パラメーターに値の配列として、またはそれらの値のコンマ区切り文字列として渡すことができます。 コマンドレットは、バイナリ OR 操作を使用して値を結合します。 配列として値を渡すことは最も簡単なオプションであり、値にタブ補完を使用することもできます。

型:CommandTypes
Aliases:Type
指定可能な値:Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DisableNameChecking

名前に未承認の動詞または禁止文字が含まれるコマンドレットまたは関数をインポートするときに警告するメッセージが、このコマンドレットによって抑制されることを示します。

既定では、インポートするモジュールが、名前に未承認の動詞を含むコマンドレットまたは関数をエクスポートすると、Windows PowerShell によって次の警告メッセージが表示されます。

"警告: 一部のインポートされたコマンド名には未承認の動詞が含まれており、見つけにくくなることがあります。 詳細または型 Get-Verb の詳細パラメーターを使用して、承認済みの動詞の一覧を表示します。"

このメッセージは警告にすぎません。 完全なモジュールは、準拠していないコマンドを含め、引き続きインポートされます。 メッセージはモジュール ユーザーに表示されますが、モジュールの作成者が名前付けの問題を修正する必要があります。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-FormatTypeName

指定した Microsoft .NET Framework 型の書式設定手順を指定します。 型名を入力します。 ワイルドカードを使用できます。

このパラメーターの値は、コマンドのインポート元のセッションで Get-FormatData コマンドによって返される型の名前である必要があります。 リモート セッションのすべての書式設定データを取得するには、「*」と入力します。

コマンドに CommandName パラメーターまたは FormatTypeName パラメーター 含まれていない場合、Import-PSSession は、リモート セッションの Get-FormatData コマンドによって返されるすべての .NET Framework 型の書式設定命令をインポートします。

FormatTypeName パラメーターを使用する場合、CommandName パラメーターを使用しない限り、コマンドはインポートされません。

同様に、CommandName パラメーターを使用する場合、FormatTypeName パラメーターを使用しない限り、コマンドの書式設定ファイルはインポートされません。

型:String[]
配置:3
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-FullyQualifiedModule

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

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

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

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

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

Module パラメーターと同じコマンドで、FullyQualifiedModule パラメーターを指定することはできません。 2 つのパラメーターは相互に排他的です。

型:ModuleSpecification[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Module

Windows PowerShell スナップインとモジュール内のコマンドの指定と配列。 スナップインとモジュール名を入力します。 ワイルドカードは使用できません。

Import-PSSession は、スナップインからプロバイダーをインポートできません。

詳細については、「about_PSSnapinsabout_Modules」を参照してください。

型:String[]
Aliases:PSSnapin
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Prefix

インポートされたコマンドの名前の名詞のプレフィックスを指定します。

セッション内の異なるコマンドの名前が同じ場合に発生する可能性がある名前の競合を回避するには、このパラメーターを使用します。

たとえば、プレフィックス Remote を指定し、Get-Date コマンドレットをインポートした場合、コマンドレットはセッションで Get-RemoteDateと認識され、元の Get-Date コマンドレットと混同されません。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Session

コマンドレットのインポート元 PSSession を指定します。 セッション オブジェクトを含む変数、またはセッション オブジェクトを取得するコマンド (New-PSSessionGet-PSSession コマンドなど) を入力します。 指定できるセッションは 1 つだけです。 このパラメーターは必須です。

型:PSSession
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

None

このコマンドレットにオブジェクトをパイプすることはできません。

出力

PSModuleInfo

このコマンドレットは、New-Module コマンドレットと Get-Module コマンドレットが返すのと同じモジュール オブジェクトを返します。 ただし、インポートされたモジュールは一時的なものであり、現在のセッションにのみ存在します。 ディスク上に永続的なモジュールを作成するには、Export-PSSession コマンドレットを使用します。

メモ

Windows PowerShell には、Import-PSSessionの次のエイリアスが含まれています。

  • ipsn

  • Import-PSSession は、PowerShell リモート処理インフラストラクチャに依存します。 このコマンドレットを使用するには、コンピューターを WS-Management リモート処理用に構成する必要があります。 詳細については、「about_Remoteabout_Remote_Requirements」を参照してください。

  • Import-PSSession では、変数や PowerShell プロバイダーはインポートされません。

  • 現在のセッションのコマンドと同じ名前のコマンドをインポートすると、インポートされたコマンドはセッション内のエイリアス、関数、コマンドレットを非表示にすることができ、セッション内の関数と変数を置き換えることができます。 名前の競合を防ぐには、Prefix パラメーターを使用します。 詳細については、about_Command_Precedenceを参照してください。

  • Import-PSSession は、すべてのコマンドをインポートする前に関数に変換します。 その結果、インポートされたコマンドの動作は、元のコマンドの種類を保持した場合とは少し異なります。 たとえば、PSSession からコマンドレットをインポートし、モジュールまたはスナップインから同じ名前のコマンドレットをインポートすると、関数がコマンドレットよりも優先されるため、PSSession からインポートされるコマンドレットは常に既定で実行されます。 逆に、エイリアスが同じ名前のエイリアスを持つセッションにエイリアスをインポートすると、エイリアスが関数よりも優先されるため、元のエイリアスが常に使用されます。 詳細については、about_Command_Precedenceを参照してください。

  • Import-PSSession は、Write-Progress コマンドレットを使用してコマンドの進行状況を表示します。 コマンドの実行中に進行状況バーが表示されることがあります。

  • インポートするコマンドを見つけるには、Import-PSSessionInvoke-Command コマンドレットを使用して PSSession で Get-Command コマンドを実行します。 コマンドの書式設定データを取得するには、Get-FormatData コマンドレットを使用します。 Import-PSSession コマンドを実行すると、これらのコマンドレットからのエラー メッセージが表示されることがあります。 また、Import-PSSession は、Get-CommandGet-FormatDataSelect-Object、および Get-Help コマンドレットを含まない PSSession からコマンドをインポートすることはできません。

  • インポートされたコマンドには、メモ帳などのユーザー インターフェイスでプログラムを起動できないなど、他のリモート コマンドと同じ制限があります。

  • Windows PowerShell プロファイルは PSSessions では実行されないため、プロファイルがセッションに追加するコマンドは、Import-PSSessionで使用できません。 プロファイルからコマンドをインポートするには、コマンドをインポートする前に、Invoke-Command コマンドを使用して PSSession でプロファイルを手動で実行します。

  • Import-PSSession 作成する一時モジュールには、書式設定ファイルが含まれている場合があります。このコマンドで書式設定データがインポートされない場合でも、 このコマンドで書式設定データがインポートされない場合、作成された書式設定ファイルには書式設定データは含まれません。

  • Import-PSSessionを使用するには、現在のセッションの実行ポリシーを Restricted または AllSigned にすることはできません。Import-PSSession 作成される一時モジュールには、これらのポリシーで禁止されている署名されていないスクリプト ファイルが含まれているためです。 ローカル コンピューターの実行ポリシーを変更せずに Import-PSSession を使用するには、Set-ExecutionPolicy パラメーターを使用して、1 つのプロセスに対して制限の緩い実行ポリシーを設定します。

  • Windows PowerShell 2.0 では、別のセッションからインポートされるコマンドのヘルプ トピックには、Prefix パラメーターを使用して割り当てたプレフィックスは含まれません。 Windows PowerShell 2.0 でインポートされたコマンドのヘルプを表示するには、元の (プレフィックスのない) コマンド名を使用します。