Publishこのたび、PowerShell実践ガイドブックという本を執筆・刊行する運びとなりました。本日から予約開始、2018/5/30日に発売です。Amazonの紹介文がおかしいのは修正予定です。Amazonなどのオンライン書店で予約が始まってます。Kindle版もありますが、まだAmazonでは発売情報が出ていませんのでお待ちください。Kindle版も予約開始しています。生マイナビ出版Amazonまた、マイナビ出版でもPDFを販売しています。Coreを扱った本は、世界では2017年に発売された6.0リリース前の本のみで、国内でも初めてになります。メインに据えた、PowerShellを実際に使っていくときのガイドとなる本です。この本は過去の「PowerShellを触り始めた直後の自分」がほしかった本でもあり、今の自分が幅広い利用者を想定して書き出せる限界ギリギリを絞りました。コードパズルに近いマニアックな内容にならず、プログラマーでないとわからないということがないように気を使っています。Twitterアンケートでも本当に幅広い方がPowerShellを使っていて嬉しい反面、最新の情報や実践を見据え体系的にまとまった情報を得にくいと感じていました。2018私自身がPowerShellを学び始めたときに困ったのが「情報がない」です。6.0になって、Windowsだけでなく、macOSやLinuxでも動かせるようになりました。高度な関数?実際に使ってみてハマることは?という、基本的なことすらも分かりにくいと感じていました。PowerShellに関する記事を数多く書いて来ましたが、「本によるまとまった情報の取り込み力」が必要と考えての一冊です。本書が、そんな悩みを解決できる一助になれば、幸いです。Action「実際に使う」ということだったので被ってることにしょんぼりすることになるとは思いませんでした。クックブックも何度か推薦するぐらい素晴らしい良著で私の大好きな本です。PowerShell実践ガイドブックは、この2冊と明確に立ち位置が違います。メインとした内容になっている体系的な基本機能も網羅しているが、常に実践を意識した内容になっている実際にPowerShellを使うにあたっての操作や直面する課題を対象にしているこれまで学んできたことを含めて全ページ書き下ろしているので、お気に入りの一冊に加えていただけると嬉しいです。章構成と立ち読み大まかな構成は、まずは触ってみる(1章)→コンソール操作と基本機能(2章)→管理操作(3章)→スクリプティングと自動化(4章)→実践とTips(5章)となっています。本書の前書き「はじめに」のセクションをテキストで出すことを編集者さんに許可もらったので、ブログで一部を公開します。「はじめに」の全文はマイナビ出版様より立ち読みとして公開予定もあるそうです。本書は、これからPowerShellを触ってみたい方、システム管理者、開発者の三者を想定しています。これから触る方には、日常の中で繰り返し手作業で行っていることを自動化する足がかりになるでしょう。筆者自身が今までコマンドプロンプトやPowerShellをちょっとだけ起動したことはあったけれども「さらに習得したい」と考えたときに手に取りたかったものとして本書を執筆しました。システム管理に求められる問題領域は、コンピューターシステムの構成や運用に始まり、ネットワーク、コンピューターセキュリティなど多くのリソースに及びます。クラウド管理、データベース管理、Webシステム管理などが求められることも少なくありません。Interface(API)を通した各種サービス操作を日常的に行います。両者に共通するのは、多岐にわたる知識と解決です。限られた時間の中で解決するために、多くの操作を自動化する必要に迫られます。操作自体はシンプルな処理の連続であることが多く、コマンド1つ、あるいはパイプラインでつないで、はたまたスクリプトで自動化されます。PowerShellは自動化に際して大きな力を発揮します。構造化データの取り扱いの容易さが大きな力になるでしょう。経験の有無にかかわらず、繰り返し作業やうんざりする作業をPowerShellを使って自動化したい方にとって本書が力になると考えています。本書で得られること本書を通して、PowerShellを使うことに対して「知らない」に起因する心理的なハードルの軽減すること、そして、PowerShellの網羅的な内容を知ることができるように気を配りました。6.0の概要の把握から、C#コマンドレットの作成の入り口までの導入を目指しています。本書は5章に分かれています。各章はテーマを持ち、実践的なTipsを交えつつ紹介しています。第1章では、起動するのも初めて、これからまさに触ろうと思ったときに知りたかった「何ができるか」を平易に伝えることを念頭に置きました。Codeを使ったPowerShellのデバッグにも触れています。他言語の経験者の方やすでに慣れ親しんでいる方からすると、すでに知っていること、普段から行っていることの繰り返しに近いため、第2章から読み進めてもいいでしょう。第2章では、PowerShellのコンソール操作に触れつつ、しっかりと基礎を学ぶことを目標に置いています。PowerShellは、操作することを自動化に結び付けやすいため、多くの方にとってはこのコンソール操作をどうするかが知りたいことだと思います。第3章では、クロスプラットフォームなシステム管理操作がテーマです。操作ログやリモート操作を始めとして、PowerShellでどのようにシステム管理を行うかを主題にしています。第4章では、スクリプティングを網羅しつつ、理解できるようにしました。スクリプト、関数、クラス構文を始めとした機能の利用から、実際にモジュールを作って公開することまで、手を動かしながら学べます。第5章では、さらに一歩進んだPowerShellの利用に触れています。実際にPowerShellを使って気付く悩みがちなこと、より実践的なTipsに踏み込んでいます。PowerShellは画面がテキストだけということもあり、コマンド操作経験がない方がいきなり触るには難しいと考えています。そこで、第1章は、平易な言葉と例を用いて、可能な限りわかりやすい表現を心がけました。第2章以降は、オブジェクトなどの概念を順に追いかけつつ、手を動かしながら理解していく内容になっています。PowerShellを触る場合でも、C#や.NETランタイムの知識や経験は必要ないように配慮して書きましたが、第2章以降ではそれを知っていることが理解を助けるでしょう。本書で得られないことPowerShellは、管理や自動化といったタスクを達成しようと思ったときに使うであろうツールです。本書が目指すのは、ツールの扱い方であり使い方ではありません。Directoryのアカウントの操作方法などは本書で説明しません。本書をもってプログラマーになることは目的としていません。Codeの使い方やスニペット、GUIアプリケーションの作成などは触れません。線引き「PowerShellは何でもできるわけではない」といってしまうのは簡単です。やりたいことを探していて、要件をまったく満たしておらず使えないということもあります。コマンド1つで実行できて極めて便利なこともあるでしょう。可能ではあるものの、PowerShellで行うには複雑になってしまって難しいこともあります。本書では、こういったPowerShellだけでは扱いにくいことをどのように扱うか、あなた自身が学んでいけるようにガイドを示します。Coreが存在しています。Coreの最新リリースバージョンです。PowerShellを置き換えることを視野に開発されています。Coreにない機能は削られてもいます。PowerShellからみた変更点にも極力触れています。Coreでどのように変化したのかにも注目してください。