PowerShell功能获扩展:微软引入网络交换机

日期: 2015-12-17 作者:Adam Bertram翻译:邹雅玲 来源:TechTarget中国 英文

自2006年以来,PowerShell就被设计为协助系统管理员管理并自动完成Windows服务器和客户端上的各种任务。如今,微软已决定通过引入一种大部分Windows服务器管理员并不熟悉的功能来扩展PowerShell功能:即网络交换机。 2012年,微软曾公开介绍了Open Management Infrastructure(简称OMI)的有效性,掌握了行业主动权,开辟了硬件设备管理新篇章。微软创立OMI是为了减少专属协议,而工具供应商正通过提供标准、开放的协议来创建集中管理产品。

微软通过创建Datacenter Abstraction Layer(简称DAL)实现对OMI的支持,同时也提供……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

自2006年以来,PowerShell就被设计为协助系统管理员管理并自动完成Windows服务器和客户端上的各种任务。如今,微软已决定通过引入一种大部分Windows服务器管理员并不熟悉的功能来扩展PowerShell功能:即网络交换机。

2012年,微软曾公开介绍了Open Management Infrastructure(简称OMI)的有效性,掌握了行业主动权,开辟了硬件设备管理新篇章。微软创立OMI是为了减少专属协议,而工具供应商正通过提供标准、开放的协议来创建集中管理产品。微软通过创建Datacenter Abstraction Layer(简称DAL)实现对OMI的支持,同时也提供了实现OMI标准化的一种方法。与此同时,微软也意在通过增加OMI实现对PowerShell的支持作用。

微软DAL其中一个成果就是完成了Windows Network Switches中的Certified程序。该程序有助于网络设备供应商验证他们所编写的为配合DAL和云计算工作的管理API是否可以使用PowerShell进行管理。

PowerShell 3.0时期,微软引入一系列Common Information Model(简称CIM)cmdlets。这些cmdlets使得PowerShell用户可以与Windows系统及其他网络设备进行互动。有了PowerShell 3.0,微软赋予管理员在无需额外软件需求的条件下管理网络转换器及其他网络设备的权限。然而,许多用户发现使用起CIM cmdlets较为繁琐。2014年,微软试图通过在Windows Management Framework 5.0(简称WMF)版本中添加NetworkSwitch PowerShell模块来提升用户体验。(注意:在WMF 5.0 Production Preview中,NetworkSwitch模块被称为NetworkSwitchManager)

与NetworkSwitchManager PowerShell模块进行工作交互


通过本地PowerShell管理网络交换机会快速提升管理人员工作效率。现在,假设你非常愿意尝试使用这项新功能,你该如何着手做呢?首先,不要因为有了PowerShell而废弃现有网络管理软件。要想应用NetworkSwitchManager PowerShell模块来管理相应设备,那么,通过PowerShell交换机就必须受OMI管控,在其中检测交换机供应商质量。

如果应用OMI已经实现了交换机管理,然后你还需要安装WMF 5.0。在写这篇文章之前,已经更新到WMF 5.0 Production Preview。安装WMF 5.0后,就可以获得NetworkSwitchManager PowerShell模块。要想检测该模块是否可用,我们需要打开PowerShell控制台并运行Get-Module。

尽管你可以管控VLAN及其他功能端口,但也不意味着可以使用其中所有功能。记住,这仍然是一项很新的领域,而随着时间推移,微软会加入更多的cmdlets。

在开始之前,我们首先需要在使用New-CimSession cmdlet的网络交换机之间创建一个CIM会话。根据目前采用的方法,在会话连接阶段,应该使用New-CimSessionOption cmdlet设置多种使用选项。以下代码创建了一个CIM会话,以管理员用户名使用HTTPS将其连接到宿主MYHOST:

$option = New-CimSessionOption -UseSsl -SkipCACheck -SkipCNCheck -SkipRevocationCheck

$session = New-CimSession -CN MYHOST -port 5986 -Auth Basic -Credential admin -SessionOption $sessionOption

一旦你创建了这个CIM会话,那么,接下来当我们使用任意模块cmdlets时,你就必须指定该会话使用CimSession参数。例如,当要列举交换机中所有端口名称时,你将可以使用如下Get-NetworkSwitchEthernetPort cmdlet:

Get-NetworkSwitchEthernetPort –CimSession $session

从$session到CimSession参数,表明授予适当的证书,cmdlet就会依附于网络中合适的主机上,这属于认证并授权枚举所有转换端口。该方法要比使用老式枚举转换端口方法要更简单快捷。

Get-CimInstance CIM_EthernetPort -CimSession $Session

在NetworkSwitchManager PowerShell模块诞生之前,系统管理员需要知晓CIM Class名称(CIM_EthernetPort),这种方法太复杂。

据另一个例子,要想禁用交换机端口,那么我们就需要使用Disable-NetworkSwitchEthernetPort cmdlet并再一次验证CIM Session,此次使用的是PortNumber参数。

Disable-NetworkSwitchEthernetPort -CimSession $Session -PortNumber 21

这种管理交换机的方法与安装不同软件包以及应用不同方法适应几种不同配置的交换机模块相比还是比较容易的。然而,目前并不是所有交换机供应商都支持OMI。如果你手中的交换机不支持OMI,那么,给供应商发送一个需求,判断他们是否实现了这一功能。

作者

Adam Bertram
Adam Bertram

自由撰稿人

相关推荐