Powershell 远程创建文件夹并复制文件
我正在尝试使用Azure Pipeline中的“目标计算机上的powershell”任务创建文件夹(如果服务器上不存在),然后将文件从共享位置复制到创建的新文件夹。下面是我正在使用的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
$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机器文件复制任务”复制项目根本无法工作。谢谢