自2006年以来,PowerShell就被设计为协助系统管理员管理并自动完成Windows服务器和客户端上的各种任务。如今,微软已决定通过引入一种大部分Windows服务器管理员并不熟悉的功能来扩展PowerShell功能:即网络交换机。 2012年,微软曾公开介绍了Open Management Infrastructure(简称OMI)的有效性,掌握了行业主动权,开辟了硬件设备管理新篇章。微软创立OMI是为了减少专属协议,而工具供应商正通过提供标准、开放的协议来创建集中管理产品。
微软通过创建Datacenter Abstraction Layer(简称DAL)实现对OMI的支持,同时也提供……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
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,那么,给供应商发送一个需求,判断他们是否实现了这一功能。
相关推荐
-
网络配置也开始玩自动化
数据中心的网络在过去的五年有了翻天覆地的变化:核心连接速度从千兆向10G发展,连接速度的高速发展超过了交换机的连接速度和端口密度。
-
PowerShell 3.0实战手册
Windows Server 2012、Windows Server 2012 R2、Windows 8.1或者Windows 8均支持PowerShell 3.0。本期重点分享PowerShell 3.0在实际环境中的操作技巧。
-
超大规模数据中心意味着不同的硬件需求与IT角色
还记得数据中心放一排排独立机架么?有很多员工,各种用于服务器、存储、路由器和其他网络架构的管理工具。在充盈着超大规模数据中心的今天都成为了美好的回忆。
-
了解每个PowerShell版本新功能之间的关系
使用过PowerShell的你可能会有这样的疑惑:PowerShell 3.0 NetAdapter为什么不能用于每个PowerShell版本?本文告诉你答案。