我正在处理将文件夹从UNC路径复制到本地服务器的脚本。我通过远程交互式会话运行我的脚本,并利用调用命令-ScriptBlock像这样:PowerShell无法从UNC路径复制
Invoke-Command -ComputerName MyServer -ScriptBlock $Script
这是脚本做复制:
$script {
try {
New-PSDrive -Name MyDrive -PSProvider FileSystem -Root \\uncpathserver\e$\SourceCode\ -Credential Contoso\me
Copy-Item -Path \\uncpathserver\e$\SourceCode\* -Destination E:\Inetpub\Target -Recurse -Force
}
catch {
Write-Host "Failed to copy!"
}
}
它失败,我扔每次抓块。我似乎无法弄清楚我错过了什么让它起作用 - 它看起来很简单,我希望我不会错过某些明显的东西。
编辑:
我能得到它现在只是从我的本地PC而不是从服务器的脚本工作。我现在也调用$ script块的文件副本。这是新的代码如下所示:
$MyServers= @("server-01", "server-02")
foreach ($server in $MyServers)
{
$TargetSession = New-PSSession -ComputerName $server -Credential
contoso\me
Copy-Item -ToSession $TargetSession -Path C:\Source\TheCode\ -
Destination "E:\InetPub\wherethecodegoes" -Recurse -Force
}
其他的一切我为我的$脚本块(已排除故障的缘故此处省略)内做的工作都OK。我必须为每台服务器输入我的凭据,但由于我正在使用的服务器的性质很小,这不是一个交易断路器。
删除catch块,以便您可以看到错误是什么。 – zdan
找不到路径\\ uncpathserver \ e $ \ SourceCode \,因为它不存在 存在是我收到的错误。 – jnunham
您是否尝试过使用'net use'? –