[Azure]使用Powershell输出某台ASM虚拟机的NSG和ACL
这个脚本用于输出ASM模式下虚拟机的NSG和ACL,对于多网卡虚拟机也同样适用。可以输出所有网络接口的NSG以及虚拟机所在子网的NSG。
脚本如下:
param(#The name of the subscription to take all the operations within. [Parameter(Mandatory = $true)] [string]$SubscriptionName, # Cloud Service Name.[Parameter(Mandatory = $true)][string]$ServiceName,# Virtual Machine Name.[Parameter(Mandatory = $true)][string]$VMName
)$cred = Get-Credential;
Add-AzureAccount -Environment AzureChinaCloud -Credential $cred;Select-AzureSubscription -SubscriptionName $SubscriptionName;Function PrintVirtualMachineNetworkSecurityRules($vm)
{$customRules = New-Object System.Collections.ArrayList;#$defaultRules = New-Object System.Collections.ArrayList;$duplicateNsgs = New-Object System.Collections.ArrayList;# collect ACLs$endpoints = $vm | Get-AzureEndpoint;foreach($endpoint in $endpoints){foreach($aclRule in $endpoint.Acl.Rules){$name = $aclRule.Description;if($name -eq "") #Description is required currently, so skip{$name = "<ACL>"}$vip = $endpoint.Vip;if($vip -eq $NULL){$vip = "<CloudSerivce Vip>";}$customRules.Add(@{RuleName=$name; Protocol=$endpoint.Protocol; Source=$aclRule.RemoteSubnet; SourcePort="*"; Dest=$vip; DestPort=$endpoint.Port; Access=$aclRule.Action; Priority=$aclRule.Order; Direction="Inbound"; Catagory="Endpoint ACL";});}}# collect NSG associated with VM$nsgToVM = $vm | Get-AzureNetworkSecurityGroupAssociation;if(!$duplicateNsgs.Contains($nsgToVM.Name)){$duplicateNsgs.Add($nsgToVM.Name);$rules = $nsgToVM.Rules;foreach($rule in $rules){$customRules.Add(@{RuleName=$rule.Name; Protocol=$rule.Protocol; Source=$rule.SourceAddressPrefix; SourcePort=$rule.SourcePortRange; Dest=$rule.DestinationAddressPrefix; DestPort=$rule.DestinationPortRange; Access=$rule.Action; Priority=$rule.Priority; Direction=$rule.Type; Catagory="VirtualMachine NSG";});}}# collect NSG associated with subnet of the VM$virtualNetworkName = $vm.VirtualNetworkName;if($virtualNetworkName -ne ""){foreach($networkConfiguration in $vm.VM.ConfigurationSets){$subnetName = $networkConfiguration.SubnetNames[0];if($subnetName -ne ""){$nsg = Get-AzureNetworkSecurityGroupAssociation -VirtualNetworkName $virtualNetworkName -SubnetName $subnetName -Detailed;if(!$duplicateNsgs.Contains($nsg.Name)){$duplicateNsgs.Add($nsg.Name);$rules = $nsg.Rules;foreach($rule in $rules){$customRules.Add(@{RuleName=$rule.Name; Protocol=$rule.Protocol; Source=$rule.SourceAddressPrefix; SourcePort=$rule.SourcePortRange; Dest=$rule.DestinationAddressPrefix; DestPort=$rule.DestinationPortRange; Access=$rule.Action; Priority=$rule.Priority; Direction=$rule.Type; Catagory="Subnet NSG";});}}}}}$customRules | select @{Name="Name"; Expression={$_["RuleName"]}}, @{Name="Protocol";Expression={$_["Protocol"]}}, @{Name="Source"; Expression={$_["Source"]}}, @{Name="SourcePort"; Expression={$_["SourcePort"]}}, @{Name="Dest"; Expression={$_["Dest"]}}, @{Name="DestPort"; Expression={$_["DestPort"]}}, @{Name="Access"; Expression={$_["Access"]}}, @{Name="Priority"; Expression={$_["Priority"]}}, @{Name="Direction"; Expression={$_["Direction"]}}, @{Name="Catagory"; Expression={$_["Catagory"]}} | Out-GridView;
}$vm = Get-AzureVM -ServiceName $ServiceName -Name $VMName;
PrintVirtualMachineNetworkSecurityRules $vm;
调用方法:
[ASM]show_virtual_machine_network_rules.ps1 -SubscriptionName <Subscription Name> -ServiceName <CloudService Name> -VMName <VM Name>
输出结果:
[Azure]使用Powershell输出某台ASM虚拟机的NSG和ACL相关推荐
- [Azure]使用Powershell输出某台ARM虚拟机的NSG
这个脚本用于输出ARM模式下虚拟机的NSG,对于多网卡虚拟机也同样适用.可以输出所有网络接口的NSG以及虚拟机所在子网的NSG. 脚本如下: param(#The name of the subscr ...
- 微软Azure PowerShell使用指南(2) - 控制虚拟机
如上篇,选择相应的订阅信息后,我们就可以开始使用我们的云资源.这篇我们介绍如何创建虚拟机并且通过PowerShell就可以控制虚拟机. 创建虚拟机 微软提供了非常多的操作系统镜像,从Windows 2 ...
- 两台ubuntu虚拟机环境下hadoop安装配置
http://blog.itpub.net/26978437/viewspace-730136/ 按照上几篇的内容,安装好两台ubuntu虚拟机之后,首先确定好哪台机子做namenode,哪台做dat ...
- 访问局域网另外一台电脑虚拟机中CentOS7
访问局域网另外一台电脑虚拟机中CentOS7 参考: https://blog.csdn.net/yangzaiqiu1986814/article/details/50788263
- 如何构建虚拟机Hadoop集群,搭建3台ubuntu虚拟机集群
如何构建虚拟机Hadoop集群,搭建3台ubuntu虚拟机集群 克隆集群机器 通过虚拟机搭建Hadoop集群,发现使用的VMware workstation 15 player版本没有克隆功能,于是找 ...
- 安装一台RHEL6虚拟机
安装一台RHEL6虚拟机 问题 新建一台RHEL虚拟机,相关配置及要求如下所述. 硬盘300GB.内存2GB 分区规划: /boot 200MB./ 100GB.SWAP 4096MB./data ...
- 在 Windows Azure 上部署并定制化 FreeBSD 虚拟机镜像
发布于 2014-12-11 作者 陈阳 FreeBSD 基础镜像现已登陆中国的 VM Depot! 对于青睐 BSD 而非 Linux 的开源爱好者来说,这无疑是个好消息.同时,随着该基础镜像 ...
- 使用PowerShell登陆多台Windows,测试DCAgent方法
目标: 需要1台PC用域账户远程登陆10台PC,每台登陆后的PC执行发送敏感数据的操作后,再logoff. 在DCAgent服务器上,查看这10个用户每次登陆时,DCAgent是否能获取到登陆信息(I ...
- 服务器虚拟多台linux,VirtualBox环境下基于多台Ubuntu虚拟机的Hadoop分布式计算环境搭建...
export PATH=$HADOOP_HOME/bin:$PATH 接下来需要修改hadoop/conf/目录下的配置文件,共有6个文件需要修改,分别是masters.slaves.core-sit ...
最新文章
- Unity3D 动态加载 图片序列正反播放
- C++ Primer 第五版 第6章 6.7——函数指针阅读笔记
- 【转载】Linux 命令行快捷键 - 移动光标
- Xml读取和写入以及新建
- 那些年,我们一起玩过的响应式布局
- linux、mysql、nginx、tomcat 环境下压力测试的主要调试参数
- 流水灯c语言代码大全,单片机闪烁灯流水灯汇编代码大全
- oracle 10g oci.dll 下载,Oracle 11g oci.dll下载
- Chrome如何下载网页视频
- 机器学习特征工程之皮尔森相关系数 pearson correlation of features
- 阿里云控制台配置OSS服务
- Lumerical官方案例、FDTD时域有限差分法仿真学习(八)——光纤布拉格光栅(Fiber Bragg gratings)
- zemax设计35mm镜头_ZEMAX基础实例 - 变焦镜头设计
- windows无法完成安装若要在此计算机,windows无法完成安装.若要在此
- 微信公众号开发(1)--微信公众平台与后台服务器
- 服务器主板四路SLI时候出现的问题
- 冯 . 诺依曼体系结构对计算机发展的限制
- Matter Test-Harness自动化测试系统
- C++ libco 介绍与应用
- Java 用UDP协议实现远程关机
热门文章
- 百度云盘照片导入华为相册里_百度网盘传送列表怎样导入手机相册_手机百度网盘下载到相册...
- 如何压缩GIF/GIF压缩软件教程方法全面解析
- 压在redis身上的三座大山
- html5超萌哈士奇,哈士奇,是一种让人又爱又恨,又拥有自己独特风格的雪橇犬...
- CAD2014学习笔记-常用绘图命令和工具
- 【历史上的今天】1 月 18 日:微软的“技术布道者”;反盗版法案抗议行动;哈佛 Mark I 灵感起源
- linux操作系统是什么,操作系统概述
- 【MySQL5.7指南】第一章——概述
- 使用伪类实现划掉字体
- 出现单实例模式毁坏Destroying singletons