Python - 如何使用 pywinrm 写入 window 共享文件夹路径(例如 \\192.168.1.19\cert\testcert.pfx)
Python - how to write a window shared folder path (ex. \\192.168.1.19\cert\testcert.pfx) using 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
其中 host = "\192.168.1.19", cert = "Certificates1", and file = "testcert.pfx"
我已经看到在 powershell 中我应该准确地键入 PS C:\>\192.168.1.19\cert\testcert.pfx
并且它可以工作但是指向错误将 python 传递给 powershell 的字符串是 \ 而不是转义并且只传递一个反斜杠.
有什么帮助或建议吗?
提前致谢。
the error the string that is passing python to powershell is \ and not escaping and passing only one backslash.
\
= \
所以你需要做 host = "\\192.168.1.19"
问题涉及第二跳问题,因此脚本在远程处理时无法访问另一个网络共享文件。
解决方案是将身份验证更改为 CredSSP 并允许第二个跃点委托凭据。
在此之后,没有出现引用任何路径的错误。
我访问一台远程机器来自动执行一些 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
其中 host = "\192.168.1.19", cert = "Certificates1", and file = "testcert.pfx"
我已经看到在 powershell 中我应该准确地键入 PS C:\>\192.168.1.19\cert\testcert.pfx
并且它可以工作但是指向错误将 python 传递给 powershell 的字符串是 \ 而不是转义并且只传递一个反斜杠.
有什么帮助或建议吗?
提前致谢。
the error the string that is passing python to powershell is \ and not escaping and passing only one backslash.
\
= \
所以你需要做 host = "\\192.168.1.19"
问题涉及第二跳问题,因此脚本在远程处理时无法访问另一个网络共享文件。 解决方案是将身份验证更改为 CredSSP 并允许第二个跃点委托凭据。 在此之后,没有出现引用任何路径的错误。