Резюме: Microsoft Scripting Guy, Ed Wilson рассказывает о способах диагностики удаленных подключений.
Диагностируем удаленные подключения PowerShell
Первое, что необходимо использовать для определения работают (или нет) удаленные подключения Windows PowerShell – это командлет Test-WSMan. Сначала запустите его локально (это можно сделать без указания параметров).
PS C:\> Test-WSMan
wsmid : http: //schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http: //schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor : Microsoft Corporation
ProductVersion : OS: 0.0.0 SP: 0.0 Stack: 3.0
Для проверки удаленного компьютера укажите параметр –ComputerName. Приведенная ниже команда проверяет возможность подключения к контроллеру домена на Windows Server 2012 с именем DC3.
PS C:\> Test-WSMan -ComputerName dc3
wsmid : http: //schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http: //schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor : Microsoft Corporation
ProductVersion : OS: 0.0.0 SP: 0.0 Stack: 3.0
Кроме того, командлет Test-WSMan также работает и с компьютерами с Windows PowerShell 2.0. Следующая команда обращается к контроллеру домена на Windows Server 2008 с Windows PowerShell 2.0.
PS C:\> Test-WSMan -ComputerName dc1
wsmid : http: //schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http: //schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor : Microsoft Corporation
ProductVersion : OS: 0.0.0 SP: 0.0 Stack: 2.0
Для получения информации об определенной сессии, используйте командлет Get-PSSession. Самый простой способ – это передать значение содержащую сессию переменной командлету Get-PSSession. Стоит обратить особое внимание на имя компьютера (ComputerName), состояние сессии (State) и ее доступность (Availability).
PS C:\> $ps | Get-PSSession
Id Name ComputerName State ConfigurationName Availability
— —- ———— —— —————— ————
3 Session3 ex1 Opened Microsoft.PowerShell Available
4 Session4 dc3 Opened Microsoft.PowerShell Available
Для того, чтобы получить подробную информацию по одной из сессий, укажите ее ID или имя. Передайте возвращенный объект командлету Format-List и выберите все свойства (fl – алиас для Format-List).
PS C:\> Get-PSSession -Name Session4 | fl *
State : Opened
IdleTimeout : 7200000
OutputBufferingMode : None
ComputerName : dc3
ConfigurationName : Microsoft.PowerShell
InstanceId : c15cc80d-64f0-4096-a010-0211f0188aec
Id : 4
Name : Session4
Availability : Available
ApplicationPrivateData : {PSVersionTable}
Runspace : System.Management.Automation.RemoteRunspace
Вы можете удалить существующую сессию, передав результаты Get-PSSession командлету Remove-PSSession.
Get-PSSession -Name Session4 | Remove-PSSession
Также вы можете ее удалить, указав ее имя в качестве значения для параметра командлета Remove-PSSession.
Remove-PSSession -Name session3
Автор:
Ed Wilson, Microsoft Scripting Guy
Оригинал:
Страницы в социальных сетях:
Twitter: https://twitter.com/vsseth
Facebook: https://fb.com/inpowershell
VKontakte: https://vk.com/inpowershell