【问题标题】:Get-AzureDeployment not returning expected resultGet-AzureDeployment 未返回预期结果
【发布时间】:2018-11-08 21:01:58
【问题描述】:

我正在尝试获取所有已部署的 Azure 云服务,特别是查找服务名称及其标签字段。我正在使用 cmdlet Get-AzureDeployment,但它没有返回所需的结果。

使用的 cmdlet: $getResultForMyService = Get-AzureDeployment -ServiceName "myservicelistedincloudservice" -Slot "Production"

我得到的输出

  *>Get-AzureDeployment : ResourceNotFound: No deployments were found.
  OperationID : 'a********************074'
    At line:1 char:9
+ $Data = Get-AzureDeployment -ServiceName myservicelistedincloudservice" -Slot "Prod …
+ CategoryInfo : CloseError: (:) [Get-AzureDeployment], ComputeCloudException + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceManagement.HostedServices.GetAzureDeploymentCommand*

在运行 Get-AzureDeployment cmdlet 之前,我尝试确保上下文使用正确的订阅。但这也没有帮助。

PS C:\WINDOWS\system32> set-azurermcontext -SubscriptionName MySubscription

仅供参考,我已经安装了最新版本,并且在执行上述 cmdlet 之前,我还导入了 Azure 模块。仅供参考,以下是我的 PS 版本详细信息:

我还按照 MS 文档链接中的 servicemanagement 模块的安装说明进行操作,但这也无济于事 - https://docs.microsoft.com/en-us/powershell/azure/servicemanagement/install-azure-ps?view=azuresmps-4.0.0

PS C:\WINDOWS\system32> $psversiontable

名称值
---- -----
PS版本 5.1.17763.1
PSEdition 桌面版
PSCompatibleVersions {1.0、2.0、3.0、4.0...}
构建版本 10.0.17763.1
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
序列化版本 1.1.0.1

任何关于列出云服务的指针将不胜感激。

【问题讨论】:

    标签: powershell azure-rm


    【解决方案1】:

    终于搞定了。我点击了这个链接https://social.msdn.microsoft.com/Forums/en-US/77d36a5e-9c98-4003-bc52-367c00156b40/how-to-change-subscription?forum=azurescripting

    由于这个 Get-AzureDeployment cmdlet 与 ASM 相关,因此我使用了非 rm cmdlet,以下是我遵循的 cmdlet 和步骤:

    第 1 步: 添加-AzureAccount

    最初我收到此错误“没有订阅与 Azure 服务管理 (RDFE) 中的登录帐户相关联。”和 在将自己添加到共同管理员角色后,我摆脱了这个问题,即使我在门户中为我的订阅拥有所有者角色。

    第 2 步: 获取 Azure 订阅

    这应该列出所有订阅,并说明哪一个是默认(IsDefault)和当前(IsCurrent)订阅。请注意 IsCurrent = True 或 IsDefault = True 的订阅。请注意,这两个参数已被弃用,并且对于任何订阅都将具有相同的值,换句话说,您不能将一个订阅设置为 IsCurrent = True,而将另一个订阅设置为 IsDefault = True。

    第 3 步: Select-AzureSubscription -SubscriptionName mysubscription

    如果您的 mysubscription 是当前订阅 (IsCurrent = True),则不需要此 cmdlet,否则运行此 cmdlet 将 mysubscription 设置为您当前的订阅。

    第 4 步: Get-AzureDeployment -ServiceName "myservicelistedincloudservice" -Slot "Production"

    如果此服务(myservicelistedincloudservice)属于 mysubscription 订阅,那么这将返回结果,因为它已设置 IsCurrent = True,否则您将看到“ResourceNotFound:未找到部署”。错误。

    我们需要确保 4 个 cmdlet 以与上述相同的顺序执行,否则您将不知道是什么导致了问题。希望这会对某人有所帮助。

    【讨论】:

    • 好吧,你可能会提到你根本不知道自己在做什么,我可以告诉你所有这些
    • 是的,也许我可以告诉我我是 powershell 新手,我肯定会在以后提到它,无论如何感谢您的时间并试图帮助我。
    • @4c74356b41 你当时为什么不告诉?
    • @mv_05 我遇到了同样的问题。即使我在云服务中具有所有者角色,Add-AzureAccount 也不起作用,并给了我,“没有订阅与 Azure 服务管理 (RDFE) 中的登录帐户相关联”。然后我看到了您的解决方案,即将您的帐户添加到共同管理员角色,所以我添加了自己并且它有效。谢谢!
    • 它帮助了你。很抱歉这么久才看到这篇文章:)。您介意将此标记为已接受的答案吗:)
    猜你喜欢
    • 2011-08-09
    • 2010-09-22
    • 2021-05-17
    • 2018-02-19
    • 2018-03-23
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多