관리 인터페이스를 개발하기 위해 WMI를 통해 PowerShell을 선택하는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/259020

문제

우리는 분산 시스템을위한 개선 된 관리 인프라 개발에 대해 논의하고 있습니다. COM, 웹 서비스 및 .NET 구성 요소를 사용합니다. 우리는 Microsoft Windows Server XP/2003을 기반으로하기 때문에 기본적으로 두 가지 옵션이 있습니다.

  1. PowerShell cmdlets
  2. 기본 코드 용 시스템 관리 및 WMI 제공 업체 (클래스, 인스턴스, 메소드, 이벤트)를 사용하는 WMI 클래스

WMI보다 PowerShell을 선택하는 이유는 무엇입니까?

도움이 되었습니까?

해결책

다음과 같은 이유로 WMI를 통해 PowerShell을 선택합니다.

  1. cmdlet을 작성하면 .NET 클래스 만 추가됩니다.
  2. PowerShell 런타임은 내장 된 명령 줄 구문 분석을 제공합니다.
  3. PowerShell에 관리 인터페이스를 작성하면 관리자가 응용 프로그램 관리를 다른 응용 프로그램 및 서비스 (Exchange, Active Directory 또는 SQL Server와 같은)와 통합 할 수 있습니다.
  4. PowerShell 환경을 통해 파이프 라인을 관리자가 사용할 수있게하여 응용 프로그램이보다 효율적으로 수행 할 수 있습니다.
  5. 발견 가능성. PowerShell은 Get-Command, Get-Member 및 Get-Help를 통해 관리자가 작업 할 수있는 매우 발견 가능한 환경을 제공하여 학습 곡선이 짧아서 응용 프로그램 유지를 유지합니다.

WMI 경로를가더라도 PowerShell은 WMI 작업을 지원합니다 (약간의 결함이 있지만).

나에게 PowerShell은 작업 지향 응용 프로그램에 대한 인터페이스. Microsoft가 PowerShell을 제공 한 지원을 통해 기업 전반에 걸쳐 응용 프로그램 및 서비스를 관리하는 데 일관된 인터페이스가 될 것입니다.

나의 하루 직업은 관리자로서, 나는 PowerShell Management API를 표면하기 위해 내가 함께 일하는 모든 공급 업체를 추진하고 있습니다. 이로 인해 응용 프로그램 관리를위한 학습 곡선 및 컨텍스트 전환이 훨씬 낮아집니다. 개발 측면에서, 나는 일련의 PowerShell CMDLETS와 함께 일하고 별도의 애플리케이션을 위해 다른 세트에서 작업하고 있습니다.

다른 팁

Jeffrey Snover는 "왜 PowerShell"에 대답합니다. 여기. 게시물은 SQL의 맥락에 있지만 여기에서는 매우 적용 할 수 있습니다.

나는 내가 결정을 내릴지 확신하지 못한다. 그것은 정확히 어느 쪽이든 ... 당신은 둘 다 할 수 있습니다.

WMI는 PowerShell뿐만 아니라 여러 가지 다른 것들에 의해 소비 될 수 있습니다. PowerShell에 관리 도구를 작성한 다음 일부 작업 지향 CMDLET로 WMI를 감싸서 관리자의 상황을 더 쉽게 만들 수 있습니까? 그것이 일부 MS 제품 팀이 선택한 것입니다. 특히 다른 WMI 소비자가있을 때 계속 지원하고자합니다.

이미 적합한 .NET 코드를 가지고 있다면 CMDLET로 전환하는 것이 WMI 제공 업체로 전환하는 것보다 빠를 수 있습니다. 이 경우와 속도가 걱정된다면 더 쉬운 일을하십시오. 그러나 당신이 무엇을하든, 당신은 항상 권장 접근법 인 Admins의 PowerShell cmdlet로 항상 그것을 감을 수 있습니다.

지금까지 제공 한 정보로 답변 할 수 있는지 확실하지 않습니다. 내 직감은 이미 .NET 코드가있을 수있는 것처럼 들리므로 PowerShell을 사용해야한다는 것입니다. 그러나 그것은 실제로 당신이하려는 일에 정확히 달려 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top