PowerShell批量配置VM端点
我们可以通过PowerShell脚本批量添加VM端点。请您参考以下方案。
准备工作 – PowerShell连接China Azure
1. 从官网下载页面,下载并安装Windows Azure PowerShell: http://www.windowsazure.cn/zh-cn/downloads/#cmd-line-tools
2. 安装完毕后以管理员身份运行,右键点击PowerShell图标然后选择以管理员身份运行;
3. 执行命令Get-AzurePublishSettingsFile -Environment "AzureChinaCloud",通过打开的页面下载您的Windows Azure Subscription的发布配置文件;
4. 在PowerShell中执行Import-AzurePublishSettingsFile “发布配置文件本地存放路径”;
方案一:批量添加自定义的端点
备注:该例子针对一个虚拟机,添加了三个端口:
端口名称 |
协议 |
公用端口 |
私有端口 |
MyPort1 |
tcp |
5001 |
5001 |
MyPort2 |
tcp |
5002 |
5002 |
MyPort3 |
udp |
5003 |
5003 |
该例子中,云服务名称与虚拟机名称均为:JohnsonLinux。如果需要添加更多的端口,那么可以按照相应格式,将端口配置添加到$newVmEndpoints。格式为:(“端口名称”,”协议”,”公用端口”,”私有端口”)
$serviceName = "JohnsonLinux"
$name = "JohnsonLinux" $newVmEndpoints = ("MyPort1","tcp",5001,5001) ,("MyPort2","tcp",5002,5002) ,("MyPort3","udp",5003,5003) $myVm = Get-AzureVM -ServiceName $serviceName -Name $name foreach ($endpointConfig in $newVmEndpoints)
{
$myVm | Add-AzureEndpoint -Name $endpointConfig[0] -Protocol $endpointConfig[1] -PublicPort $endpointConfig[2] -LocalPort $endpointConfig[3]
} $myVm | Update-AzureVM
方案二:批量添加某一范围的端点
下面是脚本中的一些参数说明,请您相应的替换。
$serviceName – VM所属的云服务名称
$name – VM名称
$portFrom – 起始端口号
$portTo – 终止端口号
$protocal – 协议名称
下面的例子中:
1. 我们添加了1-150号TCP端点,共150个。
2. 公共端口和私有端口的值一致。
3. 端点的名称的格式为:协议名称+端口号。
4. 如果已经添加了某一个端口,则该脚本会略过该端口。
5. 同时,我们测试的过程中发现,目前我们最多只能开放150个端口。
$serviceName = "JohnsonLinux"
$name = "JohnsonLinux"
$protocol = "tcp"
$portFrom = 1
$portTo = 150 $myVm = Get-AzureVM -ServiceName $serviceName -Name $name $existingPublicPorts = New-Object System.Collections.ArrayList
$existingLocalPorts = New-Object System.Collections.ArrayList foreach($endpoint in $myVm | Get-AzureEndpoint)
{
if($protocal.Equals($endpoint.Protocol))
{
$existingPublicPorts.Add($endpoint.Port)
$existingLocalPorts.Add($endpoint.LocalPort)
}
} for($index = $portFrom; $index -le $portTo; $index++)
{
if(!$existingPublicPorts.Contains($index) -and !$existingLocalPorts.Contains($index))
{
$portName = $protocol + $index
$myVm | Add-AzureEndpoint -Name $portName -Protocol $protocol -PublicPort $index -LocalPort $index
} } $myVm | Update-AzureVM
下面是运行该脚本以后的部分结果截图:
批量删除VM下的所有端点:
$serviceName = "JohnsonLinux"
$name = "JohnsonLinux" $myVm = Get-AzureVM -ServiceName $serviceName -Name $name foreach($endpoint in $myVm | Get-AzureEndpoint)
{
$myVm | Remove-AzureEndpoint -Name $endpoint.Name
} $myVm | Update-AzureVM
PowerShell批量配置VM端点的更多相关文章
- 使用powershell批量添加Qt的文件(生成pro)
想使用QtCreator作为编辑器编辑keil或者IAR的工程,需要生成.pro文件,于是使用powershell批量处理. 源码如下: $incPath = dir -filter "*. ...
- Powershell 批量替换文件
Powershell 批量替换文件 ##作者:Xiongpq ##时间:2015-06-10 18:50 ##版本:2.0 ##源文件目录 ##源文件目录的所有文件都会覆盖目标目录的同名文件,源文件目 ...
- PowerShell 批量导入/导出Active Directory
PowerShell 批量导入/导出Active Directory 近期由于公司要求,须要导入20个供应商.20个客户到AD域中,刚開始手动添�了2个供应商,2个客户.可是感觉费时费 ...
- 批量配置SSH互信脚本
在大规模自动化部署时我们常常需要配置好服务器的SSH互信,以便自动化脚本可以免密登录远程服务器,常规的手动配置SSH互信步骤如下: 使用ssh-keygen生成本地ssh key(mha01),生成的 ...
- 使用PowerShell批量解除锁定下载的文件
使用PowerShell批量解除锁定下载的文件 3.在需要解锁的文件所在的文件夹中空白处,按住Shift然后单击右键,在弹出的右键菜单中,选择“在此处打开PowerShell窗口”, 输入Get-Ch ...
- BatchConfigTool批量配置工具
海康批量配置工具BatchConfigTool是一款支持设备在线搜索.批量配置参数.批量升级等功能的软件,支持对大批量设备同时进行各参数的配置,极大的简化了操作过程! 软件功能 1.对在线设备进行搜索 ...
- thinkphp 批量配置
C配置方法支持批量配置,例如: $config = array('WEB_SITE_TITLE'=>'ThinkPHP','WEB_SITE_DESCRIPTION'=>'开源PHP框架' ...
- 实现FTP+PAM+MySQL环境,批量配置虚拟用户
实现FTP+PAM+MySQL环境,批量配置虚拟用户 搭建环境: CentOS6.5或CentOS6.7 [root@vhost3 ~]# uname -a Linux vhost3 2.6.32-5 ...
- PowerShell批量启动/关闭Azure VM
备注:以下例子中出现的JohnsonWeb, JohnsonVm均是虚拟机的名称.在运行Powershell脚本之前,请导入您的订阅文件. 根据条件启动/关闭虚拟机,例如根据虚拟机名称,批量启动/关闭 ...
随机推荐
- CentOS6.5 环境安装配置
一.GO环境配置 1.运行命令进入/usr/local/src目录:cd /usr/local/src 2.下载安装包:运行wget --no-check-certificate https://st ...
- Swift网络库Alamofire的导入
一.手动导入 1, 官网下载 Alamofire 2, 解压下载的文件 放入工程的顶层目录下 3, 打开工程 Add Files 4, 选中项目 TARGETS > General > E ...
- HTML 笔记之 HTML 元素的概念
HTML 不是编程语言,它是一种标记语言 HTML 中常见的几个名词是 元素. 标签(开始标签和结束标签). 属性. 元素内容 这篇文章将要介绍的是 HTML 元素的概念 元素的概念 例子: < ...
- uvm_tlm——TLM1事务级建模方法(一)
TLM(事务级建模方法,Transaction-level modeling)是一种高级的数字系统模型化方法,它将模型间的通信细节与函数单元或通信架构的细节分离开来.通信机制(如总线或者FIFO)被建 ...
- Hyper-V 2016 配置管理系列(准备篇)
2.1 推荐软硬件配置 2.2 Hyper主机前提准备 前提条件: 具有二级地址转换(SLAT)的64位处理器.要安装Hyper-V虚拟化组件(如Windows管理程序),处理器必须具有SLAT 足够 ...
- Java 中 Double 相关问题
在项目当中,对于double类型数据的使用比较频繁.尤其是处理金钱相关的数据,在使用Double类型的数据时,涉及到精度,显示,四舍五入等等问题. 1. 显示问题,当double 数据 小于 0.0 ...
- Python之HTML的解析(网页抓取一)
http://blog.csdn.net/my2010sam/article/details/14526223 --------------------- 对html的解析是网页抓取的基础,分析抓取的 ...
- 笔记 Activator.CreateInstance(Type)
这段代码取自NopCommerce 3.80 的 权限列表初始化代码 dynamic provider = Activator.CreateInstance(providerType); 文件位置 ...
- Aizu 2304 Reverse Roads(无向流)
把有向图修改成无向图,并保证每条边的流量守恒并满足有向容量(即abs(flow(u,v) - flow(v,u)) <= 1)满足限制. 得到最大流,根据残流输出答案. 因为最后少了'\n'而W ...
- CentOS系统下安装Redis
1. 安装C语言环境 yum install gcc-c++ 2.下载Redis安装包 http://download.redis.io/releases/redis-3.2.9.tar.gz 3.解 ...