在我的 powershell 脚本中,我使用 New-PSDrive 函数将远程服务器文件路径映射到我的本地计算机作为 Windows 部署操作过程。
我计划将来重用这个 Powershell 脚本,所以我不希望驱动器之间因为命名而发生任何冲突。例如,如果两个部署操作需要同时到达脚本,那么两个部署操作之一将被错误地部署。
这就是问题:我可以使用时间戳或任何其他唯一信息作为驱动器映射名称吗?这样,我可以确保避免名称冲突。
编辑:
我试图创建没有持久参数的自定义命名 new-psdrive 映射,但是这样,powershell 会尝试使用相对路径(在当前工作目录下)到达文件夹
这是我尝试复制一些文件(备份)的代码:
$day = Get-Date -Format "yyyyMMdd"
$appsource = "\\$computername\D$\Applications"
New-PSDrive -Name J -PSProvider FileSystem -Root $appsource-Credential $cred -persist
Write-Host "Backup işlemi başladı."
robocopy "J:\App" "J:\backup\$day"
编辑2:
您不能将动态名称用作持久驱动器映射名称。如果您要访问跨域计算机,最好的方法是(但具有成本效益的方法)使用 Invoke-Command 在远程计算机上运行脚本。需要允许 2 路(远程-本地、本地-远程)文件共享权限。如果您使用 Invoke-Command,则不会发生冲突。因为该命令在远程计算机上使用动态会话。