PowerShellとWindowsコマンドプロンプトの違い

Windows 7では、コマンドプロンプトよりも強力なコマンドラインシェルおよびスクリプト言語であるPowerShellが追加されました。Windows 7以降、PowerShellはより目立つようになり、Windows10のデフォルトの選択肢にさえなりました。

PowerShellは、従来のコマンドプロンプトよりも複雑ですが、はるかに強力です。コマンドプロンプトは、Linuxやその他のUnixライクなシステムで利用できるシェルよりも劇的に劣りますが、PowerShellは有利に競合します。さらに、ほとんどのコマンドプロンプトコマンドは、ネイティブまたはエイリアスを介して、PowerShellで使用できます。

PowerShellとコマンドプロンプトの違い

関連:PowerShellを使い始めるための5つのコマンドレット

PowerShellは、実際にはコマンドプロンプトとは大きく異なります。PowerShellではコマンドレットと呼ばれるさまざまなコマンドを使用します。レジストリの管理からWMI(Windows Management Instrumentation)までの多くのシステム管理タスクは、PowerShellコマンドレットを介して公開されますが、コマンドプロンプトからはアクセスできません。

関連:オタクスクール:PowerShellでオブジェクトを使用する方法を学ぶ

PowerShellは、Linuxと同じように、あるコマンドレットの出力を別のコマンドレットの入力に渡すことができるパイプを利用します。したがって、複数のコマンドレットを順番に使用して、同じデータを操作できます。文字(テキスト)のストリームのみをパイプできるUnixライクなシステムとは異なり、PowerShellはコマンドレット間でオブジェクトをパイプします。また、コマンドレットから取得するすべての応答を含め、PowerShellのほとんどすべてがオブジェクトです。これにより、PowerShellはコマンドレット間でより複雑なデータを共有し、プログラミング言語のように動作することができます。

PowerShellは単なるシェルではありません。これは、コマンドプロンプトを使用する場合よりもはるかに簡単にWindowsシステムを管理するための複雑なスクリプトを作成するために使用できる強力なスクリプト環境です。

コマンドプロンプトは、基本的にWindowsで引き継がれたレガシー環境であり、DOSシステムにあるさまざまなDOSコマンドをすべてコピーする環境です。それは痛々しいほど制限されており、多くのWindowsシステム管理機能にアクセスできない、複雑なスクリプトを作成するのがより難しいなどです。PowerShellは、Windowsシステム管理者向けの新しい環境であり、最新のコマンドライン環境を使用してWindowsを管理できます。

PowerShellを使用する場合

では、平均的なWindowsユーザーはいつPowerShellを使いたいのでしょうか。

関連:インターネット接続の問題をトラブルシューティングする方法

コマンドプロンプトを起動して不定期ping または ipconfig コマンドを実行することがめったにない場合は 、PowerShellに触れる必要はありません。コマンドプロンプトを使い続ける方が快適な場合は、どこにも行きません。そうは言っても、それらのコマンドのほとんどは、PowerShellでも問題なく機能します。

関連:Windowsで複数のファイルの名前をバッチで変更する方法

ただし、PowerShellは、コマンドプロンプトよりもはるかに強力なコマンドライン環境になる可能性があります。たとえば、Windowsに組み込まれているPowerShell環境を使用して、検索と置換の操作を実行し、フォルダー内の複数のファイルの名前を一括で変更する方法を示しました。これは、通常、サードパーティのプログラムをインストールする必要があります。これは、Windowsユーザーが除外されている間、Linuxユーザーがコマンドライン環境で常に実行できるようなものです。

ただし、PowerShellはLinuxターミナルとは異なります。それはもう少し複雑で、平均的なWindowsユーザーはそれで遊ぶことから多くの利点を見ないかもしれません。

システム管理者は、システムをより効率的に管理できるようにPowerShellを学びたいと思うでしょう。また、さまざまなシステム管理タスクを自動化するスクリプトを作成する必要がある場合は、PowerShellを使用して作成する必要があります。

一般的なコマンドと同等のPowerShell

多くの一般的なコマンドプロンプトコマンド(from ipconfig から cd )は、PowerShell環境で機能します。これは、PowerShellに、これらの古いコマンドを適切な新しいコマンドレットにポイントする「エイリアス」が含まれており、古いコマンドを入力すると新しいコマンドレットが実行されるためです。

とにかく、PowerShellのいくつかの一般的なコマンドプロンプトコマンドとそれに相当するものについて説明します。PowerShellの構文がどのように異なるかを理解するためです。

ディレクトリを変更する

  • DOS:  cd
  • パワーシェル:  Set-Location

ディレクトリ内のファイルを一覧表示する

  • DOS:  dir
  • パワーシェル:  Get-ChildItem

ファイルの名前を変更する

  • DOS:  rename
  • パワーシェル:  Rename-Item

DOSコマンドにエイリアスがあるかどうかを確認するには、Get-Alias コマンドレットを使用できます 。たとえば、入力  Get-Alias cd すると  cd 、実際に コマンドレットを実行していることがわかります。  Set-Location

もっと詳しく知る

関連:オタクスクール:PowerShellでWindowsを自動化する方法を学ぶ

PowerShellについてもっと知りたいですか?PowerShellを紹介し、理解を深めるのに役立つ一連のGeekSchoolの記事をお読みください。あなたがWindowsシステム管理者なら、あなたはこのことを知っているべきです。