Powershell脚本将文件上载到Azure文件存储

时间:2017-03-29 13:07:33

标签: powershell azure vbscript

所以我有一个Azure文件存储,您也可以映射集合驱动器。 目前它被选为X驱动器,但我有点问题,因为有时我会失去与驱动器的连接,因为它变得空闲。

我按照本指南为我提供了如何设置evrything(" https://ppolyzos.com/2016/09/09/map-network-drive-to-azure-storage-account-file-storage/")

我想通过以下脚本通过定时计划将一些文件移动到该特定文件夹。

With CreateObject("Scripting.FileSystemObject")
    .MoveFile "YourFolder\*.*", "X:\AzureFolder"
End With

上面的vbscript就像一个魅力,但正如我所提到的,天蓝色文件存储实际上是空闲的,而且工作失败了。

所以我现在的计划是实际创建一个PowerShell脚本,将身份验证值设置为硬变量,然后像上面的vbscript一样移动文件。 有谁知道是否有一些开源代码,有人做了类似的事情?

我确实在网上找到了一些脚本(" https://gallery.technet.microsoft.com/scriptcenter/Recursively-upload-a-bfb615fe") 但他们似乎没有工作。

如果有人能指出我正确的方向或提供有用的指导,我们会很高兴。

谢谢!

1 个答案:

答案 0 :(得分:0)

以下行将本地文件上传到azure blob存储

$ctx = New-AzureStorageContext -StorageAccountName $StorageAccountName ` -StorageAccountKey $StorageAccountKey
$ContainerName = "webimages"
New-AzureStorageContainer -Name $ContainerName -Context $ctx -Permission Blob
$localFileDirectory = "X:\Temp\AzureFilesToUpload\"
$files = Get-ChildItem -Path $localFileDirectory -Recurse -File
foreach($file in $files)
{
    $localFile = $localFileDirectory+$file
    Set-AzureStorageBlobContent -File $localFile -Container $ContainerName `-Blob $BlobName -Context $ctx
}
Get-AzureStorageBlob -Container $ContainerName -Context $ctx | Select Name

以下行将本地文件上传到存储帐户的azure files部分而不是blob

$ctx = New-AzureStorageContext -StorageAccountName $StorageAccountName ` -StorageAccountKey $StorageAccountKey  
$s = New-AzureStorageShare $filesharename –Context $ctx # to create new file share
$localFileDirectory = "X:\Temp\AzureFilesToUpload\"
$files = Get-ChildItem -Path $localFileDirectory -Recurse -File  
foreach($file in $files)  
{  
    $localFile = $localFileDirectory+$file  
    Set-AzureStorageFileContent –Share $s –Source $localFile  
}  
  # if you don’t want them in the root folder of the share, but in a subfolder?  
New-AzureStorageDirectory –Share $s –Path $foldername
foreach($file in $files)  
{  
    $localFile = $localFileDirectory+$file  
    Set-AzureStorageFileContent –Share $s –Source $localFile –Path $foldername  
}