使用 PowerShell 和 MS Live 凭据访问 Azure VM

Access Azure VM with PowerShell and MS Live credentials

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

我对大致流程有如下理解:

  1. 运行 导入-AzurePublishSettings
  2. 运行 Select-Azure订阅
  3. 使用 Get-AzureVM 获取 VM 对象
  4. 运行 设置-AzureVMSize
  5. 更新-AzureVM

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

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

完成后,您可以使用 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 

顺便说一句。 API.

中的A2就是Medium