2

我有一个非常简单的 powershell 脚本,可以从网络服务器复制文件。

这是脚本

Write-Output "Copying Backups"
copy \\sqlbox\SqlBackups\Client.bak c:\sqlbackups

它抛出这个异常

Invalid Path: '\\sqlbox\SqlBackups\Client.bak'.
At C:\Work\db\restore.ps1:5 char:1
+ copy \\sqlbox\SqlBackups\Client.bak c:\sqlbackups
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (:) [], ArgumentException
+ FullyQualifiedErrorId : CopyItemDynamicParametersProviderException

如果我打开一个 Windows 资源管理器并转到 \sqlbox\SqlBackups 它打开正常,如果我然后运行 ​​powershel 脚本它也开始工作,并且将工作直到我下次重新启动 PC。

如何在脚本中解决这个问题?

4

2 回答 2

7

尝试先映射驱动器,然后执行复制操作。

New-PSDrive -Name S -Root \\sqlbox\SqlBackups\ -PSProvider FileSystem
Write-Output "Copying Backups"
copy S:\Client.bak c:\sqlbackups
于 2013-02-15T10:44:04.907 回答
6

在出现此错误的服务器上复制文件时,我遇到了类似的问题:

找不到路径“\\computer1\d$\path”,因为它不存在。

它在文件名前面添加后起作用: Microsoft.PowerShell.Core\FileSystem::

copy-item "Microsoft.PowerShell.Core\FileSystem::\\computer1\d$\path\installer.msi" "Microsoft.PowerShell.Core\FileSystem::\\computer2\d$\path\installer.msi"
于 2016-11-14T09:55:13.487 回答