PowerShellPowerShell

PowerShell は、.NET Framework 上に構築されたタスクベースのコマンド ライン シェルおよびスクリプト言語です。PowerShell is a task-based command-line shell and scripting language built on the .NET Framework. PowerShell によって、システム管理者およびパワー ユーザーは、オペレーティング システム (Linux、macOS、および Windows) とプロセスを管理するタスクを迅速に自動化できます。PowerShell helps system administrators and power-users can 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.

オープン ソースの PowerShellPowerShell is open-source

PowerShell ベースのソース コードは現在、GitHub で入手可能であり、コミュニティ投稿が可能です。PowerShell base source code is now available in GitHub and open to community contributions. GitHub の PowerShell のソースを参照してください。See PowerShell source on GitHub.

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 サービスを表示したり変更したりするコマンドレットの一覧を検索するには、次のように入力します。For example, to find a list of cmdlets that view and change Windows services, type:

Get-Command *-Service

タスクを実行するコマンドレットが見つかったら、Get-Help コマンドレットを使用して、コマンドレットの詳細を確認することができます。After discovering which cmdlet accomplishes a task, you can learn more about the cmdlet by using the Get-Help cmdlet. たとえば、Get-Service コマンドレットのヘルプを表示するには、次のように入力します。For example, to display help about the Get-Service cmdlet, type:

Get-Help Get-Service

ほとんどのコマンドレットでは、操作が加えられて表示用のテキストとしてレンダリングできるオブジェクトが返されます。Most cmdlets return objects that can be manipulated and then rendered as text for display. コマンドレットの出力を完全に理解するには、Get-Member コマンドレットにその出力をパイプ処理します。To fully understand the output of a cmdlet, pipe the output to the Get-Member cmdlet. たとえば、次のコマンドは、Get-Service コマンドレットによって出力されるオブジェクトのメンバーについての情報を表示します。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 の持つ一貫性は、その主要な利点の 1 つです。The consistency of PowerShell is one of its primary assets. たとえば、Sort-Object コマンドレットの使用法を習得すると、その知識を利用してあらゆるコマンドレットの出力を並べ替えることができます。For example, if you learn how to use the Sort-Object cmdlet, you can use that knowledge to sort the output of any cmdlet. コマンドレットごとに異なる並べ替えルーチンを習得する必要はありません。You don't have to learn the different sorting routines of each 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. ただし、その見返りとして、コマンドレットの開発はずっと簡単になります。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. Windows Script Host (WSH) は、スクリプトを作成できるコマンドライン ツールと 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.