内容简介:最近因為企業內訓的授課需求,需要在 Azure 上建立 20 台客製化環境的虛擬機器(VMs),這個時候正是使用 Azure Lab Services 的最佳時機 (以前的名稱叫做 Azure DevTest Labs 實驗室服務)。由於透過 Azure Lab Services 建立的 VMs 可以設定每天定時自動關機、自動開機,用以節省 Azure 的花費,這是一個非常貼心的設計。不過,客戶這邊的課程並不是每天上課,而是每周上課一次,這個設定就不太好用了。本篇文章我來分享剛寫好的兩份 Azure Po
最近因為企業內訓的授課需求,需要在 Azure 上建立 20 台客製化環境的虛擬機器(VMs),這個時候正是使用 Azure Lab Services 的最佳時機 (以前的名稱叫做 Azure DevTest Labs 實驗室服務)。由於透過 Azure Lab Services 建立的 VMs 可以設定每天定時自動關機、自動開機,用以節省 Azure 的花費,這是一個非常貼心的設計。不過,客戶這邊的課程並不是每天上課,而是每周上課一次,這個設定就不太好用了。本篇文章我來分享剛寫好的兩份 Azure PowerShell 指令檔,方便日後批次啟動或停止這些實驗室中的虛擬機器。
批次啟動特定 Lab 下所有 VMs
# 批次啟動特定 Lab 下所有 VMs
# 使用前請先變更以下參數:
$subscriptionId = "<請輸入訂用帳戶名稱ID>"
$labResourceGroup = "<請輸入資源群組名稱>"
$labName = "<請輸入Lab的資源名稱>"
# 第一次執行時,才需要執行登入動作
Connect-AzureRmAccount
# 選取訂用帳戶
Select-AzureRmSubscription -SubscriptionId $subscriptionId
# 取得這個 Lab 的資源物件
$lab = Get-AzureRmResource -ResourceId ('subscriptions/' + $subscriptionId + '/resourceGroups/' + $labResourceGroup + '/providers/Microsoft.DevTestLab/labs/' + $labName)
# 取得這個 Lab 下的所有 VMs
$labVMs = Get-AzureRmResource | Where-Object {
$_.ResourceType -eq 'microsoft.devtestlab/labs/virtualmachines' -and
$_.Name -like "$($lab.Name)/*"}
# 啟動所有 VMs
foreach($labVM in $labVMs)
{
Invoke-AzureRmResourceAction -ResourceId $labVM.ResourceId -Action Start -Force
}
批次停止特定 Lab 下所有 VMs
# 批次停止特定 Lab 下所有 VMs
# 使用前請先變更以下參數:
$subscriptionId = "<請輸入訂用帳戶名稱ID>"
$labResourceGroup = "<請輸入資源群組名稱>"
$labName = "<請輸入Lab的資源名稱>"
# 第一次執行時,才需要執行登入動作
Connect-AzureRmAccount
# 選取訂用帳戶
Select-AzureRmSubscription -SubscriptionId $subscriptionId
# 取得這個 Lab 的資源物件
$lab = Get-AzureRmResource -ResourceId ('subscriptions/' + $subscriptionId + '/resourceGroups/' + $labResourceGroup + '/providers/Microsoft.DevTestLab/labs/' + $labName)
# 取得這個 Lab 下的所有 VMs
$labVMs = Get-AzureRmResource | Where-Object {
$_.ResourceType -eq 'microsoft.devtestlab/labs/virtualmachines' -and
$_.Name -like "$($lab.Name)/*"}
# 啟動所有 VMs
foreach($labVM in $labVMs)
{
Invoke-AzureRmResourceAction -ResourceId $labVM.ResourceId -Action Stop -Force
}
批次刪除特定 Lab 下所有 VMs
# 批次刪除特定 Lab 下所有 VMs
# 使用前請先變更以下參數:
$subscriptionId = "<請輸入訂用帳戶名稱ID>"
$labResourceGroup = "<請輸入資源群組名稱>"
$labName = "<請輸入Lab的資源名稱>"
# 第一次執行時,才需要執行登入動作
Connect-AzureRmAccount
# 選取訂用帳戶
Select-AzureRmSubscription -SubscriptionId $subscriptionId
# 取得這個 Lab 的資源物件
$lab = Get-AzureRmResource -ResourceId ('subscriptions/' + $subscriptionId + '/resourceGroups/' + $labResourceGroup + '/providers/Microsoft.DevTestLab/labs/' + $labName)
# 取得這個 Lab 下的所有 VMs
$labVMs = Get-AzureRmResource | Where-Object {
$_.ResourceType -eq 'microsoft.devtestlab/labs/virtualmachines' -and
$_.Name -like "$($lab.Name)/*"}
# 啟動所有 VMs
foreach($labVM in $labVMs)
{
Remove-AzureRmResource -ResourceId $labVM.ResourceId -Force
}
相關連結
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- MySQL Insert语句单个批次数量过多导致的CPU性能问题分析
- 优雅停止 SpringBoot 服务,拒绝 kill -9 暴力停止!
- 请停止结对编程
- 请停止学习框架!
- 请停止代码注释
- 驳 《驳 《驳 《停止学习框架》》》
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
首席产品官1 从新手到行家
车马 / 机械工业出版社 / 2018-9-25 / 79
《首席产品官》共2册,旨在为产品新人成长为产品行家,产品白领成长为产品金领,最后成长为首席产品官(CPO)提供产品认知、能力体系、成长方法三个维度的全方位指导。 作者在互联网领域从业近20年,是中国早期的互联网产品经理,曾是周鸿祎旗下“3721”的产品经理,担任CPO和CEO多年。作者将自己多年来的产品经验体系化,锤炼出了“产品人的能力杠铃模型”(简称“杠铃模型”),简洁、直观、兼容性好、实......一起来看看 《首席产品官1 从新手到行家》 这本书的介绍吧!