Original

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)




横山 哲也(よこやま てつや)

横山 哲也(よこやま てつや)

トレノケート株式会社 ラーニングサービス本部 / マイクロソフトMVP(Directory Services)/ マイクロソフト認定トレーナー

   

Windows PowerShell

人気記事

人材育成専門企業トレノケート【公式ブログ】
© Trainocate Japan, Ltd. All Right Reserved. 2008-2018