[Azure]基于Invoke-Parallel对Azure ARM虚拟机批量开关机
来源:互联网 发布:2016西决g6知乎 编辑:程序博客网 时间:2024/05/16 14:07
这个脚本基于Invoke-Parallel方法并行开关Azure ARM虚拟机:
Invoke-Parallel脚本下载地址和介绍请参考链接:https://gallery.technet.microsoft.com/scriptcenter/Run-Parallel-Parallel-377fd430
脚本如下:
#AzurePortalLoginUsername是Azure的Portal登录名,例如XXX@XXXX.partner.onmschina.cn$AzurePortalLoginUsername = "XXXXXXXXXXXXX";#AzurePortalLoginPassword是登陆密码$AzurePortalLoginPassword = "XXXXXXXXXXXXX";#虚拟机所在的订阅名称$SubscriptionName = "XXXXXXXXXXXXX";function Invoke-Parallel {...}#定义登陆的Credential$e1=Get-AzureRmEnvironment -Name AzureChinaCloud;$Cred = New-Object System.Management.Automation.PSCredential($AzurePortalLoginUsername,(ConvertTo-SecureString $AzurePortalLoginPassword -AsPlainText -Force));$AzureRMCred = Get-Credential -Credential $Cred;#登陆Login-AzureRmAccount -Environment $e1 -Credential $AzureRMCred;#定义要开/关的虚拟机ResourceGroupName是虚拟机资源组&虚拟机列表,等号左侧是虚拟机所属的资源组名称,等号右侧是资源组下要开/关的虚拟机名字,如果有多台,用分号分隔$VMs = @{ "ResourceGroupName1" = "VM1;VM2;VM3 ....";"ResourceGroupName2" = "VM1;VM2;VM3 ....";#...."ResourceGroupNameN" = "VM1;VM2;VM3 ...."};#切换到这个订阅下Select-AzureRmSubscription -SubscriptionName $SubscriptionName;foreach ($ResourceGroupName in $VMs.Keys){ #获取到这个ResourceGroup下要开/关机的虚拟机的名字列表 $vmnames = @(); foreach($vmname in $VMs[$ResourceGroupName].Split(";")) { $vmnames += $vmname; } #如果要开机,用下面这条命令,如果要关机,就把这条命令注释掉 $vmnames | Invoke-Parallel -ImportVariables -NoCloseOnTimeout -ScriptBlock { Start-AzureRmVM -ResourceGroupName $ResourceGroupName -Name $_ } #如果要关机,把下面这条命令的#号去掉,把上面Start-AzureRmVM注释掉(前面加#号) #$vmnames | Invoke-Parallel -ImportVariables -NoCloseOnTimeout -ScriptBlock { Stop-AzureRmVM -ResourceGroupName $ResourceGroupName -Name $_ -Force }}
86 0
- [Azure]基于Invoke-Parallel对Azure ARM虚拟机批量开关机
- [Azure]ARM中使用Azure Powershell批量规划虚拟网络
- [Azure]使用Powershell批量添加虚拟机ACL
- Azure虚拟机批量设置静态IP
- [Azure]使用Azure Powershell查看ARM模式下Azure存储中的vhd文件对应的虚拟机
- Azure
- Azure
- Azure
- [Azure]ARM虚拟机更换网络接口(Network Interface)
- [Azure]获取当前订阅下所有ARM虚拟机的PublicIP
- [Azure]使用Powershell输出某台ARM虚拟机的NSG
- [Azure]使用Powershell重新生成ARM虚拟机网卡
- [Azure]ARM模式下制作映像并创建虚拟机
- [Azure]使用Powershell将ARM虚拟机加入可用性集
- [Azure]使用Powershell克隆ARM虚拟机(非托管磁盘)
- [Azure]使用Powershell克隆ARM虚拟机(托管磁盘)
- Azure ARM虚拟机部署反恶意软件-安全扩展
- 备份Windows Azure虚拟机
- SpringMVC学习笔记
- 自定义分页标签详解
- 异常机制—学习笔记—java中异常处理
- 关于推荐系统中的特征工程
- 设计模式(一)——简单工厂
- [Azure]基于Invoke-Parallel对Azure ARM虚拟机批量开关机
- ZJOI 2009 取石子游戏 博弈论
- Spring MVC过滤器-字符集过滤器(CharacterEncodingFilter)
- AVPlay播放视频
- 函数的返回值是引用
- 微信自动抢红包
- 二值图像连通域标记算法与代码加载栅格影响,提取像素转点存储shp文件
- 文章标题VirtualBox Centos 网络连接问题
- Java反射机制访问类私有方法和变量