我们正在讨论为我们的分布式系统开发一个改进的管理基础架构。 我们使用COM、Web服务和.NET组件。由于我们基于Microsoft Windows Server XP/2003,我想我们基本上有两个选择:
- Powershell cmdlets
- 使用System.Management和WMI提供程序的WMI类来使用本地代码(类、实例、方法、事件)
为什么我们会选择Powershell而不是WMI?
我们正在讨论为我们的分布式系统开发一个改进的管理基础架构。 我们使用COM、Web服务和.NET组件。由于我们基于Microsoft Windows Server XP/2003,我想我们基本上有两个选择:
为什么我们会选择Powershell而不是WMI?
Jeffrey Snover在这里回答了为什么要使用PowerShell。虽然文章是在SQL的背景下,但在这里也非常适用。
我不确定我会做出这个决定。这并不是非此即彼的选择... 你可以选择两者都做。
WMI可以被许多不同的东西所使用,不仅仅是PowerShell。为什么不在PowerShell中编写你的管理工具,并在一些面向任务的cmdlet中封装WMI,以便于管理员更容易地使用呢?这就是一些微软产品团队正在选择的方式,特别是当他们有其他的WMI消费者需要继续支持时。
如果你已经有了合适的.NET代码,将其转换为cmdlet可能比将其转换为WMI提供程序更快。如果是这种情况,并且速度是一个问题,那就选择更容易的方式。但无论你做什么,你总可以将它封装在一个PowerShell cmdlet中供管理员使用,这绝对是推荐的方法。
目前为止,根据您提供的信息,我不确定是否能够回答这个问题。我的直觉是,您应该使用PowerShell,因为它听起来您可能已经有一些 .Net 代码。但实际上,这取决于您要做什么。