PowerShellPowerShell

PowerShell은 .NET에서 구축된 작업 기반 명령줄 셸 및 스크립팅 언어입니다.PowerShell is a task-based command-line shell and scripting language built on .NET. PowerShell을 통해 시스템 관리자 및 고급 사용자는 운영 체제(Linux, macOS 및 Windows) 및 프로세스를 관리하는 작업을 신속하게 자동화할 수 있습니다.PowerShell helps system administrators and power-users rapidly automate tasks that manage operating systems (Linux, macOS, and Windows) and processes.

PowerShell 명령을 사용하면 명령줄에서 컴퓨터를 관리할 수 있습니다.PowerShell commands let you manage computers from the command line. PowerShell 공급자는 파일 시스템에 액세스하는 것처럼 쉽게, 레지스트리 및 인증서 저장소와 같은 데이터 저장소에 액세스하도록 지원합니다.PowerShell providers let you access data stores, such as the registry and certificate store, as easily as you access the file system. PowerShell에는 서식 있는 식 파서와 완전히 개발된 스크립트 언어가 있습니다.PowerShell includes a rich expression parser and a fully developed scripting language.

PowerShell이 오픈 소스로 제공됨PowerShell is open-source

이제 GitHub에서 PowerShell 기본 소스 코드를 사용할 수 있으며 커뮤니티 참여가 개방됩니다.PowerShell base source code is now available in GitHub and open to community contributions. GitHub의 PowerShell 소스를 참조하세요.See PowerShell source on GitHub.

Get PowerShell(PowerShell 다운로드)에서 필요한 비트로 시작할 수 있습니다.You can start with the bits you need at Get PowerShell. 또는 시작에서 둘러보기로 시작합니다.Or, perhaps, with a quick tour at Getting Started.

PowerShell 디자인 목표PowerShell design goals

PowerShell은 장기적인 문제를 제거하고 새로운 기능을 추가하여 명령줄 및 스크립팅 환경을 개선하도록 설계되었습니다.PowerShell is designed to improve the command-line and scripting environment by eliminating long-standing problems and adding new features.

검색 기능Discoverability

PowerShell을 사용하면 해당 기능을 쉽게 검색할 수 있습니다.PowerShell makes it easy to discover its features. 예를 들어 Windows 서비스를 보고 변경하는 cmdlet 목록을 찾으려면 다음과 같이 입력합니다.For example, to find a list of cmdlets that view and change Windows services, type:

Get-Command *-Service

작업을 수행하는 cmdlet을 검색한 후 Get-Help cmdlet을 사용하여 cmdlet에 대해 자세히 알아볼 수 있습니다.After discovering which cmdlet accomplishes a task, you can learn more about the cmdlet by using the Get-Help cmdlet. 예를 들어 Get-Service cmdlet에 대한 도움말을 표시하려면 다음과 같이 입력합니다.For example, to display help about the Get-Service cmdlet, type:

Get-Help Get-Service

대부분의 cmdlet은 조작한 다음 텍스트로 렌더링하여 표시할 수 있는 개체를 반환합니다.Most cmdlets return objects that can be manipulated and then rendered as text for display. 해당 cmdlet의 출력을 완벽하게 이해하려면 출력을 Get-Member cmdlet에 파이프합니다.To fully understand the output of a cmdlet, pipe the output to the Get-Member cmdlet. 예를 들어 다음 명령은 Get-Service cmdlet에 의한 개체 출력의 멤버에 대한 정보를 표시합니다.For example, the following command displays information about the members of the object output by the Get-Service cmdlet.

Get-Service | Get-Member

ConsistencyConsistency

시스템 관리는 복잡한 작업일 수 있습니다.Managing systems can be a complex task. 도구에는 내재된 복잡성을 제어하는 데 도움이 되는 일관된 인터페이스가 있습니다.Tools that have a consistent interface help to control the inherent complexity. 그렇지만 일관성이 입증된 명령줄 도구 및 스크립트 가능한 COM 개체는 없습니다.Unfortunately, command-line tools and scriptable COM objects aren't known for their consistency.

PowerShell의 일관성은 기본 자산 중 하나입니다.The consistency of PowerShell is one of its primary assets. 예를 들어 Sort-Object cmdlet을 사용하는 방법을 배운 경우 해당 지식을 사용하여 모든 cmdlet의 출력을 정렬할 수 있습니다.For example, if you learn how to use the Sort-Object cmdlet, you can use that knowledge to sort the output of any cmdlet. 각 cmdlet의 다른 정렬 루틴을 배울 필요가 없습니다.You don't have to learn the different sorting routines of each cmdlet.

또한 cmdlet 개발자는 해당 cmdlet의 정렬 기능을 디자인할 필요가 없습니다.Additionally, cmdlet developers don't have to design sorting features for their cmdlets. PowerShell은 일관성을 강제하는 기본 기능이 있는 프레임워크를 제공합니다.PowerShell provides a framework with the basic features that forces consistency. 이 프레임워크를 사용하면 개발자가 선택해야 할 사항이 없습니다.The framework eliminates some choices that are left to the developer. 하지만 cmdlet의 개발은 훨씬 더 간단합니다.But, in return, it makes the development of cmdlets much simpler.

대화형 및 스크립팅 환경Interactive and scripting environments

Windows 명령 프롬프트는 명령줄 도구 및 기본 스크립팅에 액세스할 수 있는 대화형 셸을 제공합니다.The Windows Command Prompt provides an interactive shell with access to command-line tools and basic scripting. WSH(Windows Script Host)에는 스크립트 가능한 명령줄 도구와 COM 자동화 개체가 있지만 대화형 셸은 없습니다.Windows Script Host (WSH) has scriptable command-line tools and COM automation objects, but doesn't provide an interactive shell.

PowerShell은 대화형 셸과 스크립팅 환경을 결합합니다.PowerShell combines an interactive shell and a scripting environment. PowerShell은 명령줄 도구, COM 개체 및 .NET 클래스 라이브러리에 액세스할 수 있습니다.PowerShell can access command-line tools, COM objects, and .NET class libraries. 이러한 기능 조합으로 대화형 사용자, 스크립트 작성자 및 시스템 관리자의 역량이 확장될 수 있습니다.This combination of features extends the capabilities of the interactive user, the script writer, and the system administrator.

개체 방향Object orientation

PowerShell은 텍스트가 아닌 개체를 기준으로 합니다.PowerShell is based on object not text. 명령의 출력은 개체입니다.The output of a command is an object. 파이프라인을 통해 출력 개체를 다른 명령에 입력으로 보낼 수 있습니다.You can send the output object, through the pipeline, to another command as its input.

이 파이프라인은 다른 셸에 익숙한 사용자에게 친숙한 인터페이스를 제공합니다.This pipeline provides a familiar interface for people experienced with other shells. PowerShell은 텍스트가 아니라 개체를 전송하여 이 개념을 확장합니다.PowerShell extends this concept by sending objects rather than text.

스크립팅으로 쉽게 전환Easy transition to scripting

PowerShell의 명령 검색 기능을 사용하면 대화형 명령 입력에서 스크립트 생성 및 실행으로 쉽게 전환할 수 있습니다.PowerShell's command discoverability makes it easy to transition from typing commands interactively to creating and running scripts. PowerShell 기록 및 내역을 통해 명령을 스크립트로 사용할 수 있게 쉽게 파일로 복사할 수 있습니다.PowerShell transcripts and history make it easy to copy commands to a file for use as a script.