😶‍🌫️

Windows Server 構築①

2025/02/28に公開

Microsoft関連の技術で言うと、PowerShellが好きだ。
思い出すと十数年前、インフラエンジニアとしてWindowsに触れたときに最初に使ったのがコマンド プロンプトだ。cmd.exe。

初めてLinuxを触ったとき、マウスを触らずにコマンドだけで操作できるってカッコイイな、と思った。同じくWindowsでもコマンドだけで操作してみようと頑張ってみたものだ。
ところがGUIベースとなって長いWindowsはLinuxとは勝手が違い、コマンド プロンプトだけで操作するのは なかなか難しい。結局GUIに頼ってしまう。

当時Windowsは2003/XPから2008 R2/7への過渡期。(2008/8には敢えて触れない)
そこで出たのがWindows PowerShellである。(今はWindowsは付かずPowerShell)
PowerShellの登場には感動した。当時まだ完成度は低かったものの、コマンド プロンプトに比べて以下のような進化が見られた。

・"動詞-目的語"の覚えやすいコマンド形式 ex.dir⇒Get-ChildItem, cd⇒Set-Location
・コマンド省略時のTabキー補完
・開発環境 PowerShell ISEの存在。.batファイルの誤実行は悪夢
・変数の宣言しやすさ。%xxx%⇒$xxx
 ※型指定が任意である点は賛否あると思うが、ライト層にとっては使いやすくて良いと考える
・構造化データの採用。個人的にはココが一番デカい。以下みたいなイメージだけど、伝わるかな?

・リモート処理。他のサーバをコマンドで遠隔操作できる
 ⇒Tera Termマクロでsshして無理矢理・・・みたいなことが不要になった

他にも いっぱい あると思う。枚挙に暇がない。
また、当時は まだコマンド プロンプト全盛期。.bat職人も多くいた。そんな中、いち早くPowerShellを扱う技術を身に付ければ一歩前に出られると考えた。
Microsoftも これからコマンド プロンプトに代えて主流にすると言っていたように記憶している。手を出さない選択肢は なかった。
数少ないPowerShellの本を買い、ひたすらコマンドを試した。

身に付けたPowerShellの技術は実践として、現場のスクリプト開発に役立った。
Hyper-V、Active Directory、SMB等によるWindowsインフラ構築・運用の自動化だ。
スクリプト開発において、C言語ライクなPowerShellは非常に肌に合った。変数や反復処理も使い勝手が良く、できることの幅が大きく広がったと思う。
当時の指導役が後から真似てきて、いい気になったことが思い出される。

オンプレの案件が少なくなった現在でも、Azureの操作においてPowerShellが使える。
これからインフラエンジニアとしてWindowsを触る人には、習得をオススメする技術である。

はみ出し。
今もだが、当時から とにかくシンプルなものが好きだった。
LinuxもGUIは無効化。WindowsもGUIなんて重くなるから欲しくない(Server Coreの登場に歓喜)、余計な機能は ひたすらアンインストール。
そんな具合で、Windows Serverのセットアップにおけるショートカットコマンドを ひたすら覚えた。
ncpa.cplなど。
この話は また別の機会に。

HESI :技術や日々のお仕事などを紹介します

Discussion