【问题标题】:Access Azure VM with PowerShell and MS Live credentials使用 PowerShell 和 MS Live 凭据访问 Azure VM
【发布时间】:2016-10-05 17:07:11
【问题描述】:

我想使用 powershell 更改 Azure VM 的大小。原因是:我使用机器进行开发。我需要 A2 尺寸,每天 4 小时。在我不开发的时候,VM的所有者要求将机器的大小切换为A0。我可以使用我的 MS Live 帐户访问 Azure 订阅。现在我通过 Azure 门户手动更改大小。我想使用 PowerShell 自动执行此任务。脚本应将大小设置为 A2,等待 4 小时并将其设置回 A0。我只想在开始开发之前双击脚本,然后忘记这个问题。

我对一般程序的理解如下:

  1. 运行 Import-AzurePublishSettings
  2. 运行 Select-AzureSubscription
  3. 使用 Get-AzureVM 获取 VM 对象
  4. 运行集-AzureVMSize
  5. 更新-AzureVM

我无法获得发布配置文件,因为我没有这台机器。有没有办法通过 MS Live 帐户进行身份验证?

【问题讨论】:

    标签: powershell azure virtual-machine


    【解决方案1】:

    跳过 Import-Azurepublish 并改为执行 Add-AzureAccount。这将弹出用于使用您的 MS Live 帐户进行身份验证的 UI。

    完成后,您可以使用 Select-AzureSubscription

    对于经典部署,您需要:

    # authenticate if no account is already added to the powershell session
    if (!(Get-AzureAccount)){ Add-AzureAccount }
    
    # Get the vm object out of azure
    $vm = get-azurevm | where name -eq "name of the vm"
    
    # Now all you need is to is update the VM with its new size:
    
    $vm | Set-AzureVMSize -InstanceSize Medium | Update-AzureVM
    

    如果 VM 是通过资源管理器(RM 模型)部署的

    if (!(Get-AzureRMContext)){ Add-AzureRmAccount } 
    Select-AzureRmSubscription -SubscriptionId "{subscriptionId}" 
    
    $vm = Get-AzureRmVm | where name -eq "{vmName}" 
    $vm.HardwareProfile.vmSize = "Medium" 
    Update-AzureRmVM -VM $vm 
    

    顺便说一句。 Medium 是 API 中调用的 A2。

    【讨论】:

    • 没问题,我会在今天晚些时候靠近笔记本电脑时尝试将一些代码放在一起......
    • 我编辑了原始答案,因此现在它包含一些示例代码,用于您需要采取的步骤。
    • 谢谢!我以您的代码为起点。最后这对我有用: if (!(Get-AzureAccount)){ Add-AzureRmAccount } Select-AzureRmSubscription -SubscriptionId "{subscriptionId}" $vm = Get-AzureRmVm |其中 name -eq "{vmName}" $vm.HardwareProfile.vmSize = "{size}" Update-AzureRmVM -VM $vm 我必须安装 AzureRM,否则它不起作用。请将此添加到您的答案中,以便我将其标记为答案
    • 另外请注意,您发布的代码中存在错误,它会检查经典模型是否已登录,如果没有则登录到 RM 模型。我在上面发布的示例中修复了这个问题。
    • 哦,太好了,我想知道为什么它每次都向我询问我的凭据...
    猜你喜欢
    • 2020-01-01
    • 2019-02-04
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 2017-12-23
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    相关资源
    最近更新 更多