OSS探訪

PowerShell — .NET object pipelineでsystem管理・API・structured dataを自動化するshell

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
55,454
主要言語
C#
ライセンス
MIT
リポジトリ最終更新
2026/09/18

概要

PowerShellは、Windows、Linux、macOSで動作するcommand-line shell、scripting language、cmdlet frameworkです。pipelineで単なるtextではなく.NET objectを渡せるため、process、file、JSON/CSV/XML、REST APIなどのstructured dataをproperty単位で処理しながらautomationを組めます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

objectをpipelineでつないでfilter・sort・変換する

cmdletの出力を.NET objectのまま次のcmdletへ渡し、propertyを指定してWhere-ObjectSort-ObjectSelect-Objectなどで処理できます。

出典:[2][4]

OS管理・REST API・structured dataを同じshellで扱う

system commandに加えてJSON、CSV、XML、REST API、.NET object modelを組み合わせ、管理scriptやCI処理を構築できます。

出典:[2]

cross-platformな運用script・管理automationを共通化したい場合に

Windows中心のsystem管理だけでなくLinux/macOSを含め、object指向のpipelineで管理処理を共通化したい用途に向きます。

出典:[2][4]

Windows PowerShell 5.1とPowerShell 7+を混同しない

READMEではこのrepositoryの変更はWindows PowerShell 5.1へportされず、issueもPowerShell 7.x+のみを対象とすると明記されています。既存Windows scriptではmodule/command互換性を確認してください。

出典:[2]

参考にした公式資料

  1. [1]PowerShell/PowerShell repository(2026-09-20)
  2. [2]PowerShell README(2026-09-20)
  3. [3]PowerShell MIT license(2026-09-20)
  4. [4]PowerShell documentation(2026-09-20)
編集部からの補足

Unix shellのtext pipelineと異なり、PowerShellはcmdlet間で.NET objectを渡せるため、propertyを保ったままfilter・sort・JSON化できます。このrepositoryはPowerShell 7.x+が対象で、Windowsに標準搭載されるWindows PowerShell 5.1とは開発系統が別です。

3ステップで試す

  1. 1

    PowerShell 7+を導入

    Windows、macOS、LinuxのOSに合う公式手順でPowerShell 7+を導入します。

    https://learn.microsoft.com/powershell/scripting/install/installing-powershell
  2. 2

    object pipelineを試す

    process objectのpropertyを保ったままsort・selectするPowerShellの基本を確認します。

    pwsh -NoProfile -Command "Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 Name,CPU"
  3. 3

    JSONをobjectとして処理

    textをparseしてobject化し、property単位で処理できることを確認します。

    pwsh -NoProfile -Command "'{"name":"demo","enabled":true}' | ConvertFrom-Json | Select-Object name,enabled"
公式READMEで確認

成長

成長の推移 · 直近30日

55,454 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
42
Open PR
327
Issue登録
117
Issue解決
93
PR登録
273
PRマージ
169

Issues

117 / 93

6月23日9月20日
Issue登録Issue解決

Pull Requests

273 / 169

6月23日9月20日
PR登録PRマージ

メンテナンス状況

Issue初回応答中央値
33時間
Issue応答率
38.9% (35/90)

直近90日に外部から作成されたIssue(新しい順に最大100件)が対象です。OWNER・MEMBER・COLLABORATORによる最初のコメントを応答とし、全コメントを確認できないIssueは集計から除外します。中央値と応答率は週次更新です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • powershell
  • windows
  • macos
  • linux
  • command-line
  • shell
  • netcore
  • hacktoberfest
Stars
55,454
Forks
8,459
Watchers
1,455
Open Issues
1,271
Contributors
373
主要言語
C#
ライセンス
MIT
リポジトリ最終更新
2026/09/18

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。