管理遠程系統常常感覺像是在迷宮中航行。如果在嘗試排除伺服器問題時卡住,互動式會話可能是答案。通過正確的方法,您可以輕鬆連接到遠程機器,實時與其互動,甚至保持長期工作的連接。
在本指南中,您將學習如何發揮 PowerSell 會話的全部潛力,從挫折走向精通。
優化您的遠程管理技能,讓那些繁瑣的任務變得輕鬆!
開啟互動式會話
有時候,您可能需要實時排除故障或與遠程計算機互動。例如,診斷配置問題或驗證服務。遠程管理工具通常允許連接,但在不同系統之間切換可能很繁瑣。
PowerShell 中的互動式會話通過讓您無縫連接到遠程機器並運行命令,就像在本地控制台中工作一樣,提供了解決方案。
在開始互動式會話之前,確保遠程系統已啟用並正確配置了 Windows 遠程管理(WinRM)。使用以下命令在遠程系統上啟用 WinRM:Enable-PSRemoting -Force
要開始互動式會話,使用 Enter-PSSession
命令:
Enter-PSSession -ComputerName SRV2
注意,提示現在包含遠程計算機的名稱,表示已建立連接。
確認會話正在遠程機器上運行:
hostname
完成任務後,您可以退出會話:
exit
使用 Enter-PSSession
時,會話在退出後結束。
使用以下命令驗證會話:
Get-PSSession
不應列出任何會話,因為它們不再存在。
創建和管理持久會話
雖然互動會話對於即時任務非常有用,但一旦關閉就會消失,這限制了持續工作的靈活性。想像一下需要自動化一些命令,暫時斷開連接,然後重新連接以繼續您離開的地方。
不用擔心。持久會話填補了這個空白,通過保持您的本地計算機與遠程計算機之間的連接,即使您退出控制台或重啟也不會中斷。
要結合非互動和互動用例,創建一個持久會話:
$session = New-PSSession -ComputerName SRV2
創建後,使用 Session
參數與新會話進行互動:
Enter-PSSession -Session $session
退出會話並再次檢查開放的會話:
exit Get-PSSession
New-PSSession
命令保持所創建會話的可用性。
您也可以非互動地使用該會話:
Invoke-Command -Session $session -ScriptBlock {'Yay! I am in the remote computer!'}
斷開和重新連接會話
持續的工作要求您在某些時刻暫時斷開會話而不完全終止它。一個例子是當您需要重啟本地控制台時,斷開連接會保留會話狀態,允許您稍後重新連接。
PowerShell 允許您在保持遠程會話活躍的同時斷開連接,並稍後重新連接。
要從會話中斷開連接:
Disconnect-PSSession -Session $session
目前會話顯示已斷開連接。
即使重新啟動 PowerShell 控制台,您也可以重新連接到會話:
Connect-PSSession -ComputerName SRV2
此過程可恢復相同會話中的任務。
最後,清理並刪除所有會話:
Get-PSSession | Remove-PSSession
💡 提示:持久會話可能非常強大,但讓其保持運行可能會消耗本地或遠程機器的系統資源。在不再需要時始終清理會話,以維持最佳性能。
結論
互動和持久的 PowerShell 會話為遠程系統管理提供了強大的工具,提供了靈活性和效率。
無論您是即時進行故障排除、自動化命令還是跨重新啟動保存工作,這些技術都可以實現對遠程系統的無縫控制。
掌握會話管理,並裝備自己處理各種管理任務的技能!
Source:
https://adamtheautomator.com/powershell-interactive-sessions/