テクノロジー

Windowsの標準スクリプト言語であるPowerShellの現状をあらためて紹介する (1/2)

1: theatrical 2026/05/24 18:57

PowerShell nativeに.netのライブラリコールできるし、習熟すればできることはだいぶ多そうな気はするが、イマイチイケてない感じがしてやる気が起きないのよね。

2: nessko 2026/05/24 18:59

ずっとコマンドプロンプトなんやわのう。勉強したいわあ

3: crimson_diamond 2026/05/24 19:06

よく分からないけどcodexやclaudeがよしなにコマンド叩いてくれるようになっていたのでもう完全に覚える気が無くなった

4: sgo2 2026/05/24 19:23

HTA/WSH/VBAが消えるかもと言うことで使い始めた(MSBuildの敷居がもう少し低ければC#選んでた)けどそれなりに便利。C#埋込でWinAPI/COMも叩ける&追加インストール不要(配布時に気兼ね不要)は強過ぎる。

5: favoriteonline 2026/05/24 19:25

cmd、PowerShellあたりまでは使ってたけど、WSLあたりから頻度減ったし基本、VSCodeのターミナルメインになった

6: hkdn 2026/05/24 19:45

OS同梱版と任意導入版が違うのは知っていたがexe名まで違うのか。

7: tyhe 2026/05/24 19:53

シェルはPowerShellから入った人間なので全てをオブジェクトとして扱うのに慣れすぎてbashとかに苦戦したなあ。PowerShellは割と好き。

8: raitu 2026/05/24 20:08

“powershell.exeはWindowsに付属する標準版だが、改良が望ましいにも関わらず、過去に作られたスクリプト互換性のために困難な部分が一部ある。そこで、完全な互換性を捨てて、機能向上を目指したのが現在のPowerShell”

9: kilinbox 2026/05/24 20:11

めっちゃ使うんだけど、ずっとしっくりこないまま使い続けてる

10: atsushifx 2026/05/24 20:21

Powershell7(pwsh)は、OOPのクラスも使えるし、PesterでTDDもできるしお勧めかな

11: crecolian 2026/05/24 20:23

PowerShellは補助ツールではなく、Windows標準の自動化基盤として見直すとかなり強い。

12: ryudenx 2026/05/24 20:33

wslが登場して役割が無くなった感がある

13: OkadaHiroshi 2026/05/24 20:44

Microsoftの公式がどう書いているかに関わらず、普通に便利に使いたいなら、明示的に設定しなくても自動アップデートされるStore版が良いと思う。

14: ejointjp 2026/05/24 21:04

コマンドプロンプトとかWindows PowerShellとかなんかとっ散らかってんだよな。

15: hylom 2026/05/24 21:16

Store版は管理権限を持つユーザーでもアクセスできないディレクトリ下にインストールされるのでちょっと面倒くさくなることがあるんですよね

16: eos2323 2026/05/24 21:19

便利だけど配布まで考えると面倒なのでやっぱりコマンドプロンプト並みの緩さが欲しい

17: nonsect 2026/05/24 21:29

Codex が意味不明なコマンドを唱えてたのでなんだろう?と思ったらPowerShellだった。おれは WSL2 を入れた。

18: hiduru_k 2026/05/24 21:35

@{}でkey-valueを作ってそれを[PSCustomObject]でキャストすると、プロパティ名がkeyで値がvalueのオブジェクトになるテクニックが便利なんだけど、どのくらい正しいやり方なのかがよくわかんない

19: yorkfield 2026/05/24 21:42

cmd.exeよりは遙かにましなプログラミング言語だし、結構好きなんだけど、落とし穴的な仕様が多いんだよなあ。-LiteralPathが事実上必須とか、Get-ChildItemが要素数1だと配列を返さないとか、標準出力がreturnに混ざるとか。

20: Shinwiki 2026/05/24 21:49

“2つめはWindows Scripting Host(WSH)のVBScriptとJavaScript” JScript

21: bamch0h 2026/05/24 22:11

mklink-d なんてのがあるのか。つかってみよ。

22: PEEE 2026/05/24 22:19

PowerShellクラスも使えるしテストも書けるしデバッガも使えるんだけど、触ってみた感じどうにも耐えられなくなってC#でバイナリコマンドレット書いてしまう

23: fhvbwx 2026/05/24 22:25

コマンドがみんなNew-~とかGet-~とかで始まるから入力補完が効かなすぎる。LLMに全部お任せるするならBatchでもいいのでは?になる。

24: sechs 2026/05/24 22:33

git bashでshell script使うのでいいやと思って覚える気がなくなったな。便利なんだろうけどやりたいことできるし。

25: asitanoyamasita 2026/05/24 22:51

プログラミング全然わからんけど、AIに聞いたらこれとぱいそん?ぎっと?かなんかで上手いことやって、今まで手作業でやってたことを自動化できるツール作ってくれて助かる(無知j

26: rkosaka 2026/05/24 22:59

慣れると結構便利で、むしろWSLの方が中途半端に感じる。

27: ouj3 2026/05/24 23:03

可読性が高いとは思えんのよね。野心的だけどコードが野晒しになった時のインパクトが強すぎて、近寄りたくない。

28: chintaro3 2026/05/24 23:08

 他に方法が無い場合以外、積極的には使ってない。

29: udukishin 2026/05/24 23:11

パイプという名のメソッドチェーンが便利なのでよく使う。ただプリインストールされてる旧powershellは文字コードがutf16なのが不便

30: FreeCatWork 2026/05/24 23:17

むむ!パワフルなシェルの話にゃ!ボクにもできるかにゃ? 🐾

31: keidge 2026/05/24 23:21

Windows管理系のバックエンドは、ほぼPowerShellに置き換わった感がある。個人的には、GUIでポチポチやるよりPowerShellでやるほうが楽。処理対象の数が多いと特に。

32: meganeya3 2026/05/24 23:42

powershellは言語寄り過ぎて素人が読み下しづらいし、セキュリティでps1そのまま叩けないからバッチコマンドの代替にならず、誰が得してるのかよくわからない

33: hiroomi 2026/05/24 23:44

7を改めて入れることはないな。5.1で他のサービスとの取次的なことを生成してもらってる。

34: labor9 2026/05/24 23:45

ほかの言語やDOSコマンド(BAT含む)が分かってたら生成AI使えばほとんど問題ない。 問題はPS1ファイルがD&Dに対応してない(ダブルクリック起動しない)ため、それ用のショートカットやVBS挟まなくちゃいけないのでめんどい。

35: tacamula 2026/05/24 23:50

昔仕事でちょっと触れたな…パッと思い出すには複雑で再利用するには微妙な機能性でそれぞれもっと得意なツール・言語があるなという印象

36: tettekete37564 2026/05/25 00:03

Windows の CLI 環境ってカオスだよな。よくこんなんで mac 腐せるな、と。Win じゃクソ重い git bash しか使わんが。

37: Kenju 2026/05/25 00:04

Windows稼働で気軽に作ろうとするとpowershellになってしまうので使うには使うけど、正直あまり好きではない。WSHのJavaScriptをそのまま強化してほしかった

38: koseki 2026/05/25 00:09

インストールが必要でインストールの方法が5つある???

39: igni3 2026/05/25 00:13

zshとかせめてbashを標準にしてくれれば良かった

40: n_vermillion 2026/05/25 00:13

PowerShell一時期覚えようかと思っていたが個人用途ではWSLでLinux使えるようになったのでもうええか…ってなってそのままになってる。cmdよりマシなのは間違いない。

41: gambol 2026/05/25 00:35

Pesterやってみたかったから良情報コメ発生する記事を作ってくれてありがとう。

42: tengo1985 2026/05/25 00:49

すべてがオブジェクトなのは意欲的だったと思うけれど、Windowsを操作したいとき以外は使いたくないな。.NETで育ってる人は好きなのかもしれないけれど。

43: ynxdaz 2026/05/25 00:56

パイプでオブジェクトを流す思想に惚れ込んでずっと使ってます。ネイティブでJSON/CSV/XML読み書きをサポート、パイプでselect、group by のようなSQL系コマンドに流すのも簡単。もうwhile readには非生産的すぎて戻れないですね

44: houyhnhm 2026/05/25 01:05

他の人のPCでもとなると正直悩ましい。細かいコトさせてえとなったら本格的にPythonとかでいいしなあ。正直上手く刺さんない。bashくれいやホントに。tcsh使うくらいならとは思うけどさあ。

45: devgai 2026/05/25 01:14

AI時代が来る前から人間の書かない言語を作ったMicrosoftはすごい

46: door-s-dev 2026/05/25 01:47

cmdよりはだいぶマシなんだけどちょっとしたスクリプト書くにはごてごてしてるんよなぁ

47: k_igrs 2026/05/25 02:11

git bashがあるのでいらないかな。デフォルトでこれをつけて。

48: ku__ra__ge 2026/05/25 02:12

ファイル名に普通に使える"["と"]"をワイルドカードを示すメタ文字にした仕様は許せん。 コマンド「ls "file[12].txt"」は、「file1.txt」「file2.txt」を取得するが「file[12].txt」という名前のファイルを取得しない。

49: ublftbo 2026/05/25 05:58

WSHをランチャーにしてPSから.NETを使えば、ビルド不要のGUIアプリケーションが作れてほとんど何でも出来るので、業務補助ツール等の開発には最適です。Windowsだと、とにかくパイプラインが強力。

50: orgue 2026/05/25 06:33

cmdしか使っておらず、よー分からんまま何やら打つのが面倒な言語という認識で来てしまった。覚えるの面倒だしせめてbashと同じだったらよかったのに

51: degucho 2026/05/25 06:44

「cmd.exeはもはやほとんど利用されていないはずだ」そうかなあ。cmdとか5で足りない場合はPythonみたいなとこ多そう

52: ryouchi 2026/05/25 06:56

そんなことはない(おっさん)“Windows 10以降、powershell.exe(Windows PowerShell)が、標準的なコンソールシェル(コマンドラインインタプリタ)となったため、cmd.exeはもはやほとんど利用されていないはずだ。”

53: zkq 2026/05/25 07:25

必要があって勉強したけど学習コスト高かったな。便利ではあるが

54: quality1 2026/05/25 07:42

最近は知らないけどちょっと前はAIもPowerShellにエラーに苦戦してて「ああ、君もわからないなら俺がわからないのも当然だな」という気持ちになった

55: knitcapmann 2026/05/25 08:26

Windowsを使うために新たに何かを学習する気はさらさらないのです。

56: teramako 2026/05/25 08:34

WSL上にpowershell をインストールして使ってる。Linux の外部コマンドと両方使えて便利

57: JULY 2026/05/25 08:47

PowerShell のパイプって、UNIX 系 OS のパイプと違って、ストリームとしてデータが流れず、オブジェクト丸ごと渡すが故に、大きなデータは扱えない、という印象があるんだけど、なんか回避方法はあるのかなぁ。

58: urtz 2026/05/25 09:16

PowerShellは生理的にも宗教的にも受け付けない。

59: restroom 2026/05/25 09:30

PowerShellをcmd代わりにしか使ってない……

60: sucelie 2026/05/25 09:55

cmdばっかり使ってる。pwshは従来のコマンドまで壊す意味あったんかな?スクリプトはAI任せで覚える気なし。

61: Guro 2026/05/25 10:00

標準で(インストールしないと)使えないのに、標準スクリプトなのか。なんとかならんのかなあ。

62: delphinus35 2026/05/25 10:02

PowerShellは普通の言語と思想が違い過ぎていて覚える気にならんのだが、今初めてBashみたら同じ感想を抱いたと思うな。

63: secseek 2026/05/25 12:04

これ意外と多機能で驚きます

64: strawberryhunter 2026/05/25 15:04

ps1ファイルを作っても実行するためにbatを作るやつ。もちろん全部coding agent任せ。

65: misshiki 2026/05/25 16:08

PowerShellの現状解説。Windows標準のpowershell.exeは互換性重視、現在のpwsh.exeは機能向上重視で手動インストールが必要。Microsoft推奨はWinGetだが、初回はMSIでGUI設定する方法も紹介。pwshとWinGetを使ってる。

66: striderkein 2026/05/26 08:54

あまりに複雑すぎて途中で読むのをやめた