
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
ポリシーを永続的に変更するか、-ExecutionPolcy
PowerShell コマンドラインにパラメータを追加して単一セッションのみ変更することができます。
実行ポリシーとその影響に関する詳細情報は、コマンドを使用して確認できますhelp about_Execution_Policies
。