使用已儲存的 ps1 檔案啟動遠端 PowerShell 會話

使用已儲存的 ps1 檔案啟動遠端 PowerShell 會話

我正在嘗試建立幾個可以保存在本機桌面上的檔案以啟動 PowerShell 會話。

Windows Server 2008 和 Windows Server 2012 都是伺服器核心安裝。

目前,我可以打開 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到每個腳本中,但這似乎並不能阻止視窗關閉。

我想做的是建立可以雙擊並開啟到 powershell 提示字元的腳本,類似於已儲存的 RDP 會話。

我已經配置了要執行的 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

再新增一行:

Import-PSSession $session

然後儲存 .PS1 檔案並建立一個捷徑作為 .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命令找到。

相關內容