获得Azure订阅LoadBalancer的脚本
有客户希望可以通过一条命令获得一个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的脚本的更多相关文章
- Azure 订阅和服务限制、配额和约束
最后更新时间:2016年10月24日 概述 本文档指定一些最常见的 Azure 限制.请注意,本文档目前未涵盖所有 Azure 服务.一段时间后,将展开并更新这些限制以包含多个平台. NOTE: 如果 ...
- Azure PowerShell (2) 修改Azure订阅名称
<Windows Azure Platform 系列文章目录> Update: 2016-01-11 笔者文档主要都是用Azure PowerShell 0.x版本来实现的,比如0.98版 ...
- [Azure] 使用 Visual Studio 2013 管理中国版 Azure 订阅
比较关心微软平台技术的朋友应该都知道,微软云服务(Microsoft Azure)以下简称Azure分为全球版和中国版,由于政府法规问题中国版的服务是由二十一世纪互联运营,整体来看中国版Azure和全 ...
- Azure ARM (21) Azure订阅的两种管理模式
<Windows Azure Platform 系列文章目录> 熟悉Azure平台的读者都知道,Microsoft Azure服务管理,分为三个层次: 1.企业服务合同 (Enterpri ...
- Azure 计费 & 成本管理 & 取消 Azure 订阅
Azure 计费 & 成本管理 & 取消 Azure 订阅 https://docs.microsoft.com/zh-cn/azure/cost-management-billing ...
- Azure Automation (3) 定期将某个Azure订阅下的所有虚拟机开关机
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 在笔者之前的文章中,我们介绍了使用Azure Automation ...
- 将 Windows VM 移到其他 Azure 订阅或资源组
本文逐步说明如何在资源组或订阅之间移动 Windows VM. 如果最初在个人订阅中创建了 VM,现在想要将其移到公司的订阅以继续工作,则在订阅之间移动 VM 可能很方便. Important 不可在 ...
- Windows Azure Platform Introduction (11) 了解Org ID、Windows Azure订阅、账户
<Windows Azure Platform 系列文章目录> 了解和掌握Windows Azure相关的基础知识是非常重要的. 问题1:什么叫做Org ID Org ID是Azure C ...
- 创建Azure Blob Snapshot的脚本
在前面的文章中介绍了如何创建Azure Blob Snapshot.那篇文章中创建的脚本思路是:遍历所有Storage Account,找到所有vhd文件,进行Snapshot的创建. 但这种方式不够 ...
随机推荐
- iOS启动页加载广告
1.定义全局成员变量 @interface AppDelegate () @property (strong, nonatomic) UIImageView *adImageView; @proper ...
- 【python】-- 模块、os、sys、time/datetime、random、logging、re
模块 模块,用一堆代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个 ...
- 我的Android进阶之旅------>Android中StateListDrawable支持的状态
Android中StateListDrawable支持的状态 android:state_active 代表是否处于激活状态 android:state_checked 代表是否处于已勾选状态 an ...
- QT5的exe的发布
直接release的exe文件需要很多dll关联,一个一个找又太麻烦. 其实QT5带有一个 windeployqt 工具 Qt Widgets Application可执行程序发布方式 首先用 QtC ...
- 如何让Jackson JSON生成的数据包含的中文以unicode方式编码
我们都知道,Jackson JSON以高速.方便和灵活著称.之前的文章中介绍过使用注解的形式来规定如何将一个对象序列化成JSON的方法,以及如何将一个JSON数据反序列化到一个对象上.但是美中不足的一 ...
- python cookbook 迭代器与生成器
代理迭代 a = [1, 2, 3] for i in iter(a): print(i) for i in a.__iter__(): print(i) 这里的两个方法是一样的,调用iter()其实 ...
- 【Flask】Sqlalchemy 增删该查操作
### sqlalchemy 增删改查操作, 通过session来进行操作. # coding:utf-8 # Author: liangjun. from sqlalchemy import cre ...
- inline-block间距解决方案
当我们将元素设为inline-block时,总是会莫名其妙出现一些间距 <!DOCTYPE html> <html> <head> <meta charset ...
- QT下的QProcess调用外部程序
头文件widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget> namespace Ui { class Widget; ...
- RabbitMQ高级应用
高级应用一: 手动模式和自动应答模式 1. 了确保消息不会丢失,RabbitMQ支持消息应答.消费者发送一个消息应答,告诉RabbitMQ这个消息已经接收并且处理完毕了.RabbitMQ就可以删除它了 ...