Как создать оболочку WinRM с командной строкой? - PullRequest
2 голосов
/ 14 апреля 2019

Командная строка WinRM позволяет создать новый экземпляр команды оболочки, набрав

winrm create -?

Пример. Создание экземпляра команды оболочки Windows из XML: winrm create shell / cmd -file: shell.xml -remote: srv.corp.com

Однако я не могу найти надлежащую документацию о том, как сформировать упомянутый файл shell.xml в качестве входных данных для создания новой оболочки. Некоторые примеры параметров, которые я хочу использовать:

Параметры экземпляра оболочки

  • OperationTimeout "PT9999S"
  • Язык "en-US"
  • InputStreams "stdin"
  • OutputStreams "stdout stderr"

Опции оболочки

  • WINRS_NOPROFILE = FALSE
  • WINRS_CODEPAGE = 65001

Мне также удалось перехватить TCP-пакет протокола WinRM, который потенциально может получить формат для shell.xml

<?xml version="1.0" encoding="utf-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rsp="http://schemas.microsoft.com/wbem/wsman/1/windows/shell" xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd" xmlns:w="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd" xmlns:x="http://schemas.xmlsoap.org/ws/2004/09/transfer" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:b="http://schemas.dmtf.org/wbem/wsman/1/cimbinding.xsd" xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:cfg="http://schemas.microsoft.com/wbem/wsman/1/config" xmlns:n="http://schemas.xmlsoap.org/ws/2004/09/enumeration"><env:Header><w:OperationTimeout>PT9999S</w:OperationTimeout><a:To>http://windows-host:5985/wsman</a:To><w:OptionSet><w:Option Name="WINRS_NOPROFILE">FALSE</w:Option><w:Option Name="WINRS_CODEPAGE">65001</w:Option></w:OptionSet><w:MaxEnvelopeSize mustUnderstand="true">153600</w:MaxEnvelopeSize><w:ResourceURI mustUnderstand="true">http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd</w:ResourceURI><a:Action mustUnderstand="true">http://schemas.xmlsoap.org/ws/2004/09/transfer/Create</a:Action><p:DataLocale mustUnderstand="false" xml:lang="en-US"></p:DataLocale><a:ReplyTo><a:Address mustUnderstand="true">http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><a:MessageID>uuid:a9b8312c-2d01-4757-9ef2-9751ddaafd43</a:MessageID><w:Locale mustUnderstand="false" xml:lang="en-US"></w:Locale></env:Header><env:Body><rsp:Shell><rsp:InputStreams>stdin</rsp:InputStreams><rsp:OutputStreams>stdout stderr</rsp:OutputStreams></rsp:Shell></env:Body></env:Envelope>

Кто-то делал это раньше? Очень ценю любую помощь. Спасибо.

...