Как получить pywinrm для подключения к удаленной машине Windows?

Я делал hello world для понимания того, как использовать модуль pywinrm, и я столкнулся с ошибкой, которую не могу решить.

Я пробовал использовать обе версии 0.1.1 и 0.0.3, и я использую Python 3.4.3 на коробке Windows 7.

Это программа:

import pywinrm

s = winrm.Session('windows-myhostname', auth=('myusername', 'mypassword'))

r = s.run_cmd('ipconfig', ['/all'])

print (r.status_code)
print (r.std_out)

Который я скопировал из примера использования на github и получил этот вывод:

Traceback (most recent call last):
     File "My_program_path_here.py", line 18, in <module>
      r = s.run_cmd('ipconfig', ['/all'])
     File "C:Python34libsite-packageswinrm__init__.py", line 29, in run_cmd
      shell_id = self.protocol.open_shell()
     File "C:Python34libsite-packageswinrmprotocol.py", line 121, in open_shell
      rs = self.send_message(xmltodict.unparse(rq))
     File "C:Python34libsite-packageswinrmprotocol.py", line 193, in send_message
      return self.transport.send_message(message)
     File "C:Python34libsite-packageswinrmtransport.py", line 108, in send_message
      response = self.opener.open(request, timeout=self.timeout)
     File "C:Python34liburllibrequest.py", line 461, in open
      req = meth(req)
     File "C:Python34liburllibrequest.py", line 1112, in do_request_
      raise TypeError(msg)
    TypeError: POST data should be bytes or an iterable of bytes. It cannot be of type str.

источник: https://github.com/diyan/pywinrm

1 ответ