検索
特集/連載

Windows管理者がPowerShellを習得すべきこれだけの理由いまさら聞けないPowerShell入門(前編)

PowerShellはWindowsを管理するための強力なツールであり、マスターすべき多くの理由がある。さらに、Linuxユーザーにとっても無視できない存在になるだろう。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
Computer Weekly

 スクリプティングおよび自動化プラットフォーム「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を使ってユーザー属性やグループメンバーシップを変更することもできる。

言語の学習

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る