2015-06-16 2 views
1

Как мне получить только одно из значений, возвращаемых командой PS ниже?Как я могу получить значение определенного свойства winrm?

PS C:\Users\vagrant> winrm get winrm/config/winrs 
Winrs 
    AllowRemoteShellAccess = true 
    IdleTimeout = 7200000 
    MaxConcurrentUsers = 10 
    MaxShellRunTime = 2147483647 
    MaxProcessesPerShell = 25 
    MaxMemoryPerShellMB = 300 
    MaxShellsPerUser = 30 

В частности, я пытаюсь получить только значение MaxMemoryPerShellMB. В конечном итоге мне нужно сравнить это значение с другим значением, поэтому я могу быть уверенным, если он будет установлен правильно.

+1

'(Get-Item WSMan: \ localhost \ Shell \ MaxMemoryPerShellMB) .Value' – PetSerAl

+0

Это сработало. Вопрос: Что такое WSMan и как он сравнивается с winrm? IE, для winrm путь - winrm/config/winrs, но wsman - WSMan: \ localhost \ Shell \ MaxMemoryPerShellMB. Что это значит? –

+0

Но добавьте ответ, и я приму его. –

ответ

4

Вы может использовать WS-Mana поставщик gement получить или установить параметры конфигурации WS-Management:

(Get-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB).Value 

Что такое WSMan и как она соотносится с WinRM?

Вы можете сказать, что они оба относятся в основном к тому же:

Windows Remote Management (WinRM) является внедрение Microsoft о WS-Management Protocol, стандартный простой протокол доступа к объектам (SOAP), совместимый с брандмауэром, который позволяет аппаратным и операционным системам от разных поставщиков взаимодействовать. Source

Все варианты winrm get winrm/config доступные под WSMan:\localhost\ пути PowerShell. Некоторые из них могут использовать разные имена, например Shell вместо winrs (Window Remote Shell), но в большинстве случаев имена совпадают. Вы можете просмотреть доступные параметры конфигурации с помощью стандартных команд PowerShell, например dir WSMan:\localhost\.

+0

С PS 3.0 вы также можете настроить различные плагины, которые можно увидеть с помощью win win enumerate winrm/config/plugin -format: pretty' или в PS с помощью 'dir Microsoft.WSMan.Management \ WSMan :: localhost \ Plugin' – Stoinov

1

Вы можете преобразовать winrm вывод в hashtable:

$winrs = & winrm get winrm/config/winrs | 
     Select-Object -Skip 1 | 
     Out-String | 
     ConvertFrom-StringData 

и доступ к требуемому значение, как это:

$winrs['MaxMemoryPerShellMB'] 

или вроде этого:

$winrs.MaxMemoryPerShellMB 
Смежные вопросы