Windows管理者がPowerShellを習得すべきこれだけの理由:いまさら聞けないPowerShell入門(前編)
PowerShellはWindowsを管理するための強力なツールであり、マスターすべき多くの理由がある。さらに、Linuxユーザーにとっても無視できない存在になるだろう。
スクリプティングおよび自動化プラットフォーム「Windows PowerShell」(以下「PowerShell」)の歴史は、2002年にさかのぼる。その頃から同社は、先行発表していたホワイトペーパーで「Monad」(コードネーム)というプロジェクトを「システム管理の自動化に向けた次世代プラットフォーム」としてアピールしていた。「Monad manifesto」(Monadマニフェスト)と題したこのホワイトペーパーの著者はジェフリー・スノーバー氏だった。同氏は現在、Microsoftで「Windows Server」「Azure Stack」「System Center」などの製品を統括するエンタープライズクラウドグループのチーフアーキテクトとなっている。
Computer Weekly日本語版 8月16日号無料ダウンロード
本記事は、プレミアムコンテンツ「Computer Weekly日本語版 8月16日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。
なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。
ホワイトペーパーの記述と最終的にリリースされた物の間に多少の違いはあるものの、この文書には多くのテーマが含まれている。Monadは.NETプラットフォームに基づいていて、「cmdlet」(コマンドレット)と呼ばれるコンポーネントを利用することで拡張できる。また、.NETオブジェクトのパイプライン化をサポートしており、オブジェクトからの出力を次の入力につなげるようになっている。MonadはBourne Shell(UNIXのシェル)構文にも基づいている。Bourne Shellは、UNIXライクなシステムのコマンドシェルに強い影響を与え続けている。例えば、シェルの1つである「Bash」の名前は「Bourne Again Shell」を表している。
Monadマニフェストには、Windowsでスクリプティングを実行するためのオプションを複数用意していたという記述もある。つまり、cmd.exeで実行されるバッチファイルか、VBScriptを実行するCScript.exeでホストのスクリプティングを行うかの二者択一だ。ただしCScript.exeは、将来のバージョンのWindows Serverもサポートするには機能的に十分とはいえなかった。
Windowsのコアコンポーネント
PowerShellはWindowsのコアコンポーネントであり、同時にシステム管理者にとって不可欠なツールとなっている。その理由を一言でまとめるなら「自動化」で、GUI(グラフィカルユーザーインタフェース)ツールには不向きの機能だ。
スクリプトに記述できるものは全て自動化できる。自動化は、DevOpsやクラウドプラットフォームの管理者にとって必須の機能だ。
もう1つ、Windows Serverに必ずGUIがあるとは限らないという要因もある。「Server Core」や「Nano Server」は機能を絞り込んだWindows Serverなので、PowerShellは不可欠だ。「Office 365」を使用する場合、「Exchange Online」などのサービスを管理するにはWebブラウザで操作するか、PowerShellを使用するかのどちらかの方法しかない。最も完全で強力なアクセスを提供するのはPowerShellだ。Exchangeをオンプレミスで実行している場合もPowerShellが必須のタスクが幾つかあるので、PowerShellを覚えておくと後々役に立つ。
PowerShellが特に有用なタスクが存在する。例えば複数のリストに同じ処理を繰り返す場合が挙げられる。「Active Directory」はその顕著な例だ。Active Directoryモジュールは自動的に、あるいは「リモートサーバー管理ツール」をインストールする際に「ドメインコントローラ」にインストールされる。
Get-ADUserコマンドレットは、全てのユーザーをコレクションに取得する。リストをフィルタリングするか、foreachループを使って各ユーザーオブジェクトを検査する。Set-ADUserを使ってユーザー属性やグループメンバーシップを変更することもできる。
言語の学習
続きはComputer Weekly日本語版 8月16日号にて
本記事は抄訳版です。全文は、以下でダウンロード(無料)できます。
■Computer Weekly日本語版 最近のバックナンバー
Computer Weekly日本語版 8月2日号 2つのオープンソースハードウェアプロジェクト
Computer Weekly日本語版 7月19日号 WannaCryはランサムウェアキラーか?
Computer Weekly日本語版 7月5日号 CIOが果たすべき3つの役割
Copyright © ITmedia, Inc. All Rights Reserved.