我们可以通过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

最新文章

  1. hibernate学习(8)——事务.连接池.锁 相关设置
  2. PDF.js
  3. 多个java文件编译并打成jar包经典方法
  4. C# 委托:把方法组合到一个数组中使用
  5. 【译】 沙箱中的间谍 - 可行的 JavaScript 高速缓存区攻击
  6. 【原】Oracle拼接字段
  7. layPage异步分页
  8. listview 的onitemlongclick阿和onitemclick冲突,item中还有button的点击事件
  9. 开源个.NetCore写的 - 并发请求工具PressureTool
  10. loadrunner 脚本录制-Action分类
  11. hdu 1237 简单计算器 (表达式求值)【stack】
  12. 2017ACM/ICPC亚洲区沈阳站(部分解题报告)
  13. Centos7下Zabbix3.4至Zabbix4.0的升级步骤
  14. Vue + Element UI 实现权限管理系统(搭建开发环境)
  15. HDU 1875:畅通工程再续(最小生成树)
  16. java线程五种状态
  17. 分析JobInProgress中Map/Reduce任务分配
  18. windows、linux mysql部署
  19. 优秀设计师必须知道哪些优秀的UI设计原则
  20. SAP后勤模块实施攻略——1.ERP和SAP

热门文章

  1. 生产消费者模式与python+redis实例运用(中级篇)
  2. Django的路由层和视图层
  3. 适用于 Internet Explorer 11 的企业模式
  4. Callable的简单使用
  5. LeetCode Sort List 链表排序(规定 O(nlogn) )
  6. jquery实现加载更多效果
  7. 富文本编辑器Ueditor的使用
  8. POJ 1769 Minimizing maximizer (线段树优化dp)
  9. php xdebug扩展无法进入断点问题
  10. Activiti学习记录(四)