微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python - 如何使用 pywinrm

如何解决Python - 如何使用 pywinrm

我访问一台远程机器来自动化一些 ssl 任务。要从远程完成此操作,我需要从 Windows 中的共享网络文件夹导入文件。我正在使用 pywinrm 然后在成功的会话开始后我运行:

s.run_ps('''
    $Password = ConvertTo-securestring -AsPlainText -Force {0}
    Import-PfxCertificate -FilePath {1} -CertStoreLocation Cert:\LocalMachine\WebHosting - 
    Password $Password
    '''.format(secret,path)

在本地文件夹路径中使用类似的脚本我没有任何问题,但是键入这种 \\192.168.1.19\cert\testcert.pfx 我有以下错误

std_error b'Import-PfxCertificate : The system cannot find the path specified. 0x80070003 \n(WIN32: 3 ERROR_PATH_NOT_FOUND)\nAt line:3 char:9\n+         Import-PfxCertificate -FilePath \\192.168.1.19\\Certificates1\\test ...\n+

我像字符串 "host"+"\\"+cert+"\\"+file where host = "\\192.168.1.19",cert = "Certificates1",and file = "testcert.pfx"

一样构建了这个路径

我已经看到在 powershell 中我应该准确地输入 PS C:\>\\192.168.1.19\cert\testcert.pfx 并且它可以工作,但是指向错误,将 python 传递给 powershell 的字符串是 \ 并且没有转义并且只传递一个反斜杠。

有什么帮助或建议吗?

提前致谢。

解决方法

将 python 传递给 powershell 的字符串的错误是 \ 并且没有转义并且只传递一个反斜杠。

\\ = \ 所以你需要做 host = "\\\\192.168.1.19"

,

该问题涉及第二跳问题,因此脚本在远程处理时无法访问另一个网络共享文件。 解决方案是将身份验证更改为 CredSSP 并允许第二个跃点委派凭据。 在此之后,不会出现引用任何路径的错误。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。