
我正在嘗試建立幾個可以保存在本機桌面上的檔案以啟動 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
命令找到。