Windows PowerShellとは?
Windows PowerShellはシステム管理者向けに調整された、Windowsコマンドラインシェルおよびスクリプト言語です。Windows PowerShellはMicrosoftがリリースし、従来のCMD機能と内蔵のシステム管理機能を備えた新しいスクリプト命令セットを組み合わせたものです。

Windows PowerShellは、.NET Frameworkの共通言語ランタイム(CLR)と.NET Frameworkを基盤として構築されており、.NET Frameworkのオブジェクトを受け入れて返します。
多くのシェルと同様、Windows PowerShellでコンピューターのファイルシステムにアクセスできます。それにより、レジストリやデジタル署名証明書ストアなど、他のデータストアにアクセスすることも可能になります。
Windows PowerShellのバージョン:
- PowerShell 1.0:PowerShell 1.0は2006年11月、Windows XP SP2、Windows Server 2003 SPI、Windows Vista向けにリリースされました。Windows Server 2008ではオプションのコンポーネントです。
- PowerShell 2.0:Windows 7と統合されたPowerShell 2.0は、PowerShellのリモート実行、高度な機能(スクリプトコマンドレット)、データ言語などの機能を備えています。
- PowerShell 3.0:Windows 8に統合されたPowerShell 3.0は大規模パッケージの一部です。このバージョンには、スケジュールされたジョブ、コード記述の改善、セッション接続などが含まれています。
- PowerShell 7:最新のWindows PowerShellバージョンはPowerShell 7です。
Windows PowerShellの起動方法Cortanaの検索ボックスに「Windows PowerShell」と入力し、表示された検索結果から「Windows PowerShell」を選択します。
Windows PowerShellコマンドの機能
Windows PowerShellのコマンドではたくさんのことができます。どのようなことができるのか見ていきましょう。
# 1:特定のファイルを見つける
特定の場所からファイルやディレクトリを見つけたい場合は、Get-Itemコマンドレットを使用します。つまり、Get-Itemコマンドレットは指定された場所にあるアイテムを取得します。このコマンドレットを使用する際は、ワイルドカード (*) を使用してアイテムのすべての内容を要求しない限り、アイテムの内容を取得できませんのでご注意ください。
# 2:UMPアプリケーションを起動する
PowerShell は、「Start-Process “ms-settings:”」と入力するだけで、すぐにUWPアプリケーションを起動できる優れたツールです。
# 3:ファイルの内容を読み込む
ファイルの内容を読み込むには、Get-Contentコマンド「Get-Content <ファイルのパスとその拡張子>」を入力します。
# 4:コンピューター上のすべてのサービスに関する情報を読み込む
Get-Serviceコマンドレットは、コンピューターで実行中または停止しているすべてのサービスを一覧表示します。
# 5:ファイルやディレクトリをコピーする
特定のファイルやディレクトリを別の場所にコピーするには、Copy-Itemコマンドレットを使用します。このコマンドレットの構文は、「Copy-Item “E:\TWCTest.txt”-Destination “D:\”」 のようになります。
# 6:ファイルやディレクトリを削除する
ファイルを1つの場所から別の場所に移動するには、Remove-Itemコマンドレットを使用します。このコマンドレットの構文は、「Remove-Item “E:\TWCTest.txt”」 のようになります。
Windows PowerShellとCMDの比較

Windows PowerShellとCMDには、いくつかの類似点があることにお気付きでしょう。次のコンテンツで、両者の違いについて解説します。
PowerShellとCMDはまったく異なるものですが、dirコマンドはどちらのインターフェースでも同じように機能します。
まず、PowerShellは、Windowsの内部管理オプションを公開する、自己完結型のプログラミングオブジェクトであるコマンドレットを使用しています。
次に、PowerShell はパイプを使用して1つのコマンドレットから別のコマンドレットにパラメータやデータを渡す複雑なスクリプトを作成し、コマンドレットを連結して、Linux の bash などの他のシェルと同じように入力データや出力データを共有します。
第三に、PowerShellは、Windowsシステム管理者向けの新しい環境であり、より現代的なコマンドライン環境を使用してWindowsを管理します。しかし、CMDはWindowsシステムにおいては単なるレガシー環境に過ぎません。この環境では、多くのWindowsシステム管理機能にアクセスできず、複雑なスクリプトの作成が困難です。
つまり、PowerShellは単なるシェルではないのです。CMDよりもはるかに簡単にWindowsシステム管理用の複雑なスクリプトを作成できる、強力なスクリプト環境です。