PowerShellの概要とWindowsでの基本操作について、インストール方法や起動画面の使い方を解説します。

チャレンジ&ナレッジ最終更新日: 20181206

PowerShellの使い方・入門

  • このエントリーをはてなブックマークに追加

Windowsにはコマンド操作を行うプログラムとして「コマンドプロンプト」がありますが、この機能をさらに進化させたのが「PowerShell」です。使うのが難しそうだと思っている人もいるかもしれませんが、いざ使ってみると意外と便利で、Windows PC上の操作を素早く楽に行うこともできます。「時短テクニック」にも有効なPowerShellについて基本から活用まで数回に分けて解説してきます。まず1回目の本稿はPowerShellの概要と基本操作について解説します。

Windows PowerShellと新登場したPowerShell Core

Windowsにはコマンド操作を行うコマンドプロンプトが備わっており、今でもそれなりに有用なプログラムですが、すでに進化も止まっており力不足の感は否めません。そこで代わりに登場したものがPowerShellです。Windows 7/Windows Server 2008からWindowsに標準搭載されており、2018年11月現在の最新バージョンはWindows 10用の5.1です。

ただし、このPowerShellも今後バージョンアップされず、機能の追加も予定されていません。実はこのPowerShellの後継として、「PowerShell Core」がすでにリリースされています。PowerShell Coreはオープンソースとしてリリースされ、Windowsだけでなく、MACやLinuxでも動作します。2018年11月現在の最新リリース版は6.1.1になります。

つまり、現在はPowerShell 5.1とPowerShell Core 6.1.1という2つの最新バージョンが存在します。PowerShell Core 6.1.1はPowerShell 5.1の上位互換かといえば必ずしもそうではなく、新しく追加された機能がある反面、MACやLinuxでも動作させるために、一部Windows特有の機能が削られていたりします。

PowerShell 5.1とPowerShell Core 6.1.1は同じWindows上に共存可能ですので、必要に応じて両方を使い分けるというのが一番賢い使い方でしょう。本稿では用途に応じて2つを使い分けることにします。以降、単にPowerShellという場合はWindows PowerShellとPowerShell Coreの両方を意味し、個別に呼ぶ場合はWindows PowerShellあるいはPowerShell Coreと呼ぶことにします。

PowerShell Coreのインストール方法

PowerShell CoreはWindowsに標準添付されていませんので、自分でインストールする必要があります。その手順は次のとおりです (画面はWindows 10 バージョン1809の場合)。

下記のサイトからPowerShell Coreの最新版をダウンロードします。

https://github.com/PowerShell/PowerShell/releases

お使いのWindowsに合わせたインストールファイルをダウンロードします。例えば、Windows 10 64ビット版であれば「PowerShell_6.1.1_win_x64.msi」をダウンロードします。

最新版をダウンロードする最新版をダウンロードする

ダウンロードしたmsiファイルをダブルクリックするか、または右クリックして [インストール] をクリックします。その後Setup Wizardが表示されますので、[Next] ボタンをクリックします。

Setup Wizardで、[Next] ボタンをクリックするSetup Wizardで、[Next] ボタンをクリックする

ライセンス画面でAgreementにチェックを付けて [Next] ボタンをクリックします。

インストール先の選択画面が表示されますので、デフォルトでよければ、そのまま [Next] をクリックします。変更する場合は [Change] ボタンをクリックして変更してください。

インストール先の選択画面で、デフォルトでよければ [Next] ボタンをクリックするインストール先の選択画面で、デフォルトでよければ [Next] ボタンをクリックする

オプションの選択画面が表示されます。ここでは全部にチェックを付けてから、[Next] ボタンをクリックします。

オプションの選択画面で全部にチェックを付けて、[Next] ボタンをクリックするオプションの選択画面で全部にチェックを付けて、[Next] ボタンをクリックする

確認画面で [Install] ボタンをクリックすると、インストールが始まります。

確認画面で [Install] ボタンをクリックする確認画面で [Install] ボタンをクリックする

「ユーザーアカウント制御」画面が表示されたら[はい] をクリックします。次の画面が表示されたら、[Finish] ボタンをクリックしてWizard画面を閉じます。

この画面が表示されたら、[Finish] ボタンをクリックするこの画面が表示されたら、[Finish] ボタンをクリックする

PowerShellの起動方法

ここではWindows 10 バージョン1809での操作方法を説明します。他のバージョンでも大きな違いはありません。Windows PowerShellを起動するには、[スタート] メニュー → [Windows PowerShell] → [Windows PowerShell] または [Windows PowerShell (x86)] をクリックします。前者は64ビット版、後者は32ビット版です。[Windows PowerShell ISE] または [Windows PowerShell ISE (x86)]については別の記事にて解説します。

[スタート] メニュー → [Windows PowerShell] → [Windows PowerShell] または [Windows PowerShell (x86)] をクリックする[スタート] メニュー → [Windows PowerShell] → [Windows PowerShell] または [Windows PowerShell (x86)] をクリックする

また、[スタート] メニューの右クリック → [Windows PowerShell] または [Windows PowerShell (管理者)]、あるいはエクスプローラ上の任意の場所で [Shift] + 右クリック → [PowerShellウィンドウをここに開く] でも起動できます。

PowerShell Coreの起動方法

PowerShell Coreがインストールされているなら、[スタート] メニュー → [PowerShell] → [PowerShell (x64)] または [PowerShell (x86)] をクリックするとPowerShell Coreが起動できます。

[スタート] メニュー → [PowerShell] → [PowerShell (x64)] または [PowerShell (x86)] をクリックする[スタート] メニュー → [PowerShell] → [PowerShell (x64)] または [PowerShell (x86)] をクリックする

PowerShell Coreの場合も同様に、エクスプローラの [Shift] + 右クリック → [PowerShell 6] → [Open here] または [Open here as Administrator] でも起動できます。

PowerShellの起動画面

Windows PowerShell 5.1の起動画面、PowerShell 6.1.1の起動画面は次のとおりに、よく似ています。

Windows PowerShell 5.1の起動画面Windows PowerShell 5.1の起動画面

PowerShell Core 6.1.1の起動画面PowerShell Core 6.1.1の起動画面

ウィンドウのサイズや背景色が違っていますが、これはコマンドプロンプトの場合と同様にカスタマイズできます。大きな違いとして、画面からはわかりませんが、デフォルトの文字コードが、Windows PowerShellでは「Shift-JIS」であるのに対し、PowerShell Coreでは「UTF-8」になっています。

コマンドプロンプトのコマンドも使える

コマンドプロンプトでできることのほとんどがPowerShellでもでき、さらにコマンドプロンプトではできない多くの機能もPowerShellならできます。

コマンドプロンプトとPowerShellではコマンドの構文が異なるため、同じ機能でも入力するコマンドは異なりますが、コマンドプロンプトのコマンドのほとんどが同じコマンドとしてPowerShellでも利用できます。

この理由は、PowerShellの設定で、コマンドプロンプトのコマンドがエイリアスとして登録されており、PowerShellはコマンドプロンプトと同じコマンドを受け取ると、内部的にそれを同じ機能を持つPowerShellのコマンドに変換してから実行するのです。

試しにPowerShellコンソールに「get-alias」と入力してみてください。現在登録されているエイリアスの一覧が表示されます。

get-aliasの実行画面get-aliasの実行画面

これを見ると、「cd」コマンドが「Set-Location」に、「copy」コマンドが「Copy-Item」に、「del」コマンドが「Remove-Item」に、「dir」コマンドが「Get-ChildItem」にといった具合にエイリアスとして登録されていることがかわります。

また、このエイリアスにはコマンドプロンプトだけでなくLinuxのコマンドもエイリアスとして登録されているので、Linuxのコマンドの多くもそのまま使えます。なお、エイリアスはユーザーが自由に設定できるので、よく使うコマンドを短くわかりやすいコマンドとして登録しておけば作業効率が飛躍的に高まります。エイリアスの登録方法は別の記事で解説します。

なお、これまでPowerShellの“コマンド”と呼んできましたが、「Set-Location」や「Get-ChildItem」などは正式にはコマンドではなく「コマンドレット」と呼ばれています。そしてコマンドレットと、エイリアスや実行可能な関数・スクリプトを含めてPowerShellのコマンドと呼んでいます。以後はPowerShellではコマンドレットとコマンドを区別することにします。

PowerShellはコマンドレットを含むコマンドの実行環境であると同時に、スクリプト言語でもあります。コマンドプロンプトにも一連のコマンドを連続して実行するバッチファイル機能がありますが、PowerShellはより強力なスクリプト機能を持っていますので、Windowsのほとんどの操作をスクリプトで自動実行することができます。特にサーバーの管理にはほとんど不可欠のツールになります。PowerShell Coreでは、さらにMACやLinuxが混在したクロスプラットフォーム環境で利用できることもポイントです。スクリプトについても別の記事で解説します。

コマンドレットを使ってみる

では、実際にコマンドレットを使ってみましょう。

Windows PowerShellのコンソールに「dir c:\」と入力すると次の画面が表示されます。

「dir c:\」の実行画面「dir c:\」の実行画面

PowerShell Coreでも同じ結果が表示されます。また「get-childitem c:\」と入力しても同じ結果が表示されます。エイリアスですから当然です。

「get-childitem c:\」の実行画面「get-childitem c:\」の実行画面

参考までにコマンドプロンプトでの「dir c:\」実行結果は次のとおりです。

コマンドプロンプトでの「dir c:\」実行結果コマンドプロンプトでの「dir c:\」実行結果

PowerShellとコマンドプロンプトでは若干表示される内容に違いがあることがわかります。PowerShellでは属性が表示されるのに対し、コマンドプロンプトではボリュームラベルやシリアル番号、ファイルの合計容量・空き容量が表示されるという違いがあります。

コマンドレットの構文

「Get-Alias」コマンドレットや「Get-ChildItem」コマンドレットで見たように、PowerShellのコマンドレット構文は動詞と名詞をハイフンで繋いだ「動詞―名詞」の形になっています。

コマンドレットの後に、半角スペースを空けてパラメーターを記述します。パラメーターはコマンドレットにより必須の場合もありオプションの場合もあります。各パラメーターは先頭にハイフンを付けます。「Get-ChildItem c:\」コマンドレットは「Get-ChildItem -Path C:\」の「-Path」パラメーター名を省略したものです。

コマンドレットの動詞としては、Getの他に、Add、Copy、Move、New、Open、Select、Set、Writeなどの標準動詞が多数用意されています。また名詞には、Alias、Content、Item、ChildItem、Object、Process、Serviceなどの標準名詞が多数用意されています。

このコマンドレットの命名規則を理解すれば、コマンドレット名からそれがどんな機能を持っているかが容易にわかります。逆にこんな機能を持ったコマンドレットを探したいという場合も、この命名規則から容易にコマンドレット名を推測できます。例えば、今日の日付を取得したいならば、「Get-Date」コマンドレットだろうと推測できます。またある程度の知識が必要になりますが、コマンドレットはユーザーが追加することもできます。

利用できるコマンドレットの一覧は「Get-Command」コマンドレットを実行すれば表示できます。かなり数が多いので、1ページごとに停止させるなら「Get-Command | More」と入力します。コマンドレット以外のエイリアスや関数、スクリプトを含めた全コマンドを表示させるなら「Get-Command *」または「Get-Command * | More」と入力します。「|」はパイプラインを意味しており、「More」は1ページごとに表示するコマンドです。

「Get-Command * | More」の実行結果「Get-Command * | More」の実行結果

ヘルプの表示と更新

ヘルプの表示

PowerShellのヘルプを参照するには「Get-Help」コマンドレットを使います。パラメーター無しで実行するとPowerShellの概要が表示されます。なお、PowerShell Coreのヘルプは現在日本語化されていません。ヘルプの表示が長い場合はヘルプの最後までスクロールされてしまいますので、このままでは見にくいでしょう。

「Get-Help」の代わりに「Help」を使うと、1ページごとに表示が停止しますので、この方が見やすくなります。「Help」はコマンドレットではなく、「Get-Help | more」のラッパー関数です。ラッパー関数というと難しく思われるでしょうが、エイリアスのようなものと思えばよいでしょう。ですから「Help」の代わりに「Get-Help | more」と入力しても同じです。個々のコマンドレットに関するヘルプを表示するには「Help -Name コマンドレット名」と入力します。「-Name」は省略可能です。

help get-help」の実行結果help get-help」の実行結果

「Helpコマンドレット名 -Detailed」と「-Detailed」パラメーターを付けると詳細なヘルプを表示します。また「Helpコマンドレット名 -Full」と「-Full」パラメーターを付けると最大に詳細なヘルプを表示します。

「help get-help -full」の実行結果「help get-help -full」の実行結果

「Help」、「Get-Help」には「-Online」パラメーターもあります。このパラメーターを付けるとブラウザが開いて、オンラインのヘルプが表示されます。ただし、すべてのヘルプがオンラインで表示できるわけではありません。

help get-help -online」を実行するとブラウザでオンラインヘルプが表示されるhelp get-help -online」を実行するとブラウザでオンラインヘルプが表示される

ヘルプの更新

PowerShellのヘルプ内容は最新版に更新可能です。ただし、自動的には更新されませんので、手動で更新します。更新はPowerShellを「管理者として実行」して、以下の「Update-Help」コマンドレットを実行します。

・Update-Help -Force -UICulture en-US

・Update-Help -Force -UICulture ja-JP

なお、PowerShell Coreのヘルプは日本語版が現在はありません。また、Windows PowerShellでもいくつかのヘルプは日本語化されていません。そのため、まず英語版のヘルプを更新してから日本語版のヘルプを更新します。こうすれば日本語化されていないヘルプに関しては英語版を表示することができます。中には英語版のヘルプがないものもあります。

「-Force」パラメーターは一日に何度も「Update-Help」コマンドレットを実行する場合に必要になります。このパラメーターがないと「Update-Help」コマンドレットは一日に一回しか実行できません。上記コマンドレットを実行中は次のような画面が表示されます。

「Update-Help」コマンドレットを実行中の画面「Update-Help」コマンドレットを実行中の画面

上記コマンドレットを終了すると次のような画面が表示されます。赤字で更新できなかったモジュールが表示されます。

2つの「Update-Help」コマンドレットを実行した画2つの「Update-Help」コマンドレットを実行した画

PowerShellを使い続けるのであれば、時々「Update-Help」コマンドレットを実行するとよいでしょう。

今回は、まずPowerShellを使うための基本的な情報を紹介しました。次回以降の記事で役立つコマンドやスクリプトの例を紹介していきます。

パソコン工房 NEXMAG[ネクスマグ]編集部アイコン画像
ライタープロフィール パソコン工房NEXMAG
[ネクスマグ] 編集部

パソコンでできるこんなことやあんなこと、便利な使い方など、様々なパソコン活用方法が「わかる!」「みつかる!」記事を書いています。

記事を
シェア