powershell - 为什么我会选择 Powershell 而不是 WMI 来开发管理界面?

标签 powershell wmi systemmanagement

我们正在讨论为我们的分布式系统开发改进的管理基础架构。
我们使用 COM、Web 服务和 .NET 组件。由于我们基于 Microsoft Windows Server XP/2003,我想,我们基本上有两种选择:

  • Powershell cmdlet
  • 使用 System.Management 的 WMI 类和 native 代码(类、实例、方法、事件)的 WMI 提供程序

  • 为什么我们会选择 Powershell 而不是 WMI?

    最佳答案

    出于以下原因,我会选择 PowerShell 而不是 WMI:

  • 编写 cmdlet 只是添加一个 .NET 类。
  • PowerShell 运行时提供内置的命令行解析。
  • 在 PowerShell 中编写管理界面使管理员能够将应用程序的管理与其他应用程序和服务(如 Exchange、Active Directory 或 SQL Server)的管理集成。
  • PowerShell 环境使管理员可以使用管道,从而更有效地完成应用程序的管理任务。
  • 可发现性。 PowerShell 通过 Get-Command、Get-Member 和 Get-Help 为管理员提供了一个非常容易发现的工作环境,从而缩短了维护应用程序的学习曲线。

  • 即使您采用 WMI 路线,PowerShell 也支持使用 WMI(尽管存在一些小故障)。

    对我来说,PowerShell 是显示 的最佳方式。任务导向一个应用程序的接口(interface)。借助 Microsoft 一直提供的 PowerShell 支持,它现在是并将成为管理整个企业的应用程序和服务的一致界面。

    我的日常工作是管理员,我正在插入与我合作的所有供应商开发 PowerShell 管理 API,因为这使得管理应用程序的学习曲线和上下文切换要低得多。在开发方面,我已经为我使用的一个开源产品编写了(并且仍在研究)一系列 PowerShell cmdlet,并且正在为单独的应用程序开发另一组。

    关于powershell - 为什么我会选择 Powershell 而不是 WMI 来开发管理界面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/259020/

    相关文章:

    c# - 在 C# 中终止进程时,我如何确定我正在终止正确的进程?

    service - 如何使用vbscript检查服务状态?

    c# - Windows 应用程序已停止在客户端计算机中工作

    c# - LogicalDisk 与 DiskPartition 的 WMI 关联

    powershell - 将变量放入 "-eq"的 cmdlet 时出现问题

    sql-server - 在 SQL Server 上监控什么

    powershell - 使用 Powershell 在远程 session 上强制执行版本 2 以进行 SharePoint 管理

    c# - 如何获取有关最近连接的 USB 设备的信息?

    csv - 如何使用Powershell查看CSV文件的特定行号中的数据

    c# - PowerShell 脚本如何保存状态并在计算机重新启动后继续运行?