Windows PowerShell
名称編集
Windows PowerShellという正式名称は長ったらしいのでWindowsと付けずに単にPowerShellと呼ばれたり、さらにはPSと略されていることも多い。
なお、PSまで短く略すとUNIX系OSでプロセス一覧表示用に使われpsコマンドやPlayStationと混同される恐れがあるので注意する必要がある。ちなみにPowerShellでもプロセス一覧表示にはpsコマンド(Get-Processコマンドレットの別名)がデフォルトで割り当てられている。
かつては Microsoft Shell(MSH、コードネーム Monad)とも呼ばれていたが、今ではその呼称で呼ぶものはいない。
概要編集
PowerShellは古くからWindowsで使われているcmd.exeや、UNIXやLinuxで使われているcshやbash、zshなどとは一線を画す独特な作りとなっている。
PowerShellの各コマンドはコマンドレット(cmdlet)と呼ばれ、その実態は.NET Frameworkのクラスである。
歴史編集
PowerShell 1.0編集
PowerShell 2.0編集
従来はバッチファイル的な意味合いだけであったスクリプト言語部分が大幅に拡張され、C#などを使わずともPowerShellスクリプトだけで関数やコマンドレットが作れるようになり、プログラミング言語としての意味合いが非常に強くなる。
PowerShell 3.0編集
2012年9月4日(米国時間)にWindows Management Framework 3.0(WMF)に含まれるかたちで無償公開された[1]。なお、Windows 8およびWindows Server 2012には標準でWMF3.0が含まれているため別途インストールする必要はなく、それ以前のWindows 7やWindows Server 2008 R2を利用している場合にはマイクロソフトのサイト上からダウンロードしてインストールする必要がある。
- 主な変更点
- .NET Framework 2.0ベースから.NET Framework 4.0ベースへと変更
- Dynamic Language Runtime(DLR)に対応
- PowerShell 2.0で搭載されたスクリプト言語がJITコンパイルに対応し劇的に高速化
- 「Windows PowerShell ISE」がインテリセンスに対応
- 「Workflow」が追加。壮大な機能なので詳細はググれ。
- cmd.exeを不要にする1000以上のコマンドレットが追加
- Windows Server 2008 R2までのWindows Server Coreは汎用的に使えるものではなかったが、この大量のコマンドレット追加おかげでWindows Server 2012のWindows Server CoreはLinux並みとまではいかないものの、そこそこCUIでも使い物になるようになった。