当 Azure 文件共享为目标时,Powershell 复制项失败

当 Azure 文件共享为目标时,Powershell 复制项失败

我正在使用 Powershell 并尝试将文件复制到 Azure 文件共享。我正在创建的脚本会创建一个 Sql Server 备份并将备份文件复制到 Azure 文件共享。我想从中央 VM 执行此操作,因为我想在多台计算机上运行脚本,而不必登录每台计算机。

连接看起来是这样的:

DeployServer-> SqlServer1 -> Azure File Share

在 SqlServer1 上,我使用 AZ Portal 提供的脚本创建了一个映射驱动器。我以管理员权限执行了此脚本。我可以从 SqlServer1 连接并浏览共享。我可以在 RDP 进入 SqlServer1 时在 Explorer 和 Powershell 中显示文件共享的内容。

这是我运行的用于映射此驱动器的脚本(连接详细信息已混淆)。此脚本由 AZ Portal 提供:

$connectTestResult = Test-NetConnection -ComputerName sumcomputername0.file.core.windows.net -Port 445 
if ($connectTestResult.TcpTestSucceeded) { 
  # Save the password so the drive will persist on reboot
  cmd.exe /C "cmdkey /add:`"sumcomputername0.file.core.windows.net`" /user:`"Azure\sumteststorage0`" /pass:`"OMITTED FOR SECURITY`""
  # Mount the drive
  New-PSDrive -Name Z -PSProvider FileSystem -Root "\\sumcomputername0.file.core.windows.net\ctestfileshare" -Persist 
}
else {
  Write-Error -Message "Unable to reach the Azure storage account via port 445. Check to make
  sure your organization or ISP is not blocking port 445, or use Azure P2S VPN, Azure S2S VPN,
  or Express Route to tunnel SMB traffic over a different port."
} 

我编写的 Powershell 脚本按预期从“Sql Server1”执行。当我尝试通过 Invoke-Command 从 DeployServer 运行脚本时,问题就出现了。通过 Invoke-Command 调用的脚本在 Item-Copy 命令中失败(我也尝试了一个简单的 cp 命令,结果相同)。

这是失败的命令:

Copy-Item $BackupPath -Destination $NetworkPath -Force –Verbose

这是错误

Cannot find drive. A drive with the name 'Z' does not exist. 

    + CategoryInfo          : ObjectNotFound: (Z:String) [Copy-Item], DriveNotFoundException 

    + FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.CopyItemCommand 

    + PSComputerName        : sumip

如何修复 AZ 文件共享(Z:) 以便可以通过远程 Invoke-Command 使用?

答案1

我无法解决这个问题。事实上,我使用 Azure Powershell 模块将文件复制到 Azure 或从 Azure 复制文件。这让我跳过了 cp 步骤。

https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-powershell

相关内容