保存した ps1 ファイルを使用してリモート PowerShell セッションを起動する

保存した ps1 ファイルを使用してリモート PowerShell セッションを起動する

PowerShell セッションを起動するためにローカル デスクトップに保存できるファイルをいくつか作成しようとしています。

Windows Server 2008 と Windows Server 2012 はどちらも Server Core インストールです。

現在、Powershell を開いて次のように入力できます。

Enter-PSSession -computername Win2012SrvCore -credential administrator

これを使用すると、接続してコマンドを実行でき、すべてがうまくいきます。

私がやろうとしたことは次のとおりです。

Win2012SrvCore1.ps1次のように呼ばれるファイルを作成します。

$passwd = convertto-securestring -AsPlainText -Force -String MYPASSWORD

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "administrator",$passwd

$session = new-pssession -computername Win2012SrvCore -credential $cred

Win2012SrvCore2.ps1次のように呼ばれるファイルを作成します。

PowerShell.exe -Command Enter-PSSession -computername Win2012SrvCore -credential administrator

ps1ファイルは起動し、読めない赤いテキストが表示されてすぐに閉じます。

各スクリプトに追加しようとしましたPAUSEが、ウィンドウが閉じるのを止めることはできないようです。

私がやりたいのは、保存された RDP セッションと同様に、ダブルクリックして PowerShell プロンプトを開くことができるスクリプトを作成することです。

ps1 ファイルを実行するように構成しました:

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe

ご協力いただければ幸いです。

答え1

$passwd = convertto-securestring -AsPlainText -Force -String MYPASSWORD

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "administrator",$passwd

$session = new-pssession -computername Win2012SrvCore -credential $cred

もう 1 行追加します。

Import-PSSession $session

次に、.PS1 ファイルを保存し、そのショートカットを として作成しますpowershell.exe -noexit -File "C:\PS.ps1"

答え2

`-noexit' を追加

PowerShell.exe -noexit -Command Enter-PSSession -computername Win2012SrvCore -credential administrator

答え3

コマンドをスクリプト ファイルとして保存し、ショートカットでコマンド ラインを使用するようにします。

powershell.exe -noExit <filename.ps1>

これにより、ショートカットは指定されたスクリプト ファイルを実行し、スクリプトの実行終了時に PowerShell を終了しないため、セッションが確立された後もウィンドウを引き続き使用できます。

これを機能させるには、PowerShell実行ポリシーが制限されていないことを確認する必要があります。そうでない場合、スクリプトファイルは実行できません。

現在の実行ポリシーを確認するには、 を使用しGet-ExecutionPolicy、 を使用してSet-ExecutionPolicyポリシーを永続的に変更するか、-ExecutionPolcyPowerShell コマンドラインにパラメータを追加して単一セッションのみ変更することができます。

実行ポリシーとその影響に関する詳細情報は、コマンドを使用して確認できますhelp about_Execution_Policies

関連情報