我有一些文件需要从服务器A复制到服务器B。服务器B上运行着IIS服务,该服务调用本地powershell脚本来执行有需要的操作。
从命令行执行powershell脚本时,它会按预期运行,并且在IISExpress中执行时也可以运行。但是,当从IIS上托管的服务调用时,没有报告错误,但是也没有文件被复制。
powershell脚本基本上调用Copy-Item -Path \\Server A\<some path> -Destination c:\<some path>
谢谢!
答案 0 :(得分:1)
IIS默认情况下以没有网络权限的本地服务帐户运行。您可能看不到错误消息,因为Powershell脚本未将其输出回显到HTTP响应。
要解决此问题,您可以在IIS中创建一个新的应用程序池,并通过在AppPool的“高级设置”->“身份”中输入网络凭据来设置身份。 然后,通过右键单击虚拟目录并选择“添加应用程序”,使您的服务在该AppPool中运行。将出现一个对话框,您可以在其中选择新的AppPool。
注意: