다음을 통해 공유


Windows PowerShell 프로그래머 가이드

이 프로그래머 가이드는 시스템 관리자를 위한 명령줄 관리 환경을 제공하는 데 관심이 있는 개발자를 대상으로 합니다. Windows PowerShell은 Windows PowerShell에서 대부분의 작업을 수행할 수 있도록 하면서 .NET 개체를 노출하는 관리 명령을 빌드하는 간단한 방법을 제공합니다.

기존 명령 개발에서는 매개 변수 파서, 매개 변수 바인더, 필터 및 각 명령에서 노출하는 다른 모든 기능을 작성해야 합니다. Windows PowerShell은 명령을 쉽게 작성할 수 있도록 다음을 제공합니다.

  • 자체 파서와 명령 매개 변수를 자동으로 바인딩하는 메커니즘이 있는 강력한 Windows PowerShell 런타임(실행 엔진)입니다.

  • CLI(명령줄 인터프리터)를 사용하여 명령 결과를 서식 지정하고 표시하는 유틸리티입니다.

  • 저장된 데이터에 쉽게 액세스할 수 있도록 하는 높은 수준의 기능(Windows PowerShell 공급자를 통해)을 지원합니다.

    약간의 비용으로 관리자에게 완전한 명령줄 환경을 제공하는 풍부한 명령 또는 명령 집합으로 .NET 개체를 나타낼 수 있습니다.

    다음 섹션에서는 주요 Windows PowerShell 개념 및 용어에 대해 설명합니다. 개발을 시작하기 전에 이러한 개념과 용어를 숙지하세요.

Windows PowerShell 정보

Windows PowerShell은 개발에 사용할 수 있는 여러 유형의 명령을 정의합니다. 이러한 명령은 함수, 필터, 스크립트, 별칭 및 실행 파일(애플리케이션)을 포함합니다. 이 가이드에서 설명하는 기본 명령 유형은 "cmdlet"이라는 간단한 작은 명령입니다. Windows PowerShell은 일련의 cmdlet을 제공하고 사용자 환경에 맞게 cmdlet 사용자 지정을 완벽하게 지원합니다. Windows PowerShell 런타임은 파이프라인을 사용하여 cmdlet과 마찬가지로 모든 명령 유형을 처리합니다.

명령 외에도 Windows PowerShell은 사용 가능한 특정 cmdlet 집합을 만드는 다양한 사용자 지정 가능한 Windows PowerShell 공급자를 지원합니다. 셸은 Windows PowerShell에서 제공하는 호스트 애플리케이션(powershell.exe) 내에서 작동하지만 특정 요구 사항을 충족하기 위해 개발할 수 있는 사용자 지정 호스트 애플리케이션에서 동일하게 액세스할 수 있습니다. 자세한 내용은 Windows PowerShell 작동 방식 참조하세요.

Windows PowerShell cmdlet

cmdlet은 Windows PowerShell 환경에서 사용되는 간단한 명령입니다. Windows PowerShell 런타임은 명령줄에서 제공되는 자동화 스크립트의 컨텍스트 내에서 이러한 cmdlet을 호출하고 Windows PowerShell 런타임은 Windows PowerShell API를 통해 프로그래밍 방식으로 호출합니다.

cmdlet에 대한 자세한 내용은 Windows PowerShell Cmdlet작성을 참조하세요.

Windows PowerShell 공급자

관리 작업을 수행할 때 사용자는 데이터 저장소에 저장된 데이터(예: 파일 시스템, Windows 레지스트리 또는 인증서 저장소)를 검사해야 할 수 있습니다. 이러한 작업을 더 쉽게 하기 위해 Windows PowerShell은 Windows 레지스트리와 같은 특정 데이터 저장소에 액세스하는 데 사용할 수 있는 Windows PowerShell 공급자라는 모듈을 정의합니다. 각 공급자는 사용자에게 저장소의 데이터에 대한 대칭 보기를 제공하기 위해 관련 cmdlet 집합을 지원합니다.

Windows PowerShell은 몇 가지 기본 Windows PowerShell 공급자를 제공합니다. 예를 들어 레지스트리 공급자는 Windows 레지스트리의 탐색 및 조작을 지원합니다. 레지스트리 키는 항목으로 표시되고 레지스트리 값은 속성으로 처리됩니다.

사용자가 액세스해야 하는 데이터 저장소를 노출하는 경우 Windows PowerShell 공급자 만들기 설명한 대로 사용자 고유의 Windows PowerShell 공급자를 작성해야 할 수 있습니다. Windows PowerShell 공급자에 대한 자세한 내용은 windows PowerShell 작동 방식 참조하세요.

호스트 애플리케이션

Windows PowerShell에는 사용자와 상호 작용하고 콘솔 창을 사용하여 Windows PowerShell 런타임을 호스트하는 콘솔 애플리케이션인 기본 호스트 애플리케이션 powershell.exe포함되어 있습니다.

사용자 지정이 지원되더라도 Windows PowerShell용 자체 호스트 애플리케이션을 작성해야 하는 경우는 거의 없습니다. 고유한 애플리케이션이 필요할 수 있는 한 가지 경우는 기본 호스트 애플리케이션에서 제공하는 인터페이스보다 더 풍부한 GUI 인터페이스에 대한 요구 사항이 있는 경우입니다. 명령줄에서 GUI를 기반으로 하는 경우 사용자 지정 애플리케이션을 사용할 수도 있습니다. 자세한 내용은 Windows PowerShell 호스트 애플리케이션만드는 방법을 참조하세요.

Windows PowerShell 런타임

Windows PowerShell 런타임은 명령 처리를 구현하는 실행 엔진입니다. 호스트 애플리케이션과 Windows PowerShell 명령 및 공급자 간의 인터페이스를 제공하는 클래스가 포함됩니다. Windows PowerShell 런타임은 셸과 명령이 실행되는 운영 환경인 현재 Windows PowerShell 세션에 대한 Runspace 개체로 구현됩니다. 운영 세부 정보는 Windows PowerShell 작동 방식 참조하세요.

Windows PowerShell 언어

Windows PowerShell 언어는 명령을 호출하는 스크립팅 함수 및 메커니즘을 제공합니다. 전체 스크립팅 정보는 Windows PowerShell과 함께 제공되는 Windows PowerShell 언어 참조를 참조하세요.

ETS(확장 형식 시스템)

Windows PowerShell은 .NET 및 XML 개체와 같은 다양한 개체에 대한 액세스를 제공합니다. 결과적으로 모든 개체 형식에 대한 일반적인 추상화가 표시되도록 셸은 ETS(확장 형식 시스템)를 사용합니다. 대부분의 ETS 기능은 사용자에게 투명하지만 스크립트 또는 .NET 개발자는 다음 용도로 사용합니다.

  • 특정 개체의 멤버 하위 집합 보기 Windows PowerShell은 몇 가지 특정 개체 형식의 "적응된" 보기를 제공합니다.

  • 기존 개체에 멤버 추가

  • 직렬화된 개체에 대한 액세스.

  • 사용자 지정된 개체를 작성합니다.

    ETS를 사용하여 Windows PowerShell 언어와 호환되는 유연한 새 "형식"을 만들 수 있습니다. .NET 개발자인 경우 Windows PowerShell 언어가 스크립팅에 적용되는 것과 동일한 의미 체계를 사용하여 개체를 사용하여 작업할 수 있습니다. 예를 들어 개체가 true평가되는지 확인할 수 있습니다.

    ETS 및 Windows PowerShell에서 개체를 사용하는 방법에 대한 자세한 내용은 windows PowerShell 개체 개념 참조하세요.

Windows PowerShell 프로그래밍

Windows PowerShell은 .NET Framework를 사용하여 명령, 공급자 및 기타 프로그램 모듈에 대한 코드를 정의합니다. 이 가이드에 제공된 샘플은 이 도구에서 실행되는 것으로 알려져 있지만 Windows PowerShell용 사용자 지정된 모듈을 만드는 데 Microsoft Visual Studio를 사용하는 데만 국한되지 않습니다. 클래스 상속 및 특성 사용을 지원하는 모든 .NET 언어를 사용할 수 있습니다. 경우에 따라 Windows PowerShell API는 프로그래밍 언어가 제네릭 형식에 액세스할 수 있어야 합니다.

프로그래머 참조

Windows PowerShell용으로 개발할 때 참조는 Windows PowerShell SDK참조하세요.

Windows PowerShell 사용 시작

Windows PowerShell 셸 사용을 시작하는 방법에 대한 자세한 내용은 Windows PowerShell과 함께 제공되는 windows PowerShell 시작 참조하세요. 빠른 참조 3단계 문서는 cmdlet 사용을 위한 입문서로도 제공됩니다.

이 가이드의 내용

주제 정의
Windows PowerShell 공급자 만드는 방법 이 섹션에서는 Windows PowerShell용 Windows PowerShell 공급자를 빌드하는 방법을 설명합니다.
Windows PowerShell 호스트 애플리케이션 만드는 방법 이 섹션에서는 Runspace를 조작하는 호스트 애플리케이션을 작성하는 방법과 자체 사용자 지정 호스트를 구현하는 호스트 애플리케이션을 작성하는 방법을 설명합니다.
Windows PowerShell 스냅인 만드는 방법 이 섹션에서는 어셈블리에 모든 cmdlet 및 공급자를 등록하는 데 사용되는 스냅인을 만드는 방법과 사용자 지정 스냅인을 만드는 방법을 설명합니다.
콘솔 셸 만드는 방법 이 섹션에서는 확장할 수 없는 콘솔 셸을 만드는 방법을 설명합니다.
Windows PowerShell 개념 이 섹션에는 개발자의 관점에서 Windows PowerShell을 이해하는 데 도움이 되는 개념 정보가 포함되어 있습니다.

또한 참조하십시오

Windows PowerShell SDK