我想通过PowerShell自动执行我的许多日常任务。我们拥有的一个过程是在几个小时后对桌面进行成像。完成此操作后,需要将图像文件从服务器硬盘驱动器移至网络驱动器。我正在编写一个应用程序作为服务在我的机器上运行,它将调用powershell脚本并将所有内容都敲出来,只有在出现问题时才提醒我。在网络共享上移动文件
我在服务器上为脚本设置了一个目录。
copy-item C:\scripts\myFile1.txt -destination C:\scripts\myFile2.txt
然而,在我的.net应用程序中,我调用脚本从我的本地机器:
RunScript(LoadScript(@"\\Server\ServerShare\FileCopy.ps1"));
隐而不宣”如果我把我的脚本,FileCopy.ps1,从服务器,它工作正常工作。这是因为它将C:\ scripts视为在本地计算机上。所以,我改变它:
copy-item \\Server\ServerShare\myFile1.txt -destination \\Server\ServerShare\myFile2.txt
不起作用。我添加另一条线路的脚本:
copy-item \\Server\ServerShare\myFile1.txt -destination \\Server\ServerShare\myFile2.txt
get-childitem \\Server\ServerShare | format-table name
它仍然不会复制该文件,但它确实返回服务器上的脚本目录的内容。
于是我回到服务器,并与地方的UNC路径运行脚本 - PowerShell会返回一个错误
Copy-Item : Access to the path '\\Server\ServerPath\myFile2.txt' is denied.
这似乎是问题的根源。任何想法如何解决这个问题?我以管理员身份登录到服务器。
这是权限!谢谢基思! – deweycooter 2011-01-21 15:52:11