PowerShellは、WindowsのCLIシェルとして標準の座を占めるばかりでなく、LinuxやmacOSにも移植され、クロスプラットフォームなシェルに成長しました。
その存在感が増す一方で、人間味に欠ける無機質なコマンド体系(cdで済むところをSet-Locationだって!?)を敬遠するITエンジニアも少なくないようです。また、bashやzshなどUNIXのシェルの感覚で使おうとして思い通りにいかず(sort | uniq -cはどうするんだ? awkはどこだ?)、いまいち手になじまないと感じる方も一定数存在します。
実際問題、情報セキュリティ実務家にとってPowerShellの学習負荷は大きいのです。たとえばプロセス1つを例にとっても、ライブレスポンスの現場ではGet-Process(ps)といった初等的なコマンドでは片付きません。Get-CimInstance(旧Get-WmiObject)の利用が必須ですが、こうしたことは入門書では後半で軽く触れられる程度です。有効活用できるようになるまで、かなりの辛抱が要ります。
今回のCommunity Nightでは、昨年12月に実施し好評を博した「PowerShell超特急」を90分枠に拡大し、情報セキュリティ実務家が現場で遭遇しうるケースを取り上げながら、典型的なコマンド(Cmdlet)をデモを交えて一気にご紹介します。同時に、PowerShellを利用する上で必要となる考え方や参照先を整理し、受講者が独力で使いこなせるようになることを目指します。