如何使用Powershell将文件复制到VM?

时间:2018-02-19 16:40:16

标签: powershell azure

听起来很简单,但互联网上给出的大多数答案都假设两台计算机都在同一个网络上。如果它们不是,例如我想将文件复制到Azure VM。有一个帖子Windows Azure Powershell Copying file to VM,但它已有四年了,答案需要很多步骤。

2 个答案:

答案 0 :(得分:1)

您可以使用Azure File Share (AFS),然后:

  1. Mount the AFS作为VM上的驱动器
  2. 使用REST Api或library将文件上传到AFS

答案 1 :(得分:1)

同意Rasmusgude,您可以将文件上传到Azure文件共享,然后将Azure文件共享挂载到该VM。

您是该VM的管理员吗?

如果是,您可以启用WinRM并使用WinRM将文件上传到它。

关于启用Azure VM WinRM,您应该将端口5985添加到Azure VM的NSG入站规则,并将端口5985添加到Windows防火墙入站规则。

然后使用此脚本创建会话:

$username = 'user'
$pass = ConvertTo-SecureString -string 'password' -AsPlainText -Force
$cred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $username, $pass
$s = New-PSSession -ConnectionUri 'http://xx.xx.xx.xx:5985' -Credential $cred -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck)

关于将文件上传到该VM,您可以使用此PowerShell命令Send-File -Path C:test.xml -Destination C: -Session $session

这里有关于通过WinRM发送文件的blog,请参阅它。

希望这有帮助。