我有一个Azure云服务工作者角色,需要安装单独的Windows服务才能将应用程序跟踪重定向到中央服务器。我已将此Windows服务的安装二进制文件放在存储帐户的文件存储中,如下所示。然后,我的启动任务调用批处理文件,然后执行power-shell脚本来检索文件并安装服务
当Azure部署角色的新实例时,脚本执行失败并显示以下错误:
找不到路径 ' \\ {名称} .file.core.windows.net \公用事业\ slab1-1.zip'因为它确实如此 不存在
但是,当我通过RDP连接后运行脚本时,一切都很好。有人知道为什么会这样吗?这是下面的脚本......
cmdkey /add:$storageAccountName.file.core.windows.net /user:$shareUser /pass:$shareAccessKey
net use * \\$storageAccountName.file.core.windows.net\utilities
mkdir slab
copy \\$storageAccountName.file.core.windows.net\utilities\$package .\slab\$package
答案 0 :(得分:1)
通过使用脚本访问已安装的azure文件驱动器,我总是遇到问题。我认为这或多或少与驱动器仅为当前用户安装相关,并且从脚本调用时可能并不总是相同。
我最终在没有网络驱动器的情况下从azure文件中提取文件。
$source= $stroageAccountName
$sourceKey = $shareAccessKey
$sharename = "utilities"
$package = "slab1-1.zip"
$dest = ".\slab\" + $package
#Define Azure file share root
$ctx=New-AzureStorageContext $source $sourceKey
$share = get-AzureStorageShare $sharename -Context $ctx
Get-AzureStorageFileContent -share $share -Destination $dest -Path $package -confirm:$false
这里的代码示例将为您提供一个良好的开端: https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-files/
如果你有更复杂的文件夹结构,那么管理会更难,但是CloudFileDirectory和CloudFile的对象,属性和方法在powershell 4.0中无缝地为我工作
' Get-AzureStorageFileContent'需要* Azure Powershell模块。小命令