Enter-PSSession
ローカル マシンで使用してリモート PowerShell セッションを開くときに、リモート マシンのプロファイルで関数を使用するにはどうすればよいですか。
5 に答える
JonZ と x0n による:
デフォルトのセッション構成で pssessions を使用すると、プロファイル スクリプトは実行されません。
でリモート インタラクティブ セッションを開始すると
Enter-PSSession
、リモート プロファイルがロードされます。さらに、マシン レベルのプロファイルのみ$pshome
が読み込まれます。
セッションを事前構成する場合 (カスタム関数、スナップイン、モジュールなどをロードするため)、プロファイル スクリプトを新しいセッション構成に追加します(リモート セッション構成のスタートアップ スクリプトでそれらを初期化するため)。
Register-PSSessionConfigurationコマンドレットは、新しいセッション構成を作成し、ローカル コンピューターに登録します。Get-PSSessionConfigurationを使用して、既存のセッション構成を表示します。Get-PSSessionConfiguration と Register-PSSessionConfiguration の両方に昇格された権限が必要です (「管理者として実行」オプションを使用して PowerShell を起動します)。
profile.ps1
すべての関数が含まれているターゲット コンピューターでは、次のようになります。
Register-PSSessionConfiguration -Name WithProfile -StartupScript $PsHome\Profile.ps1
この構成済みのセッションを使用するには、ローカル コンピューターから次のように入力します。
Enter-PSSession -ComputerName $computername -ConfigurationName WithProfile
また
Enter-PSSession -ComputerName $computername -ConfigurationName WithProfile -Credential youradminuser@yourtargetdomain
($computername
は、pssessionconfiguration を登録したリモート サーバーのホスト名です)。
PowerShell リモート処理に関する適切な情報源は、管理者向け Powershell リモート処理ガイドです。
参照:
Powershell リモート処理: Powershell リモート プロファイルに読み込まれた関数を使用しますか?
http://jrich523.wordpress.com/2010/07/21/update-creating-a-profile-for-a-remote-session/
PowerShell プロファイルの理解と使用
http://blogs.technet.com/b/heyscriptingguy/archive/2013/01/04/understanding-and-using-powershell-profiles.aspx
About_Profiles (Microsoft Docs) https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles
6 つの異なる Windows PowerShell プロファイル パスと用途
現在のユーザー、現在のホスト - コンソール
$Home[My ]Documents\WindowsPowerShell\Profile.ps1
現在のユーザー、すべてのホスト
$Home[My ]Documents\Profile.ps1
すべてのユーザー、現在のホスト - コンソール
$PsHome\Microsoft.PowerShell_profile.ps1
すべてのユーザー、すべてのホスト
$PsHome\Profile.ps1
現在のユーザー、現在のホスト - ISE
$Home[My ]Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
すべてのユーザー、現在のホスト - ISE
$PsHome\Microsoft.PowerShellISE_profile.ps1
Windows PowerShell プロファイル
http://msdn.microsoft.com/en-us/library/bb613488%28VS.85%29.aspx
このプロファイルは、すべてのユーザーとすべてのシェルに適用されます。
%windir%\system32\WindowsPowerShell\v1.0\profile.ps1
このプロファイルはすべてのユーザーに適用されますが、Microsoft.PowerShell シェルにのみ適用されます。
%windir%\system32\WindowsPowerShell\v1.0\ Microsoft.PowerShell_profile.ps1
このプロファイルは現在のユーザーにのみ適用されますが、すべてのシェルに影響します。
%UserProfile%\マイ ドキュメント\WindowsPowerShell\profile.ps1
このプロファイルは、現在のユーザーと Microsoft.PowerShell シェルにのみ適用されます。
%UserProfile%\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
PowerShell コア プロファイル https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles
このプロファイルは、すべてのユーザーとすべてのホストに適用されます。
$env:ProgramFiles\PowerShell\6\profile.ps1
このプロファイルはすべてのユーザーに適用されますが、現在のホストにのみ適用されます。
$env:ProgramFiles\PowerShell\6\Microsoft.PowerShell_profile.ps1
このプロファイルは現在のユーザーにのみ適用されますが、すべてのホストに影響します。
$env:USERPROFILE\Documents\PowerShell\profile.ps1
このプロファイルは、現在のユーザーと Microsoft.PowerShell シェルにのみ適用されます。
$env:USERPROFILE\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
これを見てください
http://jrich523.wordpress.com/2010/07/08/creating-a-profile-for-a-remote-session/
リモートプロファイルを作成するための回避策です。
できません。enter-pssession でリモートのインタラクティブ セッションを開始すると、リモート プロファイルが読み込まれます。さらに、$pshome 内のマシン レベルのプロファイルのみが読み込まれます。リモート機能を利用可能にしたい場合は、リモート セッション構成のスタートアップ スクリプトでそれらを初期化する必要があります。リモートサーバーの get/set-pssessionconfiguration を見てください。