使用2014年11月更新更新我的Powershell后,Import-PublishedSettingsFile命令行开关以JSON格式而不是XML创建订阅文件。
如何获取XML格式的文件?没有输出格式选项。
背景 当我尝试运行依赖于当前订阅的命令行开关时,更改似乎导致无效的帐户错误。一个例子是Get-AzureService,它返回此错误:
Get-AzureService:具有名称的帐户 '68BC909D63F2A51F987005620552FB1D643E03DE'不存在。参数 name:accountName At C:\ UtilityScripts \模块\ AzureVdcConfigFileGenerate \ AzureVdcConfigFileGenerate.psm1:189 焦炭:42 + [object] $ script:aSourceVdcService = Get-AzureService -ServiceName $ sSourceV ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(:) [Get-AzureService],ArgumentException + FullyQualifiedErrorId:System.ArgumentException,Microsoft.WindowsAzure.Commands.ServiceManagement.HostedServices.GetAzureServiceCommand
我按如下方式设置订阅:
Set-AzureSubscription -SubscriptionName $sSourceSubscriptionName -SubscriptionDataFile $sSourceSubscriptionFileName -CurrentStorageAccountName $sSourceStorageAccountName
Select-AzureSubscription -SubscriptionDataFile $sSourceSubscriptionFileName -NoDefault
Select-AzureSubscription -SubscriptionDataFile $sSourceSubscriptionFileName -NoCurrent
Select-AzureSubscription -SubscriptionName $sSourceSubscriptionName -current -SubscriptionDataFile $sSourceSubscriptionFileName
结果是
SubscriptionId:b6f458b3-0228-48f4-8dec-b7a4884258c6
SubscriptionName:NameOfSubscription
环境:AzureCloud
SupportedModes:AzureServiceManagement
DefaultAccount:68BC909D63F2A51F987005620552FB1D643E03DE
帐户:{68BC909D63F2A51F987005620552FB1D643E03DE}
IsDefault:False
IsCurrent:True
CurrentStorageAccountName:NameOfStorageAccount
我认为JSON格式导致了这个问题。
答案 0 :(得分:3)
这似乎是Azure PowerShell cmdlet的v0.8.8中引入的错误。错误信息在这里:https://github.com/Azure/azure-sdk-tools/issues/3045并且Microsoft的开发人员已经确认了问题。
目前尚不清楚他们是否会修复它,因为SubscriptionDataFile参数已被标记为已弃用。但是,我不认为拟议的新模型确实存在,所以我们现在应该做的事情还不完全清楚。使用v0.8.7.1可以避免此问题,但如果您需要更新的功能,这将无济于事。
答案 1 :(得分:0)
嗯。不确定是您的问题的根源(JSON格式的文件)。
使用Get-AzurePublishSettingsFile从Azure门户中检索基于XML的文件。然后使用Import-AzurePublishSettingsFile Cmdlet导入该文件。
您可能还想查看Add-AzureAccount Cmdlet,这可能有助于为您遇到问题的Cmdlet设置凭据。