【发布时间】:2017-07-29 14:03:50
【问题描述】:
我正在编写一个 PowerShell 脚本来与我的 Microsoft Azure 帐户进行通信,并且在使用 Set-AzureStorageBlobContent 和 Get-AzureStorageBlobContent 模块上传和下载文件时遇到了问题。
$Upload = @{
Context = $storageContext;
Container = $container;
File = "C:\... \file.csv";
}
Set-AzureStorageBlobContent @Upload -Force;
我第一次运行它时,它似乎开始上传,但它保持在 0% 并且永远不会上升。如果我取消它并尝试再次执行我的脚本,我会收到一条错误消息: “Set-AzureStorageBlobContent:已存在具有相同源和目标的传输操作。” 当我尝试从 Azure 下载现有 blob 时,会发生几乎相同的事情。
$params = @{
Context = $storageContext;
Container = $container;
Blob = $blob;
Destination = $dest
}
New-Item -Path $dest -ItemType Directory -Force
Get-AzureStorageBlobContent @params
我尝试重新安装 Azure.Storage,它是包含 cmdlet Get-AzureStorageBlobContent 和 Set-AzureStorageBlobContent 的模块,但我没有运气。是我做错了什么,还是这段代码有问题?
【问题讨论】:
-
听起来可能是安全设置:可能吗?
-
我认为你可能是对的。我尝试在运行脚本(不受限制)时将执行策略更改为绕过,并且它起作用了。即>> powershell -ExecutionPolicy ByPass -File "C:\..."
-
Get-ExecutionPolicy的输出是什么? -
对我来说,Get-ExecutionPolicy 让我不受限制,因为这是我使用 Set-ExecutionPolicy 设置的。但是,我前面提到的命令的范围只是针对那一次执行。
标签: powershell azure