Powershell 远程创建文件夹并复制文件

Powershell 远程创建文件夹并复制文件,powershell,azure-devops,azure-pipelines,Powershell,Azure Devops,Azure Pipelines,我正在尝试使用Azure Pipeline中的“目标计算机上的powershell”任务创建文件夹(如果服务器上不存在),然后将文件从共享位置复制到创建的新文件夹。下面是我正在使用的powershell脚本: $DeployDB = "\\$(ServerName)\DeployDB" if(Test-Path $DeployDB){ Write-Host "Path Exists!!" }else{ New-Item "c:\De

我正在尝试使用Azure Pipeline中的“目标计算机上的powershell”任务创建文件夹(如果服务器上不存在),然后将文件从共享位置复制到创建的新文件夹。下面是我正在使用的powershell脚本:

    $DeployDB = "\\$(ServerName)\DeployDB"

     if(Test-Path $DeployDB){
         Write-Host "Path Exists!!"
     }else{
        New-Item "c:\DeployDB" -ItemType Directory
        New-SmbShare -Name DeployDB -Path C:\DeployDB | Grant-SmbShareAccess -AccountName Everyone -AccessRight Full -Force

    $acl = Get-Acl "c:\DeployDB"
    $AccessRule1 = New-Object System.Security.AccessControl.FileSystemAccessRule("Everyone","FullControl","Allow")
    $acl.SetAccessRule($AccessRule1)
    Set-Acl "c:\DeployDB" $acl 
}
Copy-Item -Path \\MyServer\Data\** -Destination c:\DeployDB -Recurse -Force -verbose
排队生成时,
$ServerName
作为输入发送

上面的脚本成功地创建了文件,并以正确的权限共享该文件,但由于某些原因,它不会将文件从共享位置复制到创建的新文件夹。如果我直接从powershell单独运行同一个复制命令,它也可以正常工作。奇怪的是,步骤完成时没有错误。如有任何见解,将不胜感激


谢谢

您可以在线程中检查解决方案,方法是为源文件夹和目标文件夹添加新变量:

Copy-Item $($sourcefolder) -Destination $($destination)

或者,您可以通过添加来复制文件。

浏览30秒后,您的第一行在$()中缺少$。您的行应该是
$DeployDB=“\\$ServerName\DeployDB”
$DeployDB=“\\$($ServerName)\DeployDB”
出于某种原因使用了“Windows机器文件复制任务”复制项目根本无法工作。谢谢