远程处理时通过powershell脚本访问UNC路径时出错

时间:2013-08-01 19:19:35

标签: visual-studio-2010 powershell remoting runspace

我正在尝试在power shell脚本中执行一个程序。使用Runspaces从C#方法调用PS脚本。该程序尝试更新远程服务器上的配置文件。当我运行这整件事时,我收到以下错误:

System.UnauthorizedAccessException:访问路径\\某些路径被拒绝。

PS脚本位于远程服务器上。如果我直接在服务器上运行PS脚本,那么PS脚本及其内部的程序运行正常,并且能够访问远程系统。

有没有人遇到过这个?我被告知这是失败的,因为我通过Visual Studio和C#运行它,并且我不会被允许通过正在通过C#类运行的PowerShell脚本访问网络资源。有人告诉我,我在运行空间中用来启动PS脚本的权限并没有转换为我在脚本中调用的程序。

其他想法和可能的解决方案?

由于

1 个答案:

答案 0 :(得分:6)

看起来您正在尝试修改辅助服务器上UNC路径上的文件。由于古老的“双跳”问题,这将无法工作。您在机器A上,在B上执行远程脚本,尝试修改C上的文件。从A到B的身份验证不能重用从B连接到C.这是NTLM的设计限制(Windows集成身份验证。)

但是,一切都没有丢失:在连接从A到B的powershell远程处理时必须使用CredSSP身份验证,然后您可以毫无问题地连接到C。

参考文献: