如何解决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 举报,一经查实,本站将立刻删除。