我正在尝试无人值守备份我们的网站,从2个网络服务器到我们的备份服务器。
$FolderName = $(Get-Date -Format D)
New-Item -ItemType directory -Path D:\backups\webservers\$FolderName
New-Item -ItemType directory -Path D:\backups\webservers\$FolderName\ColoWebP1
New-Item -ItemType directory -Path D:\backups\webservers\$FolderName\ColoWebD1
Copy-Item \\colowebp1.wa.local\e$\websites D:\backups\webservers\$FolderName\ColoWebP1 -recurse
Copy-Item \\colowebp1.wa.local\e$\backup D:\backups\webservers\$FolderName\ColoWebP1 -recurse
Copy-Item \\colowebd1.wa.local\e$\websites D:\backups\webservers\$FolderName\ColoWebD1 -recurse
Copy-Item \\colowebd1.wa.local\e$\backup D:\backups\webservers\$FolderName\ColoWebD1 -recurse
现在我仍然无法无人看管。它会创建文件夹但不会复制文件。现在出现了新的皱纹。当我手动运行它时,我收到了这个错误:
Copy-Item : Access to the path 'D:\backups\webservers\Tuesday, February 25, 2014\ColoWebD1\websites\Agent_eVantage_Beta
\Master_wSlider.master' is denied.
At C:\scripts\Webserverbackup.ps1:12 char:10
+ Copy-Item <<<< \\colowebd1.wa.local\e$\websites D:\backups\webservers\$FolderName\ColoWebD1 -recurse
+ CategoryInfo : PermissionDenied: (Master_wSlider.master:FileInfo) [Copy-Item], UnauthorizedAccessExcept
ion
+ FullyQualifiedErrorId : CopyFileInfoItemUnauthorizedAccessError,Microsoft.PowerShell.Commands.CopyItemCommand
但所有文件似乎都存在。 (我还没有尝试恢复它)。
所以我的问题是: 我正在读这个错误吗?是否无法通过身份验证服务器进行身份验证?
如何让这个无人值守?
答案 0 :(得分:0)
问题在于您的副本项目中的美元符号(即\$e\
)
PowerShell将$符号解释为变量。我宁愿使用共享文件夹而不是驱动器号。
Copy-Item '\\colowebp1.wa.local\Share\websites' "D:\backups\webservers\$FolderName\ColoWebP1" -recurse
答案 1 :(得分:0)
您必须设置适当的权限才能访问管理员共享。使用资源管理器访问上面的目标路径时会发生什么?如果一切设置正确,您应该能够在没有身份验证的情况下进入共享。 (例如,使用默认网络凭据)。您的解决方案本身很好,但是一旦不需要身份验证就可以使用它。有关PS的解决方法,但您必须提供有关网络和UAC设置的一些详细信息。一旦您提供详细信息,我将很乐意尝试解决此问题。
在工作中我使用这样的路径来管理共享,这些工作完美,Powershell不会将共享视为变量。
谢谢,
亚历