[PowerShell] 第108回CLR/H勉強会 ~力こそパワー~ で登壇しました #clrh108

2018.12.18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

しばたです。

私がスタッフとして活動してるCLR/Hの勉強会、第108回CLR/H勉強会で「PowerShellのパワー」というタイトルで登壇しました。

発表スライドとサンプルコードはこちらになります。
(スライドがクラスメソッドっぽくないのは入社前に作っていたからです...)

勉強会の様子はTogetterでまとめられています。

PowerShellのパワー

今回の勉強会のメインコンテンツがPowerAppとMicrosoft Flowということもあり、私のセッションではライトユーザーを今回ターゲットと考え自動化ツールとしてのPowerShellの使いどころを説明する内容にしました。

大きく3つの節(「通常編」「代償編」「暗黒編」)に分けたのでそれぞれ軽く解説します。

PowerShellのパワー ~通常編~

この節ではPowerShellの基本と使いどころについて触れています。

PowerShellには多くの組み込みコマンドレットが提供されており、それらを組み合わせて使うことで日々のタスクを自動化することができます。
またやりたいことに対してコマンドレットが提供されていなくてもAdd-Typeコマンドレットを使い.NET Framework製のライブラリを利用したりC#やVB.NETのソースコードを直接利用するといったことが可能であり、頑張れば大抵のことは実現できます。
(頑張らなければいけない状況を是とするかは賛否あると思いますが...)

一部の例はUbuntu上でデモを行っており、Windowsほどではないにせよ、LinuxやmacOS上でもPowerShellを使うチャンスはあるのかなと私は思っています。

PowerShellのパワー ~代償編~

この節ではPowerShellのハマりどころについて触れました。

PowerShellはもともとWindowsの管理のために生まれすべてが.NETのオブジェクトから成り立つという独自の構造をしています。
このためコマンドプロンプトやBashなどの*shなシェルと同じ様に扱うとハマってしまうところがそれなりあります。
今回は、その中でもよく槍玉に上げられるテキスト操作の貧弱さや-Pathパラメーターのワイルドカードの取り扱いについて説明しました。

私はPowerShellが大好きですが擁護できないダメな部分は当然あります。
こういったハマりやすい点に関しては割り切りも必要です。

PowerShellのパワー ~暗黒編~

最後の節ではPowerShellのセキュリティ周りの話をしました。

PowerShellはOS(Windows)の管理ツールとしては強力なため、マルウェアにも利用されてしまっている現実があります。
私はセキュリティの専門家ではないためあまり詳しくはお話できなかったので軽い紹介に留めました。

あとは実行ポリシーについては皆さん結構誤解されてる点が多いと思いますのでスライドの内容をぜひ見ていただきたいです。

Flow + PowerApps 概要およびハンズオン

最後に今回の勉強会のもう一つのセッションの紹介をして終わりにします。

こちらのセッションは私と同じくCLR/Hのスタッフであり、LogicFlow-jaの主催でもある@ahfさんよるPowerAppのサンプルアプリ作るハンズオンでした。

このハンズオンの内容を試すにはPowerAppsのライセンスが必要なため気軽にはできないのですが(当日はハンズオン用のアカウントを使いました)興味がある方はぜひ試してみてください。