有客户希望可以通过一条命令获得一个Azure订阅中所有的负载均衡器。

目前在Azure的powershell中是没有这中命令的。但我们可以通过脚本的方式实现。

下面就是获得所有负载均衡的脚本:

param(
[Parameter(Mandatory=$true)]
[String]$subscriptionId )
$flag=0
$subs=Get-AzureSubscription
foreach($sub in $subs)
{
if($sub.subscriptionid -eq $subscriptionId)
{ $flag=1 }
}
if($flag -eq 0)
{
Add-AzureAccount -Environment AzureChinaCloud
} Select-AzureSubscription -SubscriptionId $subscriptionId $sers = Get-AzureService
$result=@()
foreach ($ser in $sers)
{
$vms = get-azurevm -ServiceName $ser.ServiceName
foreach($vm in $vms)
{ $lbs=Get-AzureEndpoint -VM $vm | Where-Object {$_.LBSetName -ne $null}
foreach ($lb in $lbs)
{
$vmObject = New-Object PSObject
$vmObject | Add-Member -MemberType NoteProperty -Name "ServiceName" -Value $vm.ServiceName
$vmObject | Add-Member -MemberType NoteProperty -Name "VMName" -Value $vm.Name
$vmObject | Add-Member -MemberType NoteProperty -Name "LBType" -Value "SLB"
$vmObject | Add-Member -MemberType NoteProperty -Name "SLBName" -Value $lb.LBSetName
$vmObject | Add-Member -MemberType NoteProperty -Name "LocalPort" -Value $lb.LocalPort
$vmObject | Add-Member -MemberType NoteProperty -Name "PubPort" -Value $lb.Port
$vmObject | Add-Member -MemberType NoteProperty -Name "HashType" -Value $lb.LoadBalancerDistribution
$result+= $vmObject } $ilbs=Get-AzureEndpoint -VM $vm | Where-Object {$_.InternalLoadBalancerName -ne $null}
foreach ($ilb in $ilbs)
{
$vmObject = New-Object PSObject
$vmObject | Add-Member -MemberType NoteProperty -Name "ServiceName" -Value $vm.ServiceName
$vmObject | Add-Member -MemberType NoteProperty -Name "VMName" -Value $vm.Name
$vmObject | Add-Member -MemberType NoteProperty -Name "LBType" -Value "ILB"
$vmObject | Add-Member -MemberType NoteProperty -Name "SLBName" -Value $ilb.InternalLoadBalancerName
$vmObject | Add-Member -MemberType NoteProperty -Name "LocalPort" -Value $ilb.LocalPort
$vmObject | Add-Member -MemberType NoteProperty -Name "PubPort" -Value $ilb.Port
$vmObject | Add-Member -MemberType NoteProperty -Name "HashType" -Value $ilb.LoadBalancerDistribution
$result+= $vmObject
} } }
$result |Format-Table

用CLI也可以实现类似的功能。但输出是原始的输出格式:

#!/bin/bash
sers=`azure service list | awk '/China/ {print $2}'`
for ser in $sers
do
slbs=`azure service load-balanced-set list $ser |awk '/(tcp|udp)/ {print $2}'`
for slb in $slbs
do
azure service load-balanced-set show -b $slb $ser
done
done

获得Azure订阅LoadBalancer的脚本的更多相关文章

  1. Azure 订阅和服务限制、配额和约束

    最后更新时间:2016年10月24日 概述 本文档指定一些最常见的 Azure 限制.请注意,本文档目前未涵盖所有 Azure 服务.一段时间后,将展开并更新这些限制以包含多个平台. NOTE: 如果 ...

  2. Azure PowerShell (2) 修改Azure订阅名称

    <Windows Azure Platform 系列文章目录> Update: 2016-01-11 笔者文档主要都是用Azure PowerShell 0.x版本来实现的,比如0.98版 ...

  3. [Azure] 使用 Visual Studio 2013 管理中国版 Azure 订阅

    比较关心微软平台技术的朋友应该都知道,微软云服务(Microsoft Azure)以下简称Azure分为全球版和中国版,由于政府法规问题中国版的服务是由二十一世纪互联运营,整体来看中国版Azure和全 ...

  4. Azure ARM (21) Azure订阅的两种管理模式

    <Windows Azure Platform 系列文章目录> 熟悉Azure平台的读者都知道,Microsoft Azure服务管理,分为三个层次: 1.企业服务合同 (Enterpri ...

  5. Azure 计费 & 成本管理 & 取消 Azure 订阅

    Azure 计费 & 成本管理 & 取消 Azure 订阅 https://docs.microsoft.com/zh-cn/azure/cost-management-billing ...

  6. Azure Automation (3) 定期将某个Azure订阅下的所有虚拟机开关机

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 在笔者之前的文章中,我们介绍了使用Azure Automation ...

  7. 将 Windows VM 移到其他 Azure 订阅或资源组

    本文逐步说明如何在资源组或订阅之间移动 Windows VM. 如果最初在个人订阅中创建了 VM,现在想要将其移到公司的订阅以继续工作,则在订阅之间移动 VM 可能很方便. Important 不可在 ...

  8. Windows Azure Platform Introduction (11) 了解Org ID、Windows Azure订阅、账户

    <Windows Azure Platform 系列文章目录> 了解和掌握Windows Azure相关的基础知识是非常重要的. 问题1:什么叫做Org ID Org ID是Azure C ...

  9. 创建Azure Blob Snapshot的脚本

    在前面的文章中介绍了如何创建Azure Blob Snapshot.那篇文章中创建的脚本思路是:遍历所有Storage Account,找到所有vhd文件,进行Snapshot的创建. 但这种方式不够 ...

随机推荐

  1. 我的Android进阶之旅------>启动Activity的标准Action和标准Category

    Android内部提供了大量标准的Action和Category常量. 除了参考本文外,您还可以参考了以下链接: http://developer.android.com/reference/andr ...

  2. 记一次Net软件逆向的过程(经典)

    查壳 1.先看下目录结构: 2.查下,是什么语言 ==> Net的,那不用说了,肯定能破解(毕竟是老本行嘛~) 混淆与反混淆 3.dnSpy打开后发现很多变量是乱码 4.用de4dot跑一波 5 ...

  3. JNDI知道这么多就够了!

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/sunshoupo211/article/details/37924017 JNDI 全称:Java ...

  4. 很详细、很移动的Linux makefile 教程

    近期在学习Linux下的C编程,买了一本叫<Linux环境下的C编程指南>读到makefile就越看越迷糊,可能是我的理解能不行. 于是google到了以下这篇文章.通俗易懂.然后把它贴出 ...

  5. MySQL与Oracle的语法区别详细对比

    MySQL与Oracle的语法区别详细对比 Oracle和mysql的一些简单命令对比在本文中将会涉及到很多的实例,感兴趣的你不妨学习一下,就当巩固自己的知识了   Oracle和mysql的一些简单 ...

  6. python用特殊方法定制类(不全)

    定义在class中不需要直接调用,python的某些函数或操作符会自动的调用对应的特殊方法. 1.python中 __str__和__repr__ __str__()用于显示给用户,而__repr__ ...

  7. [原创]Scala学习:函数的定义

    方式一:标准的定义函数 def 函数名(参数1: 参数类型,参数2: 参数类型): 返回值类型 = { 函数体 } 例子 def max(x: Int,y: Int): Int ={ if(x > ...

  8. zabbix实现mysql数据库的监控(四)

    前面介绍的内容都是用第三方开发好的插件进行mysql监控的,可能有些我们关心的监控内容并不在其中,这时一种常用的方法就是定义我们自己的脚本并将它整合到zabbix中,从而在原有监控的基础上进行有力的补 ...

  9. 机器学习相关知识整理系列之一:决策树算法原理及剪枝(ID3,C4.5,CART)

    决策树是一种基本的分类与回归方法.分类决策树是一种描述对实例进行分类的树形结构,决策树由结点和有向边组成.结点由两种类型,内部结点表示一个特征或属性,叶结点表示一个类. 1. 基础知识 熵 在信息学和 ...

  10. vim 的配置文件(.vimrc)

    linux 下面的root的主目录中新建.vimrc配置文件,配置文件注析方式为“,不是#: 如: "显示行号 set number set ruler