IT・ビジネススキル・人材育成の情報を掲載 | 人材育成のトレノケート【公式ブログ】

PowerShellの勉強の仕方(その1)

この記事は2014年1月10日に作成されました。

 

2013年、Windows 8がバージョンアップし、Windows 8.1になりました。その陰に隠れるようにWindows Server 2012もバージョンアップし、Windows Server 2012 R2となりました。大幅な機能変更はあまり無いとも言われていますが、システム管理者にとっては微妙な差異がトラブルの種になるなど、悩みどころでもあります。

 

さて、システム管理といえばPowerShell。え、と思った方は今すぐ考えを改めてください。マイクロソフトがシステム管理用のコマンドとして最も力を入れているのがPowerShellです。

 

このPowerShellも、今回のバージョンアップに伴い3.0から4.0へとバージョンアップしています。「ほとんど使っていないのに、いつの間にか4.0かよ」なんて声が聞こえてきそうですが、4.0です。

 

「これからはPowerShell」だと言っても、コマンドプロンプトを活用しシステム管理をしていた方、過去のバッチファイルやスクリプトなどの資産が大量にある方、つまりコマンドプロンプトのベテランほど、PowerShellへの移行(?)が進んでいないのではないでしょうか。その理由は色々あると思いますが、1つに新しい体系のコマンドを憶えなければ、というPowerShellへの拒否反応などがあるように感じています。

 

ここでは、そんな方(そうでない方も含めて)、"明日からコマンドプロンプトを開かなくていい" ようになってもらおうと思います。

 

 

PowerShellはコマンドプロンプトの機能を含むもの

コマンドプロンプトのベテランの方がPowerShellに移行するには、最初に考え方を改める必要があります。それは

 

「PowerShellはコマンドプロンプトと別ものではなく、コマンドプロンプトの機能を含むものである」

 

ということです。両者の内部的な構造や実装技術は異なりますが、利用する上ではこのように考えて差し支えありません。

 

その理由を説明するために、コマンドプロンプトの復習を兼ねてコマンドプロンプトとPowerShellでは、何が実行できるのかをまとめてみます。

 

 

コマンドプロンプトとPowerShellで実行できること

コマンドプロンプトで実行できるもの PowerShellで実行できるもの
内部コマンド
外部のファイルを利用せず、あらかじめ組み込まれているコマンド

例、DIR、COPYなど

 

コマンドレット
外部のファイルを利用せず、あらかじめ組み込まれているコマンド

エイリアス設定済み多数

例: Get-ChildItem、Copy-Itemなど

外部コマンド
exeファイルなどの実体があるコマンド
Windowsに付属するコマンド
アプリケーションと一緒に追加されるコマンド

例、XCOPY(Xcopy.exe)、
IPCONFIG (IPCONFIG.exe)

Windowsネイティブコマンド
exeファイルなどの実体があるコマンド
Windowsに付属するコマンド
アプリケーションと一緒に追加されるコマンド

例、XCOPY(Xcopy.exe)、
IPCONFIG (IPCONFIG.exe)

スクリプト(バッチファイル)
連続して実行するために、複数のコマンドをテキストファイルとして記述したファイル
拡張子がBAT、CMD、VBSなど

 

スクリプト
連続して実行するために、複数のコマンドをテキストファイルとして記述したファイル
拡張子がBAT、CMD、VBS、PS1など

 

 

関数

名前を付けたスクリプトブロック

 

 

見ての通り、コマンドプロンプト(CMD.EXE)とPowerShellでできることはほとんど変わりません。違うのは、内部コマンド(コマンドレット)の利用規則だけです。

 

また、PowerShellからは、外部コマンドを自由に使えますし、スクリプトも実行できます。CMD.EXEの代表的な内部コマンドはPowerShell用に別名がつけられているので、単純な機能なら同じように使えます。

 

たとえばPowerShellでDIRコマンドを実行すると、ファイル名の一覧が表示されます。

 

次回はこれらの機能についてもう少し詳しく紹介します。

 

なお、PowerShellの設計者の一人であるBruce Payetteの著書「Windows PowerShellインアクション」では、Windowsに付属するEXEファイル形式のコマンド(CMD.EXEの外部コマンド)を「ネイティブコマンド」と呼んでいますが、ここでは「Windowsネイティブコマンド」としました。

 

第2回はこちら≫ PowerShellの勉強の仕方(その2)

 

Microsoft認定トレーニング

トレノケートは、2002年にMicrosoftのラーニングソリューション分野において、日本で初めてラーニング部門のゴールドパートナーに認定されました。以降、Microsoft認定資格対応研修Windows Server 研修Microsoft Azure 研修など幅広い分野で多数の最新コースラインナップを提供し続けています。

Microsoft認定トレーニングについて