PowerShell:尽管使用Windows资源管理器的过程相同,但复制项仍然失败

Geo*_*wdy 5 powershell file-copying

我有一个脚本,需要定期(每个小时)复制文件。我可以使用Windows资源管理器打开源文件夹和目标文件夹,然后复制文件而不会出现问题。

但是,如果我在PowerShell中尝试相同的操作,则会得到“拒绝访问路径”错误。我已经检查了共享的权限,并且拥有完全访问权限。为什么通过PowerShell失败?

复制项命令:

Copy-Item \\idmststtrm2\tns_admin$\tnsnames.ora -Destination \\bts13r2b\tnsnames -Force
Run Code Online (Sandbox Code Playgroud)

错误:

Copy-Item : Access to the path '\\bts13r2b\tnsnames\tnsnames.ora' is denied.
At line:1 char:1
+ Copy-Item \\idmststtrm2\tns_admin$\tnsnames.ora -Destination \\bts13r2b\tnsnames ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : PermissionDenied: (\\idmststtrm2\tns_admin$\tnsnames.ora:FileInfo) [Copy-Item], UnauthorizedAccessException
+ FullyQualifiedErrorId : CopyFileInfoItemUnauthorizedAccessError,Microsoft.PowerShell.Commands.CopyItemCommand

Copy-Item : Access to the path '\\bts13r2b\tnsnames\tnsnames.ora' is denied.
At line:1 char:1
+ Copy-Item \\idmststtrm2\tns_admin$\tnsnames.ora -Destination \\bts13r2b\tnsnames ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Copy-Item], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.CopyItemCommand
Run Code Online (Sandbox Code Playgroud)

编辑:

当我Get-ChildItem对目标路径执行a时,我可以看到文件夹内容。

get-item的结果:

get-item \\idmststtrm2\tns_admin$\tnsnames.ora

Directory: \\idmststtrm2\tns_admin$


Mode                LastWriteTime     Length Name                                                                      
----                -------------     ------ ----                                                                      
-a---         3/10/2017   8:49 AM      14143 tnsnames.ora                                                              


get-item \\bts13r2b\tnsnames\tnsnames.ora

Directory: \\bts13r2b\tnsnames


Mode                LastWriteTime     Length Name                                                                      
----                -------------     ------ ----                                                                      
-a---          3/8/2017   9:51 AM      15991 tnsnames.ora 

get-item \\bts13r2b\tnsnames

Directory: 


Mode                LastWriteTime     Length Name                                                                      
----                -------------     ------ ----                                                                      
d----         3/21/2017  11:14 AM            tnsnames   
Run Code Online (Sandbox Code Playgroud)

使用xcopy尝试过:

xcopy \\idmststtrm2\tns_admin$\tnsnames.ora \\bts13r2b\tnsnames\tnsnames.ora

Access is denied.
Run Code Online (Sandbox Code Playgroud)

Geo*_*wdy 5

此问题是由于写入网络共享的权限所致。虽然共享权限设置正确,但缺少 NTFS 权限。系统管理员需要确保两组权限都允许帐户写入文件夹。一旦正确更新,脚本就能够执行到网络共享的复制。