次の方法で共有


about_Remote_Disconnected_Sessions

簡単な説明

PowerShell セッション (PSSession) を切断して再接続する方法について説明します。

長い説明

PowerShell 3.0 以降では、PSSession から切断し、同じコンピューターまたは別のコンピューター上の PSSession に再接続できます。 セッションの状態は維持され、セッションが切断されている間、PSSession のコマンドは引き続き実行されます。

切断されたセッション機能は、リモート コンピューターが PowerShell 3.0 以降のバージョンを実行している Windows コンピューターで、ローカル コンピューターが Windows を実行している場合にのみ使用できます。

切断されたセッション機能を使用すると、PSSession が作成されたセッションを閉じ、POWERShell を閉じても、PSSession で実行されているコマンドを中断することなく、コンピューターをシャットダウンできます。 切断されたセッションは、完了までの時間が長く、IT プロフェッショナルが必要とする時間とデバイスの柔軟性を提供するコマンドを実行する場合に便利です。

コマンドレットで開始 Enter-PSSession された対話型セッションから切断することはできません。

切断されたセッションを使用して、コンピューターまたはネットワークの停止の結果として意図せずに切断された PSSession を管理できます。

実際の使用では、切断されたセッション機能を使用すると、問題の解決を開始し、優先順位の高い問題に注意を向け、別の場所にある別のコンピューターでもソリューションの作業を再開できます。

切断されたセッション コマンドレット

次のコマンドレットは、切断されたセッション機能をサポートしています。

  • Connect-PSSession: 切断された PSSession に接続します。
  • Disconnect-PSSession: PSSession を切断します。
  • Get-PSSession: ローカル コンピューターまたはリモート コンピューター上の PSSessions を取得します。
  • Receive-PSSession: 切断されたセッションで実行されたコマンドの結果を取得します。
  • Invoke-Command: InDisconnectedSession パラメーターは PSSession を作成し、直ちに切断します。

切断されたセッション機能のしくみ

PowerShell 3.0 以降、PSSessions は作成されるセッションとは無関係です。 アクティブな PSSession は、PSSession が作成されたセッションが閉じられ、発信元コンピューターがネットワークからシャットダウンまたは切断された場合でも、接続のリモート コンピューターまたは サーバー側 で維持されます。

PowerShell 2.0 では、PSSession は、元のセッションまたは作成されたセッションが終了すると、リモート コンピューターから削除されます。

PSSession を切断しても、PSSession はアクティブなままで、リモート コンピューター上で維持されます。 セッションの状態が [実行中] から [切断] に変わります。 現在のセッションまたは同じコンピューター上の別のセッション、または別のコンピューターから切断された PSSession に再接続できます。 セッションを維持するリモート コンピューターが実行されていて、ネットワークに接続されている必要があります。

切断された PSSession 内のコマンドは、コマンドが完了するか、出力バッファーがいっぱいになるまで、リモート コンピューター上で中断なく実行されます。 完全な出力バッファーでコマンドが中断されないようにするには、または New-PSTransportOption コマンドレットの Disconnect-PSSessionNew-PSSessionOptionOutputBufferingMode パラメーターを使用します。

切断されたセッションは、リモート コンピューターの切断状態で維持されます。 コマンドレットを使用 Remove-PSSession して PSSession を削除するまで、または PSSession のアイドル タイムアウトが期限切れになるまで再接続できます。 、、または New-PSTransportOption コマンドレットの IdleTimeoutSec パラメーターまたは IdleTimeout パラメーターを使用して、PSSession のアイドル タイムアウトをDisconnect-PSSessionNew-PSSessionOption調整できます。

別のユーザーは、作成した PSSession に接続できますが、セッションの作成に使用された資格情報を提供できる場合、またはセッション構成の資格情報を使用 RunAs できる場合にのみ接続できます。

PSSessions を取得する方法

PowerShell 3.0 以降では、コマンドレットは Get-PSSession ローカル コンピューターとリモート コンピューター上の PSSession を取得します。 また、現在のセッションで作成された PSSession を取得することもできます。

ローカル コンピューターまたはリモート コンピューターで PSSessions を取得するには、 ComputerName パラメーターまたは ConnectionUri パラメーターを使用します。 パラメーターがない場合は、 Get-PSSession 終了場所に関係なく、ローカル セッションで作成された PSSession を取得します。

PSSessions を取得するときは、管理されているコンピューター 、つまりリモートコンピューターまたは サーバー側 コンピューターで検索することを忘れないでください。

たとえば、Server01 コンピューターへの PSSession を作成する場合は、Server01 コンピューターからセッションを取得します。 別のコンピューターからローカル コンピューターに PSSession を作成する場合は、ローカル コンピューターからセッションを取得します。

次のコマンド シーケンスは、動作を Get-PSSession 示しています。

最初のコマンドは、Server01 コンピューターへのセッションを作成します。 セッションは Server01 コンピューターに存在します。

New-PSSession -ComputerName Server01
Id Name      ComputerName  State    ConfigurationName     Availability
-- ----      ------------  -----    -----------------     ------------
 2 Session2  Server01      Opened   Microsoft.PowerShell     Available

セッションを取得するには、 の ComputerName パラメーター Get-PSSession を Server01 の値と共に使用します。

Get-PSSession -ComputerName Server01
Id Name      ComputerName  State    ConfigurationName     Availability
-- ----      ------------  -----    -----------------     ------------
 2 Session2  Server01      Opened   Microsoft.PowerShell     Available

ComputerName パラメーター Get-PSSession の値が localhost の場合は、 で終了し、 Get-PSSession ローカル コンピューターで保持される PSSession を取得します。 ローカル コンピューターで起動された場合でも、Server01 コンピューターでは PSSessions は取得されません。

Get-PSSession -ComputerName localhost

現在のセッションで作成されたセッションを取得するには、 コマンドレットを Get-PSSession パラメーターなしで使用します。 この例では、 Get-PSSession 現在のセッションで作成された PSSession を取得し、Server01 コンピューターに接続します。

Get-PSSession
Id Name      ComputerName  State    ConfigurationName     Availability
-- ----      ------------  -----    -----------------     ------------
 2 Session2  Server01      Opened   Microsoft.PowerShell     Available

セッションを切断する方法

PSSession を切断するには、 コマンドレットを使用します Disconnect-PSSession 。 PSSession を識別するには、Session パラメーターを使用するか、 または コマンドレットDisconnect-PSSessionから New-PSSessionGet-PSSession に PSSession をパイプライン化します。

次のコマンドは、PSSession を Server01 コンピューターに切断します。 State プロパティの値が Disconnected で、Availability が None であることに注意してください

Get-PSSession -ComputerName Server01 | Disconnect-PSSession
Id Name      ComputerName  State         ConfigurationName     Availability
-- ----      ------------  -----         -----------------     ------------
 2 Session2  Server01      Disconnected  Microsoft.PowerShell          None

切断されたセッションを作成するには、 コマンドレットの InDisconnectedSession パラメーターを Invoke-Command 使用します。 セッションを作成し、コマンドを起動し、コマンドが出力を返す前に直ちに切断します。

次のコマンドは、 Get-WinEvent Server02 リモート コンピューター上の切断されたセッションでコマンドを実行します。

Invoke-Command -ComputerName Server02 -InDisconnectedSession -ScriptBlock {
   Get-WinEvent -LogName "*PowerShell*" }
Id Name      ComputerName  State         ConfigurationName     Availability
-- ----      ------------  -----         -----------------     ------------
 4 Session3  Server02      Disconnected  Microsoft.PowerShell          None

切断されたセッションに接続する方法

PSSession を作成したセッション、またはローカル コンピューターまたは他のコンピューター上の他のセッションから、使用可能な切断された PSSession に接続できます。

PSSession の作成、PSSession でのコマンドの実行、PSSession からの切断、PowerShell の終了、コンピューターのシャットダウンを行うことができます。 数時間後に、別のコンピューターを開き、PSSession を取得し、それに接続し、切断中に PSSession で実行されたコマンドの結果を取得できます。 その後、セッションでさらに多くのコマンドを実行できます。

切断された PSSession を接続するには、 コマンドレットを使用します Connect-PSSessionComputerName パラメーターまたは ConnectionUri パラメーターを使用して PSSession を識別するか、PSSession を から Get-PSSession にパイプライン化しますConnect-PSSession

次のコマンドは、Server02 コンピューター上のセッションを取得します。 出力には 2 つの切断されたセッションが含まれており、どちらも使用できます。

Get-PSSession -ComputerName Server02
Id Name      ComputerName   State         ConfigurationName     Availability
-- ----      ------------   -----         -----------------     ------------
 2 Session2  juneb-srv8320  Disconnected  Microsoft.PowerShell          None
 4 Session3  juneb-srv8320  Disconnected  Microsoft.PowerShell          None

次のコマンドは、Session2 に接続します。 PSSession が開き、使用可能になりました。

Connect-PSSession -ComputerName Server02 -Name Session2
Id Name      ComputerName    State    ConfigurationName     Availability
-- ----      ------------    -----    -----------------     ------------
 2 Session2  juneb-srv8320   Opened   Microsoft.PowerShell     Available

結果を取得する方法

切断された PSSession で実行されたコマンドの結果を取得するには、 コマンドレットを使用します Receive-PSSession

コマンドレットを使用する代わりに をConnect-PSSession使用Receive-PSSessionできます。 セッションが既に再接続されている場合は、 Receive-PSSession セッションが切断されたときに実行されたコマンドの結果を取得します。 PSSession がまだ切断されている場合は、接続し、 Receive-PSSession 切断中に実行されたコマンドの結果を取得します。

Receive-PSSession は、ジョブ内の結果を (非同期的に) またはホスト プログラムに (同期的に) 返すことができます。 OutTarget パラメーターを使用して、ジョブまたはホストを選択します。 既定値は Host です。 ただし、受信されているコマンドがジョブとして現在のセッションで開始された 場合、既定では ジョブ として返されます。

次のコマンドでは、 コマンドレットを Receive-PSSession 使用して Server02 コンピューター上の PSSession に接続し、Session3 セッションで実行されたコマンドの Get-WinEvent 結果を取得します。 コマンドは 、OutTarget パラメーターを使用してジョブの結果を取得 します

Receive-PSSession -ComputerName Server02 -Name Session3 -OutTarget Job
Id   Name   PSJobTypeName   State         HasMoreData     Location
--   ----   -------------   -----         -----------     --------
 3   Job3   RemoteJob       Running       True            Server02

ジョブの結果を取得するには、 コマンドレットを使用します Receive-Job

Get-Job | Receive-Job -Keep
ProviderName: PowerShell

TimeCreated             Id LevelDisplayName Message     PSComputerName
-----------             -- ---------------- -------     --------------
5/14/2012 7:26:04 PM   400 Information      Engine stat Server02
5/14/2012 7:26:03 PM   600 Information      Provider "W Server02
5/14/2012 7:26:03 PM   600 Information      Provider "C Server02
5/14/2012 7:26:03 PM   600 Information      Provider "V Server02

状態と可用性のプロパティ

切断された PSSession の State プロパティと Availability プロパティは、セッションを再接続できるかどうかを示します。

PSSession が現在のセッションに接続されている場合、その状態は [開く] になり、その可用性は [使用可能] になります。 PSSession から切断すると、PSSession 状態は Disconnected になり、その可用性は None になります

State プロパティの値は、現在のセッションに関連付けられています。 Disconnected の値は、PSSession が現在のセッションに接続されていないことを意味します。 ただし、PSSession がすべてのセッションから切断されているわけではありません。 別のセッションに接続されている可能性があるためです。

PSSession に接続または再接続できるかどうかを確認するには、 Availability プロパティを使用します。 値 None は 、セッションに接続できることを示します。 [ビジー] の値は、別のセッションに接続されているため、PSSession に接続できないことを示します。

次の例は、同じコンピューター上の 2 つの PowerShell セッションで実行されます。 PSSession が切断され、再接続されると、各セッションの State プロパティと Availability プロパティの値が変更されていることに注意してください。

# Session 1
New-PSSession -ComputerName Server30 -Name Test
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1  Test   Server30        Opened        Microsoft.PowerShell     Available
# Session 2
Get-PSSession -ComputerName Server30 -Name Test
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          Busy
# Session 1
Get-PSSession -ComputerName Server30 -Name Test | Disconnect-PSSession
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          None
# Session 2
Get-PSSession -ComputerName Server30
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          None
# Session 2
Connect-PSSession -ComputerName Server30 -Name Test
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
3 Test    Server30        Opened        Microsoft.PowerShell     Available
# Session 1
Get-PSSession -ComputerName Server30
Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1 Test    Server30        Disconnected  Microsoft.PowerShell          Busy
# Idle Timeout

切断されたセッションは、コマンドレットを使用して削除するか、タイムアウトするまで、リモート コンピューター上 Remove-PSSession で維持されます。PSSession の IdleTimeout プロパティは、切断されたセッションが削除されるまでの期間を決定します。

PSSessions は、 ハートビート スレッド が応答を受信しない場合にアイドル状態になります。 セッションを切断すると、切断されたセッションでコマンドがまだ実行されている場合でも、アイドル状態になり、 IdleTimeout クロックが開始されます。 PowerShell では、切断されたセッションはアクティブだがアイドル状態であると見なされます。

セッションを作成して切断する場合は、PSSession のアイドル タイムアウトが、必要に応じてセッションを維持するのに十分な長さであり、リモート コンピューター上の不要なリソースを消費する長さではないことを確認します。

セッション構成の IdleTimeoutMs プロパティは、セッション構成を使用するセッションの既定のアイドル タイムアウトを決定します。 既定値はオーバーライドできますが、使用する値はセッション構成の MaxIdleTimeoutMs プロパティを超えることはできません。

セッション構成の IdleTimeoutMs 値と MaxIdleTimeoutMs 値を検索するには、次のコマンド形式を使用します。

Get-PSSessionConfiguration |
  Format-Table Name, IdleTimeoutMs, MaxIdleTimeoutMs

セッション構成の既定値をオーバーライドし、PSSession の作成時と切断時に PSSession のアイドル タイムアウトを設定できます。

リモート コンピューターの Administrators グループのメンバーである場合は、セッション構成の IdleTimeoutMs プロパティと MaxIdleTimeoutMs プロパティを作成および変更できます。

アイドル タイムアウト値

セッション構成とセッション オプションのアイドル タイムアウト値はミリ秒単位です。 セッションとセッション構成オプションのアイドル タイムアウト値は秒単位です。

PSSession のアイドル タイムアウトは、PSSession (、Invoke-Command) の作成時、および切断時 (New-PSSessionDisconnect-PSSession) に設定できます。 ただし、PSSession (Connect-PSSession) に接続するとき、または結果Receive-PSSession () を取得するときに IdleTimeout 値を変更することはできません。

Connect-PSSessionコマンドレットと Receive-PSSession コマンドレットには、SessionOption オブジェクトを受け取る SessionOption パラメーターがあります(コマンドレットによってNew-PSSessionOption返されるオブジェクトなど)。 SessionOption オブジェクトの IdleTimeout 値と基本設定変数の IdleTimeout$PSSessionOptionは、 または Receive-PSSession コマンドの PSSession の IdleTimeout の値をConnect-PSSession変更しません。

特定のアイドル タイムアウト値を持つ PSSession を作成するには、基本設定変数を $PSSessionOption 作成します。 IdleTimeout プロパティの値を目的の値 (ミリ秒単位) に設定します。

PSSessions を作成すると、変数の $PSSessionOption 値がセッション構成の値よりも優先されます。

たとえば、次のコマンドはアイドル タイムアウトを 48 時間に設定します。

$PSSessionOption = New-PSSessionOption -IdleTimeoutMSec 172800000

特定のアイドル タイムアウト値を使用して PSSession を作成するには、コマンドレットの IdleTimeoutMSec パラメーターを New-PSSessionOption 使用します。 次に、 または Invoke-Command コマンドレットの SessionOption パラメーターの値でセッション オプションをNew-PSSession使用します。

セッションの作成時に設定された値は、ユーザー設定変数およびセッション構成で設定された $PSSessionOption 値よりも優先されます。

例:

$o = New-PSSessionOption -IdleTimeoutMSec 172800000
New-PSSession -SessionOption $o

切断時の PSSession のアイドル タイムアウトを変更するには、コマンドレットの IdleTimeoutSec パラメーターを Disconnect-PSSession 使用します。

例:

Disconnect-PSSession -IdleTimeoutSec 172800

特定のアイドル タイムアウトと最大アイドル タイムアウトを含むセッション構成を作成するには、コマンドレットの IdleTimeoutSec パラメーターと MaxIdleTimeoutSec パラメーターを New-PSTransportOption 使用します。 次に、 の TransportOption パラメーターの値でトランスポート オプションを使用します Register-PSSessionConfiguration

例:

$o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
Register-PSSessionConfiguration -Name Test -TransportOption $o

セッション構成の既定のアイドル タイムアウトと最大アイドル タイムアウトを変更するには、コマンドレットの IdleTimeoutSec パラメーターと MaxIdleTimeoutSec パラメーターを New-PSTransportOption 使用します。 次に、 の TransportOption パラメーターの値でトランスポート オプションを使用します Set-PSSessionConfiguration

例:

$o = New-PSTransportOption -IdleTimeoutSec 172800 -MaxIdleTimeoutSec 259200
Set-PSSessionConfiguration -Name Test -TransportOption $o

出力バッファリング モード

PSSession の出力バッファリング モードによって、PSSession の出力バッファーがいっぱいになったときのコマンド出力の管理方法が決まります。

切断されたセッションでは、出力バッファリング モードによって、セッションの切断中にコマンドが引き続き実行されるかどうかが効果的に決定されます。

有効な値は次のとおりです。

  • [ブロック] 。 出力バッファーがいっぱいのとき、バッファーが空くまで実行が中断されます。 既定値。
  • [削除] 。 出力バッファーがいっぱいのとき、実行は続行されます。 新しい出力が生成されると、最も古い出力が破棄されます。

ブロックは データを保持しますが、コマンドを中断する可能性があります。 値が Drop の場合は、データが失われる可能性はありますが、コマンドを完了できます。 Drop 値を使用すると、コマンド出力がディスク上のファイルにリダイレクトされます。 この値は、切断されたセッションに推奨されます。

セッション構成の OutputBufferingMode プロパティは、セッション構成を使用するセッションの既定の出力バッファリング モードを決定します。

OutputBufferingMode のセッション構成の値を見つけるには、次のいずれかのコマンド形式を使用できます。

(Get-PSSessionConfiguration <ConfigurationName>).OutputBufferingMode
Get-PSSessionConfiguration | Format-Table Name, OutputBufferingMode

セッション構成の既定値をオーバーライドし、PSSession の作成時、切断時、再接続時に PSSession の出力バッファリング モードを設定できます。

リモート コンピューターの Administrators グループのメンバーである場合は、セッション構成の出力バッファー モードを作成および変更できます。

出力バッファリング モードが Drop の PSSession を作成するには、OutputBufferingMode プロパティの値が Drop であるユーザー設定変数を作成$PSSessionOptionします。

PSSessions を作成すると、変数の $PSSessionOption 値がセッション構成の値よりも優先されます。

例:

$PSSessionOption = New-PSSessionOption -OutputBufferingMode Drop

出力バッファリング モードが Drop の PSSession を作成するには、コマンドレットの OutputBufferingMode パラメーターをNew-PSSessionOption使用して、Drop の値を持つセッション オプションを作成します。 次に、 または Invoke-Command コマンドレットの SessionOption パラメーターの値でセッション オプションをNew-PSSession使用します。

セッションの作成時に設定された値は、ユーザー設定変数およびセッション構成で設定された $PSSessionOption 値よりも優先されます。

例:

$o = New-PSSessionOption -OutputBufferingMode Drop
New-PSSession -SessionOption $o

切断時に PSSession の出力バッファリング モードを変更するには、コマンドレットの OutputBufferingMode パラメーターをDisconnect-PSSession使用します。

例:

Disconnect-PSSession -OutputBufferingMode Drop

再接続時に PSSession の出力バッファリング モードを変更するには、コマンドレットの OutputBufferingMode パラメーター New-PSSessionOption を使用して、Drop の値を持つセッション オプションを作成 します。 次に、 または Receive-PSSessionSessionOption パラメーターの値でセッション オプションをConnect-PSSession使用します。

例:

$o = New-PSSessionOption -OutputBufferingMode Drop
Connect-PSSession -ComputerName Server01 -Name Test -SessionOption $o

既定の出力バッファリング モードが Drop のセッション構成を作成するには、コマンドレットの OutputBufferingMode パラメーターをNew-PSTransportOption使用して、Drop の値を持つトランスポート オプション オブジェクトを作成します。 次に、 の TransportOption パラメーターの値でトランスポート オプションを使用します Register-PSSessionConfiguration

例:

$o = New-PSTransportOption -OutputBufferingMode Drop
Register-PSSessionConfiguration -Name Test -TransportOption $o

セッション構成の既定の出力バッファリング モードを変更するには、コマンドレットの OutputBufferingMode パラメーターをNew-PSTransportOption使用して、Drop の値を持つトランスポート オプションを作成します。 次に、 の SessionOption パラメーターの値に Transport オプションを使用します Set-PSSessionConfiguration

例:

$o = New-PSTransportOption -OutputBufferingMode Drop
Set-PSSessionConfiguration -Name Test -TransportOption $o

ループバック セッションの切断

ループバック セッション (ローカル セッション) は、同じコンピューターで開始および終了する PSSession です。 他の PSSession と同様に、アクティブ ループバック セッションは接続のリモートエンド (ローカル コンピューター) 上のコンピューター上で維持されるため、ループバック セッションから切断して再接続できます。

既定では、ループバック セッションは、セッションでコマンドを実行して他のコンピューターにアクセスすることを許可しないネットワーク セキュリティ トークンを使用して作成されます。 ローカル コンピューターまたはリモート コンピューター上の任意のセッションから、ネットワーク セキュリティ トークンを持つループバック セッションに再接続できます。

ただし、または Invoke-Command コマンドレットの EnableNetworkAccess パラメーターをNew-PSSessionEnter-PSSession使用すると、ループバック セッションは対話型のセキュリティ トークンを使用して作成されます。 対話型トークンを使用すると、ループバック セッションで実行されるコマンドで、他のコンピューターからデータを取得できます。

対話型トークンを使用してループバック セッションを切断し、同じコンピューター上の同じセッションまたは別のセッションから再接続できます。 ただし、悪意のあるアクセスを防ぐために、対話型トークンを使用してループバック セッションに再接続できるのは、作成されたコンピューターからのみです。

切断されたセッションでのジョブの待機

コマンドレットは Wait-Job 、ジョブが完了するまで待機し、コマンド プロンプトまたは次のコマンドに戻ります。 既定では、 は、 Wait-Job ジョブが実行されているセッションが切断されている場合に を返します。 セッションが Wait-Job 再接続されるまで待機するようにコマンドレットに指示するには、 Opened 状態で Force パラメーターを使用します。 詳細については、「 Wait-Job」を参照してください。

堅牢なセッションと意図しない切断

コンピューターの障害またはネットワークの停止により、PSSession が意図せずに切断される可能性があります。 PowerShell は PSSession の回復を試みますが、その成功は原因の重大度と期間によって異なります。

意図せずに切断された PSSession の状態は 、破損 または 閉じている可能性がありますが、 切断されている可能性もあります。 State の値が Disconnected の場合は、セッションが意図的に切断された場合と同じ手法を使用して PSSession を管理できます。 たとえば、 コマンドレットを Connect-PSSession 使用してセッションに再接続し、 コマンドレットを Receive-PSSession 使用して、セッションの切断中に実行されたコマンドの結果を取得できます。

PSSession でコマンドが実行されている間に PSSession が作成されたセッションを閉じる (終了する) 場合、PowerShell は PSSession をリモート コンピューターの 切断 状態に維持します。 PSSession が作成されたセッションを閉じる (終了) しても、PSSession でコマンドが実行されていない場合、PowerShell は PSSession の維持を試みません。

こちらもご覧ください