无法使用Powershell脚本从IIS服务从远程目录复制文件

时间:2019-03-21 23:07:52

标签: powershell iis

我有一些文件需要从服务器A复制到服务器B。服务器B上运行着IIS服务,该服务调用本地powershell脚本来执行有需要的操作。

从命令行执行powershell脚本时,它会按预期运行,并且在IISExpress中执行时也可以运行。但是,当从IIS上托管的服务调用时,没有报告错误,但是也没有文件被复制。

powershell脚本基本上调用Copy-Item -Path \\Server A\<some path> -Destination c:\<some path>

谢谢!

1 个答案:

答案 0 :(得分:1)

IIS默认情况下以没有网络权限的本地服务帐户运行。您可能看不到错误消息,因为Powershell脚本未将其输出回显到HTTP响应。

要解决此问题,您可以在IIS中创建一个新的应用程序池,并通过在AppPool的“高级设置”->“身份”中输入网络凭据来设置身份。 然后,通过右键单击虚拟目录并选择“添加应用程序”,使您的服务在该AppPool中运行。将出现一个对话框,您可以在其中选择新的AppPool。

注意:

  • 当网络密码更改时,您在AppPool中输入的凭据不会更新,因此您应使用域密码不过期的域帐户。
  • 您不应使用自己的帐户,因为如果更改密码并调用服务,该帐户可能会被锁定。
  • IIS服务器上的任何管理员都可以读取密码。