Microsoftが提供している新しいシェル、Windows Power Shellの基本操作方法を学びます。インストール、起動終了方法、コマンドレット、命名規則、エイリアス、操作方法の調べ方についてを説明しています。
はじめに
Windows PowerShell(以降、PowerShell)はシステム管理や自動化に役立つように設計された新しいコマンドラインシェルです。
しかし、ただのコマンドラインシェルではありません。
- 対話型シェルによるオペレーション
- シェルスクリプトの実行
を行うことができます。
PowerShellは.NET Frameworkを基に設計されており、コマンドの実行およびスクリプトにおいてその恩恵を十分に受けることができます。これにより、かつてない強力なシェル環境が登場したと言っても過言ではないでしょう。
PowerShellの操作を習得し、システム管理・運用を効率的に進められるようにしていきましょう。
対象読者
- システム管理者
- PowerShellに興味がある方
必要環境
- .NET Framework 2.0以降
- Windows PowerShell
対象OS
- Windows XP Service Pack2
- Windows Server 2003 Service Pack1
- Windows Vista
インストール
PowerShellはMicrosoftのサイトから無償でダウンロードすることができます。
PowerShellを導入するには.NET Framework 2.0以降が必要です。Vistaを使用している場合は、あらかじめ.NET FrameworkがインストールされているのでPowerShellのインストールだけで構いません。
Widows XP Service Pack2、Windows Server 2003 ServicePack2を使用している方は下記リンク先から使用しているOSに対応する.NET Frameworkをダウンロードし、インストールしてください。
- Microsoft .NET Framework Version 2.0 再頒布可能パッケージ (x86)
- Microsoft .NET Framework Version 2.0 再頒布可能パッケージ (IA64)
- Microsoft .NET Framework Version 2.0 再頒布可能パッケージ (x64)
また、Windows XP service Pack2、Windows Server 2003用PowerShellは下記リンク先から使用している環境に合うものをダウンロードしインストールしてください。
Windows Vista用PowerShellは下記からダウンロードしインストールを行ってください。
起動と終了
PowerShellを起動するには、[スタート]-[プログラム]-[Windows PowerShell 1.0]-[Windows PowerShell]をクリックします。
PowerShellの終了は、コンソールウィンドウに「exit」と入力して[Enter]キーを押すか、右上の[X]ボタンをクリックします。
コマンドレット
ではPowerShellの操作について少しずつ学んでいきましょう。
まず、シェルと言えばコマンドです。コマンドのことをPowerShellではコマンドレット(cmdlet)と呼び、その数は約130あります。どんなコマンドレットがあるのか確認するには、コンソールウィンドウでGet-Command
と入力し、[Enter]キーを押してください(コマンドレットは大文字・小文字を区別しませんのでget-command
でもOKです)。
どうでしょうか? 従来のコマンドプロンプトとは比べものにならない数のコマンド群を確認することができます。左からコマンドタイプ、コマンドレット名、定義となっています。
命名規則
先ほどのGet-Commandの結果をよく見るとわかりますが、PowerShellのコマンド名は動詞と名詞をハイフン(-)で連結した形を取っています。このようにPowerShellのコマンドは一貫した命名規則を持っています。
エイリアス
さて、コマンドレットは「動詞-名詞」という形式であることが分かりましたが、入力文字数が長いとは思いませんか?
PowerShellではエイリアス(別名)「を使用することで入力を簡易化できるように設計されています。先ほど入力したGet-Commandコマンドレットのエイリアスを調べてみましょう。コンソールウィンドウに、
get-alias | where-object {$_.Definition -match "Get-Command"}
と入力し、[Enter]キーを押してみてください(Get-Commandの定義を取得しています。詳細については後々説明したいと思います)
Name列にgcmと表示されているのが確認できたでしょうか? これがGet-Commandの別名です。試しにコンソールウィンドウでgcm
と入力してみてください。Get-Commandと入力したときと同じ結果が得られるはずです。
そのほかのコマンドレットのエイリアスを調べるには、
get-alias | where-object {$_.Definition -match "エイリアスを調べるコマンドレット"}
と入力してください。
コマンドレットの使用方法を調べるには
コマンドレットの命名規則は動詞-名詞なので、Get-Commandで表示した一覧から、何となくどのような動作をするコマンドレットなのか推測がつきそうです。
では、実際の使用方法はどうやって調べればよいのでしょうか? これにはGet-Help
コマンドレットを使用します。コンソールウィンドウで、
Get-Help 調べたいコマンドレット名
または、
調べたいコマンドレット名 -?
と入力します。では、Get-Aliasコマンドレットの使用法を確認してみましょう。Get-Help Get-Alias
と入力してください。
実はこのGet-Help
コマンドレットと-?
は、ヘルプが1ページで表示されます。次に コンソールウィンドウで、
Get-Help Get-Alias -detailed
と入力してみてください。説明が1ページでは収まりきらずに長々と表示されたと思います。
ここで新たに登場した-detailed
はパラメータと呼ばれるもので、Get-Helpコマンドレットのパラメータです。-detailed
パラメータは、コマンドレットに関する補足情報を表示するものです。これにより、その他のパラメータや使用例など、より多くの情報を得ることができます。
しかし、多く情報を参照できるのはよいのですが少し長すぎます。先ほどのGet-Help Get-Alias -detailed
の後ろに | more
と入力し[Eenter]を押してみてください。
Get-Help Get-Alias -detailed | more
今度は1ページずつ区切って表示できるようになります。
なお、[Space]キーで次のページ、[Enter]キーで次の行、[Q]キーで終了することができます。
まとめ
駆け足で説明しましたが、今回は
- コマンドレットとは?
- 命名規則
- エイリアス
- コマンドレットの操作方法
を中心に基本操作について説明しました。システム管理に直結するような説明がなかったので、面白味に欠けたかもしれません。しかし今回説明したことはPowerShellを操作していく上で重要なことですのでしっかりと身につけましょう。
次回はPowerShellでのスクリプトについて説明したいと思います。