Windows Server 2008 R2で初めてのメジャーバージョンアップを遂げたCUIツール「Windows PowerShell」(以下、PowerShell)。新版(PowerShell 2.0)では、コマンドの数が大幅に増やされ、マイクロソフト製GUI管理ツールからも呼び出されるほど、利便性が高まっています。
とは言え、GUIツールによる管理が主流であるWindowsプラットフォームの管理者の皆さんは、PowerShellに対してそれほど馴染みがないはず。これでは、せっかく追加された便利なコマンドも役立てることはできません。
そこで、本連載では、PowerShellの使い方について基本的から紹介していきます。
Windows PowerShellとは
WindowsのコマンドプロンプトはUNIX系OSの環境に比べると貧弱なものです。特にバッチコマンドはスクリプトと呼ぶには原始的すぎ、複雑なプログラムを記述できません。
これまでにマイクロソフトはWSH(Windows Scripting Host)をリリースしましたが、WSHはコマンドライン環境と互換性がないという欠点がありました。こうした問題に対する新しい回答がPowerShellです。
PowerShellは、高機能なコマンドライン操作体系と本格的なプログラミングに耐えられる言語体系を両立し、コマンドライン操作とスクリプトに対して同じ環境を提供します。PowerShellを活用することで、伝統的なコマンドプロンプト環境よりも簡単に複雑な作業を行ったり、バッチコマンドでは実現不可能な複雑な処理の自動化、プログラミングを実現できます。
ただし、コマンドプロンプトを機能拡張したものではなく、従来のコマンドプロンプトとは全く互換性がありません。
PowerShellの入手とセットアップ
PowerShellの入手方法とセットアップ方法はWindowsのバージョンによって違います。
(1) Windows Server 2008 R2/Windows 7
PowerShell 2.0を標準実装しています。ただし、ServerCoreではセットアップ作業が必要です。
(2) Windows Server 2008
サーバーマネージャの「機能の追加」ウィザードを使用して、PowerShell 1.0を追加インストールします。
(3) Windows Server 2003/2003R2、Windows Vista/XP
マイクロソフトのダウンロードセンターから、Windowsの種類に応じたPowerShell 1.0をダウンロード、インストールします。インストール時に.NET Frameworkが必要と表示されたときは、必要な.NET Frameworkをダウンロードセンターからダウンロード、インストールして下さい。
![]() |
ダウンロードセンターで「PowerShell」をキーワードに検索すると、すぐに見つかります |
PowerShellを使ってみる
さっそく、PowerShellに触れてみましょうスタートメニューからWindows PowerShellを実行します。ウィンドウは、従来のコマンドプロンプトとほとんど区別がつきません。「dir」コマンドを入力すれば...コマンドプロンプトとはちょっと表示が違いますが...ファイル一覧を表示します。
しかし、実はPowerShellにはdirコマンドはありません。また、PowerShellでは実行する命令をコマンドではなくコマンドレットと呼びます。dirコマンドに近いコマンドレットはGet-ChildItemですが、コマンドプロンプトに慣れたユーザーのために、Get-ChildItemをdirという名前で別名(エイリアス)定義してあるのです。
別名定義を確認するためには、Get-Aliasコマンドレットを実行します。多くのコマンドレットがコマンドプロンプトやUNIX系OSのコマンドと同じ名前、あるいは短縮形で別名登録してあります。
Get-ChildItemやGet-Aliasを見てもわかるように、PowerShellのコマンドレットは、フルスペルの単語の「動詞-目的語」の形式をとっており、例外はありません。長ったらしくて面倒に思えますが、何をするコマンドレットか一目瞭然という大きなメリットがあります。また、PowerShellには強力なコマンドライン補完機能がありますので、すべてキー入力する必要はありません。途中まで入力したら、Tabキーを押すと該当するコマンドレットやオプション、ファイル名などを検索して入力補完します(ただし、コマンドレットの場合、少なくとも動詞の後ろのハイフンまでは入力してからTabキー)。頻繁に使用するコマンドレットに使いやすい別名をつけるのもいいでしょう。
なお、Get-Helpコマンドレット(別名はhelp)を実行すると、詳細なヘルプを表示します。
当記事では、基本的にWindows Server 2008のPowerShell 1.0環境を例に紹介し、折に触れてPowerShell 2.0についても紹介します。2.0での主な追加機能は、PowerShellの開発環境であるISEと、リモート管理機能の装備です。次回はコマンドレットのパイプ処理について紹介します。
※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。
連載目次
ダウンロードBOXに入れる
記事をダウンロードBOXに追加します。よろしいですか?
ブックマーク
記事をブックマークに追加します。よろしいですか?
-
[2021/03/05 08:00] サーバ/ストレージ
-
[2021/03/04 08:00] クラウド
-
$side_seminar_count = $i+1; ?>
-
2021年3月12日(金) 13:00 ~ 17:00 【第1部】13:00~13:50(基調講演) 【第2部】14:00~16:15 計12セッション 【ASK THE SPEAKER】16:30~17:00(講演者への質問コーナー)
KDDI SOLUTION DAY 2021 ~不確実性の高い時代のビジネス共創とDX~
$side_seminar_count = $i+1; ?>
-
2021年3月12日 金曜日 13:00 – 14:50
DXでさらに企業進化を AI+自動化でビジネスをパワーアップ
$side_seminar_count = $i+1; ?>
-
2021年3月15日(月)0:00~2021年3月31日(水)23:59
KDDI まとめてオフィスの学校向けオンラインセミナー ~これからの教育ICT推進に向けて~
$side_seminar_count = $i+1; ?>
-
2021年 3月 18日 (木) 13:00~18:20
マイナビニュース スペシャルセミナー 2021年の脅威に対峙する
$side_seminar_count = $i+1; ?>
-
2021年3月18日(木)15:00~16:00
5G時代のCDNに!コスト削減と顧客体験向上を両立させるCDNとは?
今注目のIT用語の意味を事典でチェック!