使用 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。我只想在开始开发之前双击脚本,然后忘记这个问题。
我对大致流程有如下理解:
- 运行 导入-AzurePublishSettings
- 运行 Select-Azure订阅
- 使用 Get-AzureVM 获取 VM 对象
- 运行 设置-AzureVMSize
- 更新-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
我想使用 powershell 更改 Azure VM 的大小。原因是:我使用机器进行开发。我每天需要 4 小时的 A2 尺寸。 VM的主人要求在我不开发的时候把机器的大小切换到A0。我可以使用我的 MS Live 帐户访问 Azure 订阅。现在我通过 Azure 门户手动更改大小。我想使用 PowerShell 自动执行此任务。该脚本应将大小设置为 A2,等待 4 小时,然后将其设置回 A0。我只想在开始开发之前双击脚本,然后忘记这个问题。
我对大致流程有如下理解:
- 运行 导入-AzurePublishSettings
- 运行 Select-Azure订阅
- 使用 Get-AzureVM 获取 VM 对象
- 运行 设置-AzureVMSize
- 更新-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