PowerShell的/ WMI泥沼

已经有一些最近缠着我约的PowerShell。其实,这种事情已经可能总是窃听我。但是,当我看到这个系列:“Hyper-V的WMI使用PowerShell脚本“在虚拟化团队的博客。我因为某些原因变得恼火。

这里是东西。在我看来PowerShell中已成为被困在一个WMI泥沼。出于某种原因,默认的做法已成为“PowerShell的十岁上下的”使用WMI完成系统管理任务的脚本。换句话说,而不是创建一个集的cmdlet,WMI变为手来完成任务的车辆。

现在,不要误会我的意思,我喜欢WMI。事实上,我经常使用WMI我自己的脚本中。但是,WMI是在对接工作与(是的,PowerShell的大幅提高这方面的经验)一个痛苦和我是一个怪胎脚本。在另一方面,PowerShell的应该是对IT-PRO。我知道有很多的IT Pro'ers的,他们不喜欢,甚至在PowerShell中使用WMI。

例如,对于在Hyper-V的例子,我参考前面,有一个张贴题为:“Hyper-V的WMI使用PowerShell - 第4和1负”。在该发布中,两个实施例中给出的是显示了如何使用关机WMI。第一个例子的虚拟机使用PowerShell中,并且是唯一的长三行。

$ VM = GET-WmiObject可以 - 命名根\虚拟化 - 查询 “SELECT * FROM Msvm_ComputerSystem其中的ElementName = 'Vista的'”

$ ShutdownIC = GET-WmiObject可以 - 命名根\虚拟化 - 查询 “{$ VM}的社员其中AssocClass = Msvm_SystemDevice ResultClass = Msvm_ShutdownComponent”

$ ShutdownIC.InitiateShutdown( “真”, “需要关机”)

第二个例子使用C#和为约40线长。显然,PowerShell的方法是一个巨大的进步。然而,这并不意味着没有余地更加完善。纵观PowerShell的例子,我仍然看到一个混乱的烂摊子,其中一组的cmdlet将极大地提高一个管理员的经验。也许是这样的:

$ VM = GET-hvvm -name “myvm123”

停止hvvm $ VM -shutdown

这看起来很简单,但是,出于某种原因,MS产品组和其他第三方似乎在强迫的PowerShell + WMI群众坚持。而不是开发一个强大的集,管理员可以用它来管理其系统的cmdlet。我们都交给一个WMI提供程序。:<(

幸运的是,并非所有丢失的Hyper-V。似乎有人已经采取了手电筒,创建一组 的cmdlet功能。你可以在这里得到这些功能:“PowerShell的管理图书馆的Hyper-V”。

加入对网络世界的社足球竞猜app软件区Facebook的LinkedIn对那些顶级心态的话题发表评论。
有关:

©2008足球竞彩网下载

IT薪资调查:结果是