tôi có thể bắt đầu 5 phiên PS mới trên một máy chủ từ xa và xem chúng tất cả bằng cách chạy Get-PSSessionBắt tất cả mở PS phiên trên một máy chủ từ xa (từ cửa sổ giao diện điều khiển mới)
PS C:\> New-PSSession -ComputerName MyServerName
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Session1 MyServerName Opened Microsoft.PowerShell Available
[repeat 4 more times]
Đúng như dự đoán, khi tôi cố gắng để mở một phiên họp thứ 6, tôi nhận được lỗi nói rằng đó là một no-no (do PoswerShells giới hạn mặc định của 5 PSSessions đồng thời từ xa). Nhưng chạy Get-phiên cho thấy tất cả 5 phiên vì vậy tất cả đang làm việc như nó phải được cho đến nay:
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
Tuy nhiên, khi tôi đóng console và mở một hình mới, chạy Get-PSSession (có hoặc không có ' -ComputerName 'tham số được xác định) cho thấy không có phiên mở nào cả.
PS C:\> Get-PSSession
PS C:\>
Tôi biết những phiên vẫn còn mở vì khi tôi cố gắng để mở một cái mới trong giao diện điều khiển mới của tôi tôi nhận được lỗi tương tự liên quan đến hơn 5 phiên đồng thời:
PS C:\> New-PSSession -ComputerName MyServerName
New-PSSession : [......maximum number of 5 concurrent shells]
Theo 'Get -Pessession Get-PSSession -ComputerName MyServerName sẽ nhận được tất cả phiên PS từ xa trên một máy chủ cụ thể bất kể phiên hoặc máy tính nào được bắt đầu từ (ít nhất theo cách tôi hiểu):
"Lệnh trả về tất cả các phiên trên [máy chủ từ xa], thậm chí nếu chúng được tạo trong các phiên khác nhau hoặc trên các máy tính khác nhau."
Vì vậy, là có một cách để tìm và/hoặc loại bỏ bất kỳ phiên PS mở trên một máy chủ từ xa - mà không cần phải làm điều đó tất cả từ một phiên console?
Bạn đang sử dụng phiên bản hệ điều hành và PowerShell nào trên các hộp địa phương và từ xa? Tôi thấy hành vi khác nhau (không gặp sự cố khi mở gần 20 phiên) trên Windows 8/PS3.0, Windows 8.1/PS4.0Preview –
Cả hệ thống cục bộ lẫn từ xa đều là Windows 2008 R2 SP1 sử dụng PowerShell 3.0 –
Ah, tôi đã viết quá sớm. Tôi có vẻ như vậy, mặc dù bị _assured_ rằng các máy chủ từ xa là PowerShell 3.0, nhưng trên thực tế chúng chỉ chạy PowerShell 2.0. Đó có thể là vấn đề. Nhiều lệnh được Keith đề cập (ví dụ: các lệnh liên quan đến 'phiên bị ngắt kết nối') chỉ có sẵn trong v3.0. –