我可以在远程服务器上启动5个新的PS会话,并通过运行Get-PSSession查看它们
PS C:\> New-PSSession -ComputerName MyServerName
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Session1 MyServerName Opened Microsoft.PowerShell Available
[repeat 4 more times]
正如预期的那样,当我尝试打开第6次会议,我得到的错误说,这是一个没有没有(5个并发远程PSSession中由于PoswerShells默认限制).但是运行Get-Session会显示所有5个会话,所以到目前为止一切正常:
PS C:\> New-PSSession -ComputerName MyServerName
New-PSSession : [......maximum number of 5 concurrent shells]
PS C:\> Get-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Session1 MyServerName Opened Microsoft.PowerShell Available
2 Session2 MyServerName Opened Microsoft.PowerShell Available
3 Session3 MyServerName Opened Microsoft.PowerShell Available
4 Session4 MyServerName Opened Microsoft.PowerShell Available
5 Session5 MyServerName Opened Microsoft.PowerShell Available
然而,当我关闭控制台,并打开一个新的,运行Get-PSSession中(有或没有定义的"-ComputerName"参数)显示根本没有打开的会话.
PS C:\> Get-PSSession
PS C:\>
我知道这些会议仍然是开放的,因为当我尝试打开我的新的控制台一个新的我得到关于超过5个并发会话相同的错误:
PS C:\> New-PSSession -ComputerName MyServerName
New-PSSession : [......maximum number of 5 concurrent shells]
根据'Get-PSSession Get-Help -full'运行'Get-PSSession -ComputerName MyServerName应该获取特定服务器上的所有远程PS会话,无论他们从哪个会话或计算机启动(至少我理解它):
"该命令返回[远程服务器]上的所有会话,即使它们是在不同的会话中或在不同的计算机上创建的."
那么,有没有办法在远程服务器上查找和/或删除任何打开的PS会话 - 而无需在一个控制台会话中完成所有操作?