{"slug": "powershell", "name": "PowerShell", "category": "terminal", "category_name": "Terminal and shell", "description": "Microsoft's cross-platform, object-based command shell and scripting language built on .NET.", "recommenders": 11, "commenters": 19, "warners": 2, "score": 9.633, "rising": 0.38, "first": "2025-11-12", "latest": "2026-10-22", "why": "HN commenters like PowerShell for piping structured objects between commands instead of plain text, for discoverable, consistently named commands, and for Windows administration and automation.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 12, "neutral": 6, "compare": 1, "warn": 2}, "spark": [1, 1, 2, 1, 1, 0, 0, 1, 2, 0, 0, 3], "listed": true, "loved": ["Structured objects", "Windows administration"], "caveat": "Complexity", "short_quote": "Powershell is so good that I find it strange it didn't get to be default at least in some Linux distributins", "icon": true, "domain": "cgl.sh", "github_repo": null, "official_url": "https://learn.microsoft.com/powershell/", "pricing": "open source", "aliases": ["PowerShell"], "verdict": [{"text": "HN commenters like PowerShell for piping structured objects between commands instead of plain text,", "cites": [{"id": 744482528, "item_id": 46530158, "url": "https://news.ycombinator.com/item?id=46530158", "by": "UltraSane", "date": "2026-01-07", "stance": "recommend", "quote": "If you haven't tried PowerShell I strongly recommend you do.", "excerpt": "If you haven't tried PowerShell I strongly recommend you do. It is really well designed and the way objects are piped between commands is brilliant and very powerful. Combined with property filters you can do SQL like queries. The ConvertTo-JSON lets you export the output of any command to JSON which is amazingly useful. As an example you can dump the entire Active Directory (Assuming you have permissions) by Get-ADO", "context": "", "use_case": "shell scripting with piped objects", "switched_from": "", "story": "The Case for Nushell (2023)"}, {"id": 734387632, "item_id": 45899227, "url": "https://news.ycombinator.com/item?id=45899227", "by": "jcgl", "date": "2025-11-12", "stance": "recommend", "quote": "focus more deeply on the profoundly superior composition that you can only have once you get self-describing objects over stdio instead of plain bytes.", "excerpt": "> Heresy warning. Maybe the inputs and outputs don\u2019t look anything like CLI or stdio text. Maybe we move on from 1000-different DSLs (each CLI\u2019s unique input parameters and output formats) and make inputs and outputs object shaped. Maybe we make the available set of objects, methods and schemas discoverable in the terminal API. Entirely agree. Stdio text (which is really just stdio bytes) deeply limits how composable", "context": "", "use_case": "shell scripting with object pipelines", "switched_from": "", "story": "The terminal of the future"}, {"id": 781796417, "item_id": 48862276, "url": "https://news.ycombinator.com/item?id=48862276", "by": "cassepipe", "date": "2026-07-10", "stance": "compare", "quote": "what does powershell do better than nushell ?", "excerpt": "> I want to make the terminal a special place for applications. The PTY\u2019s in-band signalling (an unstructured byte stream with escape sequences) is a big problem. The Nushell ecosystem tries to fix it with another layer, but we need a fundamental improvement. Many people dislike the Microsoft ecosystem, but PowerShell gets a lot right with structured data. I wish they would say more. The little nushell I used was a r", "context": "", "use_case": "structured shell", "switched_from": "", "story": "Interview with Mitchell Hashimoto about Ghostty and Zig"}]}, {"text": " for discoverable, consistently named commands,", "cites": [{"id": 803073040, "item_id": 50192065, "url": "https://news.ycombinator.com/item?id=50192065", "by": "majkinetor", "date": "2026-10-22", "stance": "recommend", "quote": "I use aliases so its as quick as with bash, but I am faster as I don't have to lookup for params due to fantastic discovery and usability features.", "excerpt": "No. I use aliases so its as quick as with bash, but I am faster as I don't have to lookup for params due to fantastic discovery and usability features. With longer commands, auto complete is also viable. I hate some long forms, like % vs ForEach-Object and ? vs Where-Object, its just ludicrious that someone would insisit in using full forms of those. Things like `ps | ? name -like w*` or `1..10 | % { irm https://.../", "context": "", "use_case": "interactive shell and scripting", "switched_from": "", "story": "I can't believe PowerShell is good"}, {"id": 801703616, "item_id": 50106476, "url": "https://news.ycombinator.com/item?id=50106476", "by": "andy81", "date": "2026-10-15", "stance": "recommend", "quote": "I love knowing that a \"Get-Foo\" function in a library I've never before isn't going to have side-effects", "excerpt": "I love knowing that a \"Get-Foo\" function in a library I've never before isn't going to have side-effects (unless malicious). Conventions are great for UX. https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/approved-verbs-for-windows-powershell-commands", "context": "", "use_case": "", "switched_from": "", "story": "Wayland desktop for Linux with skeuomorphic design"}]}, {"text": " and for Windows administration and automation.", "cites": [{"id": 803063184, "item_id": 50191449, "url": "https://news.ycombinator.com/item?id=50191449", "by": "d3Xt3r", "date": "2026-10-22", "stance": "recommend", "quote": "PowerShell has been great for a long time, well, since at least v5.1", "excerpt": "Windows sysadmin here. PowerShell has been great for a long time, well, since at least v5.1, when they finally fixed many of the annoying issues and limitations of earlier versions. I practically live in it the whole day - 90%+ of my work life is in PowerShell these days. But I question its utility on other platforms, because a lot of the things that makes PowerShell cool on Windows doesn't actually work in Linux or ", "context": "Windows sysadmin", "use_case": "Windows sysadmin scripting", "switched_from": "", "story": "I can't believe PowerShell is good"}, {"id": 742967233, "item_id": 46435452, "url": "https://news.ycombinator.com/item?id=46435452", "by": "rewilder12", "date": "2025-12-30", "stance": "recommend", "quote": "My go-to for automation will always be powershell", "excerpt": "I've tried Go scripting but would still still prefer python (uv is a game changer tbh). My go-to for automation will always be powershell (on linux) though. It's too bad PowerShell has the MSFT ick keeping people away from adopting it for automation. I can convince you to give it a try if you let me", "context": "", "use_case": "automation on Linux", "switched_from": "", "story": "Go Away Python"}, {"id": 781409474, "item_id": 48838092, "url": "https://news.ycombinator.com/item?id=48838092", "by": "d3Xt3r", "date": "2026-07-08", "stance": "neutral", "quote": "So I pivoted to the scripting system that was there, and didn't need any approvals, which is of course PowerShell.", "excerpt": "I used to be and think like you, except I used AutoHotkey instead. It kicked off my IT career - writing AHK scripts for the helpdesk I used to work at greatly improved the efficiency of the team, and quickly got me promoted to Tier 2. Eventually I left that organisation and joined an MSP. Suddenly, there were a lot more restrictions. I had multiple servers and isolated environments to look after. We were not allowed ", "context": "MSP IT worker", "use_case": "scripting at MSP", "switched_from": "AutoHotkey", "story": "Why I Still Build Small Windows Tools with AutoIt"}]}, {"text": " The most common complaint is that it is overcomplicated and full of footguns,", "cites": [{"id": 803070048, "item_id": 50191878, "url": "https://news.ycombinator.com/item?id=50191878", "by": "bloaf", "date": "2026-10-22", "stance": "warn", "quote": "I use Powershell a fair bit, Powershell is not good.", "excerpt": "I use Powershell a fair bit, Powershell is not good. I can see why people delude themselves into thinking its good: it does in fact let you administer systems, and it lets you avoid the pitfalls of stringly-typed scripting like bash or batch files. But being technically capable of something and being good at something are different. Powershell tried so hard to be user friendly that it wrapped around and ended up bein", "context": "regular PowerShell user", "use_case": "system administration scripting", "switched_from": "", "story": "I can't believe PowerShell is good"}, {"id": 783051072, "item_id": 48940692, "url": "https://news.ycombinator.com/item?id=48940692", "by": "jrapdx3", "date": "2026-07-16", "stance": "warn", "quote": "Seems like PS was designed under the motto, \"The choice: why make it simple when we can make it complicated?\"", "excerpt": "How right you are! I use PowerShell when I have to. Seems like PS was designed under the motto, \"The choice: why make it simple when we can make it complicated?\"", "context": "", "use_case": "", "switched_from": "", "story": "56,000 lines of DOOM, in a language I made up"}]}, {"text": " and one admin notes that Windows cmdlets like Get-Service don't carry over to Linux.", "cites": [{"id": 803063184, "item_id": 50191449, "url": "https://news.ycombinator.com/item?id=50191449", "by": "d3Xt3r", "date": "2026-10-22", "stance": "recommend", "quote": "PowerShell has been great for a long time, well, since at least v5.1", "excerpt": "Windows sysadmin here. PowerShell has been great for a long time, well, since at least v5.1, when they finally fixed many of the annoying issues and limitations of earlier versions. I practically live in it the whole day - 90%+ of my work life is in PowerShell these days. But I question its utility on other platforms, because a lot of the things that makes PowerShell cool on Windows doesn't actually work in Linux or ", "context": "Windows sysadmin", "use_case": "Windows sysadmin scripting", "switched_from": "", "story": "I can't believe PowerShell is good"}]}], "praise": [{"label": "Structured objects", "summary": "Passing objects rather than text between commands enables powerful composition and SQL-like filtering.", "quotes": [{"id": 744482528, "item_id": 46530158, "url": "https://news.ycombinator.com/item?id=46530158", "by": "UltraSane", "date": "2026-01-07", "stance": "recommend", "quote": "If you haven't tried PowerShell I strongly recommend you do.", "excerpt": "If you haven't tried PowerShell I strongly recommend you do. It is really well designed and the way objects are piped between commands is brilliant and very powerful. Combined with property filters you can do SQL like queries. The ConvertTo-JSON lets you export the output of any command to JSON which is amazingly useful. As an example you can dump the entire Active Directory (Assuming you have permissions) by Get-ADO", "context": "", "use_case": "shell scripting with piped objects", "switched_from": "", "story": "The Case for Nushell (2023)"}, {"id": 734387632, "item_id": 45899227, "url": "https://news.ycombinator.com/item?id=45899227", "by": "jcgl", "date": "2025-11-12", "stance": "recommend", "quote": "focus more deeply on the profoundly superior composition that you can only have once you get self-describing objects over stdio instead of plain bytes.", "excerpt": "> Heresy warning. Maybe the inputs and outputs don\u2019t look anything like CLI or stdio text. Maybe we move on from 1000-different DSLs (each CLI\u2019s unique input parameters and output formats) and make inputs and outputs object shaped. Maybe we make the available set of objects, methods and schemas discoverable in the terminal API. Entirely agree. Stdio text (which is really just stdio bytes) deeply limits how composable", "context": "", "use_case": "shell scripting with object pipelines", "switched_from": "", "story": "The terminal of the future"}, {"id": 781796417, "item_id": 48862276, "url": "https://news.ycombinator.com/item?id=48862276", "by": "cassepipe", "date": "2026-07-10", "stance": "compare", "quote": "what does powershell do better than nushell ?", "excerpt": "> I want to make the terminal a special place for applications. The PTY\u2019s in-band signalling (an unstructured byte stream with escape sequences) is a big problem. The Nushell ecosystem tries to fix it with another layer, but we need a fundamental improvement. Many people dislike the Microsoft ecosystem, but PowerShell gets a lot right with structured data. I wish they would say more. The little nushell I used was a r", "context": "", "use_case": "structured shell", "switched_from": "", "story": "Interview with Mitchell Hashimoto about Ghostty and Zig"}]}, {"label": "Windows administration", "summary": "Windows sysadmins use it for most of their daily work, and it is available on locked-down machines without approvals.", "quotes": [{"id": 803063184, "item_id": 50191449, "url": "https://news.ycombinator.com/item?id=50191449", "by": "d3Xt3r", "date": "2026-10-22", "stance": "recommend", "quote": "PowerShell has been great for a long time, well, since at least v5.1", "excerpt": "Windows sysadmin here. PowerShell has been great for a long time, well, since at least v5.1, when they finally fixed many of the annoying issues and limitations of earlier versions. I practically live in it the whole day - 90%+ of my work life is in PowerShell these days. But I question its utility on other platforms, because a lot of the things that makes PowerShell cool on Windows doesn't actually work in Linux or ", "context": "Windows sysadmin", "use_case": "Windows sysadmin scripting", "switched_from": "", "story": "I can't believe PowerShell is good"}, {"id": 781409474, "item_id": 48838092, "url": "https://news.ycombinator.com/item?id=48838092", "by": "d3Xt3r", "date": "2026-07-08", "stance": "neutral", "quote": "So I pivoted to the scripting system that was there, and didn't need any approvals, which is of course PowerShell.", "excerpt": "I used to be and think like you, except I used AutoHotkey instead. It kicked off my IT career - writing AHK scripts for the helpdesk I used to work at greatly improved the efficiency of the team, and quickly got me promoted to Tier 2. Eventually I left that organisation and joined an MSP. Suddenly, there were a lot more restrictions. I had multiple servers and isolated environments to look after. We were not allowed ", "context": "MSP IT worker", "use_case": "scripting at MSP", "switched_from": "AutoHotkey", "story": "Why I Still Build Small Windows Tools with AutoIt"}, {"id": 759437024, "item_id": 47464814, "url": "https://news.ycombinator.com/item?id=47464814", "by": "jiggawatts", "date": "2026-03-21", "stance": "recommend", "quote": "PowerShell, which is more UNIX than UNIX, and blows every legacy shell on Linux out of the water.", "excerpt": "> 1. deprecated lol It launches by default on new installs of Windows Server 2025! > 2. i think it can't be run on things like AD, so for very small companies this is annoying In \"Preview\", which is a sad state of affairs: https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/use/manage-servers#active-directory-preview > 3. ... that's not really an admin app? I was just listing stuff that gener", "context": "Windows Server admin", "use_case": "Windows administration", "switched_from": "", "story": "Our Commitment to Windows Quality"}]}, {"label": "Discoverability", "summary": "Parameter autocomplete, verb naming conventions and docs generated from comments make unfamiliar commands easy to use.", "quotes": [{"id": 803073040, "item_id": 50192065, "url": "https://news.ycombinator.com/item?id=50192065", "by": "majkinetor", "date": "2026-10-22", "stance": "recommend", "quote": "I use aliases so its as quick as with bash, but I am faster as I don't have to lookup for params due to fantastic discovery and usability features.", "excerpt": "No. I use aliases so its as quick as with bash, but I am faster as I don't have to lookup for params due to fantastic discovery and usability features. With longer commands, auto complete is also viable. I hate some long forms, like % vs ForEach-Object and ? vs Where-Object, its just ludicrious that someone would insisit in using full forms of those. Things like `ps | ? name -like w*` or `1..10 | % { irm https://.../", "context": "", "use_case": "interactive shell and scripting", "switched_from": "", "story": "I can't believe PowerShell is good"}, {"id": 801703616, "item_id": 50106476, "url": "https://news.ycombinator.com/item?id=50106476", "by": "andy81", "date": "2026-10-15", "stance": "recommend", "quote": "I love knowing that a \"Get-Foo\" function in a library I've never before isn't going to have side-effects", "excerpt": "I love knowing that a \"Get-Foo\" function in a library I've never before isn't going to have side-effects (unless malicious). Conventions are great for UX. https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/approved-verbs-for-windows-powershell-commands", "context": "", "use_case": "", "switched_from": "", "story": "Wayland desktop for Linux with skeuomorphic design"}, {"id": 784894864, "item_id": 49055929, "url": "https://news.ycombinator.com/item?id=49055929", "by": "refp", "date": "2026-07-26", "stance": "recommend", "quote": "powershell - felt like the lover I never had.", "excerpt": "DUDE! I wrote my first real `.ps1` the other day for auto-installing all dependencies needed to run a `gitea`-runner on windows for windows builds; powershell - felt like the lover I never had. And the documentation in readable comments at the top that just.. generates usable docs? Damn, damn, damn. There is a part of me that low-key wanna try that as my daily driver for a week or two. But with that said, I'm a zsh v", "context": "zsh vi-mode user", "use_case": "scripting dependency installs", "switched_from": "", "story": "A shell colon does nothing. Use it anyway."}]}, {"label": "Automation", "summary": "Commenters make it their go-to for automation scripts, including on Linux.", "quotes": [{"id": 742967233, "item_id": 46435452, "url": "https://news.ycombinator.com/item?id=46435452", "by": "rewilder12", "date": "2025-12-30", "stance": "recommend", "quote": "My go-to for automation will always be powershell", "excerpt": "I've tried Go scripting but would still still prefer python (uv is a game changer tbh). My go-to for automation will always be powershell (on linux) though. It's too bad PowerShell has the MSFT ick keeping people away from adopting it for automation. I can convince you to give it a try if you let me", "context": "", "use_case": "automation on Linux", "switched_from": "", "story": "Go Away Python"}, {"id": 753434016, "item_id": 47089626, "url": "https://news.ycombinator.com/item?id=47089626", "by": "WorldMaker", "date": "2026-02-20", "stance": "recommend", "quote": "I use this PowerShell variant:", "excerpt": "I use this PowerShell variant: function Remove-GitBranches { git branch --merged | Out-GridView -Title \"Branches to Remove?\" -OutputMode Multiple | % { git branch -d $_.Trim() } } `Out-GridView` gives you a quick popup dialog with all the branch names that supports easy multi-select. That way you get a quick preview of what you are cleaning up and can skip work in progress branch names that you haven't committed anyt", "context": "", "use_case": "cleaning up git branches", "switched_from": "", "story": "I found a useful Git one liner buried in leaked CIA developer docs"}, {"id": 790509200, "item_id": 49406825, "url": "https://news.ycombinator.com/item?id=49406825", "by": "csydas", "date": "2026-08-23", "stance": "neutral", "quote": "We use a simple PowerShell script to run the check", "excerpt": "Didn't use AI for it, but had similar request for our team and we found it easier to build a tool that checks against our defined style-guide and auto-fixes what it can as opposed to generating and reporting on other violations of style guide. The idea was similar to latex, don't think about design while creating and let the tool flag / enforce the style-guide and design, and reviewers don't need to focus so much on ", "context": "", "use_case": "checking office docs against style-guide", "switched_from": "", "story": "What's in a PowerPoint File?"}]}, {"label": ".NET integration", "summary": "It gives access to the full .NET library and is supported by third-party tools like SQL Server and VMware.", "quotes": [{"id": 744482528, "item_id": 46530158, "url": "https://news.ycombinator.com/item?id=46530158", "by": "UltraSane", "date": "2026-01-07", "stance": "recommend", "quote": "If you haven't tried PowerShell I strongly recommend you do.", "excerpt": "If you haven't tried PowerShell I strongly recommend you do. It is really well designed and the way objects are piped between commands is brilliant and very powerful. Combined with property filters you can do SQL like queries. The ConvertTo-JSON lets you export the output of any command to JSON which is amazingly useful. As an example you can dump the entire Active Directory (Assuming you have permissions) by Get-ADO", "context": "", "use_case": "shell scripting with piped objects", "switched_from": "", "story": "The Case for Nushell (2023)"}, {"id": 803073456, "item_id": 50192091, "url": "https://news.ycombinator.com/item?id=50192091", "by": "majkinetor", "date": "2026-10-22", "stance": "recommend", "quote": "Its not slop for one. Take a look at repo and its practices. Its mind blowing and predates AI.", "excerpt": "Such a drama without a reason. Its not slop for one. Take a look at repo and its practices. Its mind blowing and predates AI. Nushell is nice, but lets not get carried away - it is decade away from pwsh, and suffers from the same things you complained, with language and semantics that are not intutive as pwsh's and not nearly as complete. Besides, so many 3rd party supports pwsh like Sql Server, VMware etc. I agree t", "context": "", "use_case": "", "switched_from": "", "story": "I can't believe PowerShell is good"}, {"id": 776601042, "item_id": 48537565, "url": "https://news.ycombinator.com/item?id=48537565", "by": "tenderfault", "date": "2026-06-15", "stance": "recommend", "quote": "I like powershell and the dotnet platform", "excerpt": "I switched to Windows 10 as my main development machine few years ago after 25 years of continuously crashing Linux with an enormous pleasure. FreeBSD, well, there's nothing to crash there, that's the problem with it. Nothing. I didn't know almost anything about this Windows OS so I just started playing some sort of whac-a-mole game with it. I don't know what I did but right now I'm a happy (windows 11) user. I use H", "context": "", "use_case": "shell", "switched_from": "", "story": "Windows 11 users are tired of MS account requirements creeping into everything"}]}], "caveats": [{"label": "Complexity", "summary": "Some regular users find it overcomplicated, with footguns and magic features that break things.", "quotes": [{"id": 803070048, "item_id": 50191878, "url": "https://news.ycombinator.com/item?id=50191878", "by": "bloaf", "date": "2026-10-22", "stance": "warn", "quote": "I use Powershell a fair bit, Powershell is not good.", "excerpt": "I use Powershell a fair bit, Powershell is not good. I can see why people delude themselves into thinking its good: it does in fact let you administer systems, and it lets you avoid the pitfalls of stringly-typed scripting like bash or batch files. But being technically capable of something and being good at something are different. Powershell tried so hard to be user friendly that it wrapped around and ended up bein", "context": "regular PowerShell user", "use_case": "system administration scripting", "switched_from": "", "story": "I can't believe PowerShell is good"}, {"id": 783051072, "item_id": 48940692, "url": "https://news.ycombinator.com/item?id=48940692", "by": "jrapdx3", "date": "2026-07-16", "stance": "warn", "quote": "Seems like PS was designed under the motto, \"The choice: why make it simple when we can make it complicated?\"", "excerpt": "How right you are! I use PowerShell when I have to. Seems like PS was designed under the motto, \"The choice: why make it simple when we can make it complicated?\"", "context": "", "use_case": "", "switched_from": "", "story": "56,000 lines of DOOM, in a language I made up"}]}, {"label": "Non-Windows gaps", "summary": "Windows-specific cmdlets such as Get-Service don't work with systemd on Linux, though another commenter says pwsh runs better on macOS and Linux.", "quotes": [{"id": 803063184, "item_id": 50191449, "url": "https://news.ycombinator.com/item?id=50191449", "by": "d3Xt3r", "date": "2026-10-22", "stance": "recommend", "quote": "PowerShell has been great for a long time, well, since at least v5.1", "excerpt": "Windows sysadmin here. PowerShell has been great for a long time, well, since at least v5.1, when they finally fixed many of the annoying issues and limitations of earlier versions. I practically live in it the whole day - 90%+ of my work life is in PowerShell these days. But I question its utility on other platforms, because a lot of the things that makes PowerShell cool on Windows doesn't actually work in Linux or ", "context": "Windows sysadmin", "use_case": "Windows sysadmin scripting", "switched_from": "", "story": "I can't believe PowerShell is good"}, {"id": 743696933, "item_id": 46481058, "url": "https://news.ycombinator.com/item?id=46481058", "by": "lkglglgllm", "date": "2026-01-03", "stance": "recommend", "quote": "Dotnet and powershell (pwsh) actually works better in both macos and in Linux, than in windows.", "excerpt": "Heavily invested in Microsoft tech, but not using windows. At all. Couldn\u2019t be happier. Due to word being too buggy, I switched to libre office in windows. Local outlook was also too buggy in windows, I ended up running the web version. Switched to vscode b/c VS was to buggy and slow. Teams works better in macos. Web version of teams is ok in Linux, you don\u2019t want to run the native app in windows, it\u2019s a resource hog", "context": "", "use_case": "scripting", "switched_from": "", "story": "2026 will be my year of the Linux desktop"}]}, {"label": "Microsoft stigma", "summary": "Its association with Microsoft keeps some people from adopting it.", "quotes": [{"id": 742967233, "item_id": 46435452, "url": "https://news.ycombinator.com/item?id=46435452", "by": "rewilder12", "date": "2025-12-30", "stance": "recommend", "quote": "My go-to for automation will always be powershell", "excerpt": "I've tried Go scripting but would still still prefer python (uv is a game changer tbh). My go-to for automation will always be powershell (on linux) though. It's too bad PowerShell has the MSFT ick keeping people away from adopting it for automation. I can convince you to give it a try if you let me", "context": "", "use_case": "automation on Linux", "switched_from": "", "story": "Go Away Python"}]}, {"label": "Unix habits", "summary": "Long-time Unix users still reach for familiar tools like head, tail and cut instead.", "quotes": [{"id": 773975249, "item_id": 48373453, "url": "https://news.ycombinator.com/item?id=48373453", "by": "EvanAnderson", "date": "2026-06-02", "stance": "neutral", "quote": "I certainly do make a lot of use of Powershell", "excerpt": "I would have liked to see head, tail, tr, uniq, and cut. I end up dragging over the old \"gnuwin32\" versions of those to a lot of Windows machines. Those are my go-to tools for quick-and-dirty log analysis. I know I could use Powershell for those kinds of tasks, and I certainly do make a lot of use of Powershell, but the familiarity of those simple tools and the decades-old \"muscle memory\" of using them on various Uni", "context": "", "use_case": "scripting on Windows", "switched_from": "", "story": "Coreutils for Windows"}]}], "who": [{"by": "delis-thumbs-7e", "context": "network work, Linux user", "url": "https://news.ycombinator.com/item?id=50192047", "date": "2026-10-22"}, {"by": "d3Xt3r", "context": "Windows sysadmin", "url": "https://news.ycombinator.com/item?id=50191449", "date": "2026-10-22"}, {"by": "refp", "context": "zsh vi-mode user", "url": "https://news.ycombinator.com/item?id=49055929", "date": "2026-07-26"}, {"by": "jiggawatts", "context": "Windows Server admin", "url": "https://news.ycombinator.com/item?id=47464814", "date": "2026-03-21"}], "tags": ["for Windows sysadmins", "for automation scripting", "for .NET developers", "cross-platform"], "use_cases": ["shell", "interactive shell and scripting", "windows admin scripting", "system administration scripting", "scripting and automation", "windows sysadmin scripting"], "compared": [{"slug": "bash", "name": "Bash", "co": 5, "switched_from": 0, "switched_to": 0}, {"slug": "nushell", "name": "Nushell", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "autohotkey", "name": "AutoHotkey", "co": 1, "switched_from": 1, "switched_to": 0}, {"slug": "windows-terminal", "name": "Windows Terminal", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "net", "name": ".NET", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "visual-studio-code", "name": "Visual Studio Code", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50190959", "title": "I can't believe PowerShell is good", "mentions": 6}, {"url": "https://news.ycombinator.com/item?id=48849292", "title": "Interview with Mitchell Hashimoto about Ghostty and Zig", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50103338", "title": "Wayland desktop for Linux with skeuomorphic design", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50058242", "title": "Ask HN: What's the oldest software tool you still rely on every day?", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49360643", "title": "What's in a PowerPoint File?", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49047453", "title": "A shell colon does nothing. Use it anyway.", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {"recommend": 1}, "2026-01": {"recommend": 2}, "2026-02": {"neutral": 1, "recommend": 1}, "2026-03": {"recommend": 1}, "2026-04": {}, "2026-05": {}, "2026-06": {"neutral": 1, "recommend": 1}, "2026-07": {"neutral": 1, "recommend": 2, "compare": 1, "warn": 1}, "2026-08": {"neutral": 1}, "2026-09": {}, "2026-10": {"neutral": 2, "recommend": 3, "warn": 1}}, "quotes": [{"id": 803073456, "item_id": 50192091, "url": "https://news.ycombinator.com/item?id=50192091", "by": "majkinetor", "date": "2026-10-22", "stance": "recommend", "quote": "Its not slop for one. Take a look at repo and its practices. Its mind blowing and predates AI.", "excerpt": "Such a drama without a reason. Its not slop for one. Take a look at repo and its practices. Its mind blowing and predates AI. Nushell is nice, but lets not get carried away - it is decade away from pwsh, and suffers from the same things you complained, with language and semantics that are not intutive as pwsh's and not nearly as complete. Besides, so many 3rd party supports pwsh like Sql Server, VMware etc. I agree t", "context": "", "use_case": "", "switched_from": "", "story": "I can't believe PowerShell is good"}, {"id": 803073040, "item_id": 50192065, "url": "https://news.ycombinator.com/item?id=50192065", "by": "majkinetor", "date": "2026-10-22", "stance": "recommend", "quote": "I use aliases so its as quick as with bash, but I am faster as I don't have to lookup for params due to fantastic discovery and usability features.", "excerpt": "No. I use aliases so its as quick as with bash, but I am faster as I don't have to lookup for params due to fantastic discovery and usability features. With longer commands, auto complete is also viable. I hate some long forms, like % vs ForEach-Object and ? vs Where-Object, its just ludicrious that someone would insisit in using full forms of those. Things like `ps | ? name -like w*` or `1..10 | % { irm https://.../", "context": "", "use_case": "interactive shell and scripting", "switched_from": "", "story": "I can't believe PowerShell is good"}, {"id": 803072753, "item_id": 50192047, "url": "https://news.ycombinator.com/item?id=50192047", "by": "delis-thumbs-7e", "date": "2026-10-22", "stance": "neutral", "quote": "And PS is pretty good", "excerpt": "I think for few years MS has tried to be a bit more developer friendly. The Windows Terminal (and no, not what opens running Command Line or Powershell, it is a different application: https://en.wikipedia.org/wiki/Windows_Terminal) is kinda good actually. It\u2019s not Alacritty, but a lot better than any previous terminal emulator. I have also poked around their developer tools and they do seem to make using windows a li", "context": "network work, Linux user", "use_case": "Windows admin scripting", "switched_from": "", "story": "I can't believe PowerShell is good"}, {"id": 803070048, "item_id": 50191878, "url": "https://news.ycombinator.com/item?id=50191878", "by": "bloaf", "date": "2026-10-22", "stance": "warn", "quote": "I use Powershell a fair bit, Powershell is not good.", "excerpt": "I use Powershell a fair bit, Powershell is not good. I can see why people delude themselves into thinking its good: it does in fact let you administer systems, and it lets you avoid the pitfalls of stringly-typed scripting like bash or batch files. But being technically capable of something and being good at something are different. Powershell tried so hard to be user friendly that it wrapped around and ended up bein", "context": "regular PowerShell user", "use_case": "system administration scripting", "switched_from": "", "story": "I can't believe PowerShell is good"}, {"id": 803063712, "item_id": 50191482, "url": "https://news.ycombinator.com/item?id=50191482", "by": "majkinetor", "date": "2026-10-22", "stance": "recommend", "quote": "Powershell is so good that I find it strange it didn't get to be default at least in some Linux distributins", "excerpt": "Powershell is so good that I find it strange it didn't get to be default at least in some Linux distributins (or some proper fork/redo of it). I even used it for integrative feautures for some of my state projects serving millions of user. The fact that I have proper language, designed for shell, very efficient, not needing an IDE or anything, is quite liberating. I use it for all kinds of stuff. Here is an example t", "context": "", "use_case": "scripting and automation", "switched_from": "", "story": "I can't believe PowerShell is good"}, {"id": 803063184, "item_id": 50191449, "url": "https://news.ycombinator.com/item?id=50191449", "by": "d3Xt3r", "date": "2026-10-22", "stance": "recommend", "quote": "PowerShell has been great for a long time, well, since at least v5.1", "excerpt": "Windows sysadmin here. PowerShell has been great for a long time, well, since at least v5.1, when they finally fixed many of the annoying issues and limitations of earlier versions. I practically live in it the whole day - 90%+ of my work life is in PowerShell these days. But I question its utility on other platforms, because a lot of the things that makes PowerShell cool on Windows doesn't actually work in Linux or ", "context": "Windows sysadmin", "use_case": "Windows sysadmin scripting", "switched_from": "", "story": "I can't believe PowerShell is good"}, {"id": 801703616, "item_id": 50106476, "url": "https://news.ycombinator.com/item?id=50106476", "by": "andy81", "date": "2026-10-15", "stance": "recommend", "quote": "I love knowing that a \"Get-Foo\" function in a library I've never before isn't going to have side-effects", "excerpt": "I love knowing that a \"Get-Foo\" function in a library I've never before isn't going to have side-effects (unless malicious). Conventions are great for UX. https://learn.microsoft.com/en-us/powershell/scripting/developer/cmdlet/approved-verbs-for-windows-powershell-commands", "context": "", "use_case": "", "switched_from": "", "story": "Wayland desktop for Linux with skeuomorphic design"}, {"id": 800935009, "item_id": 50058438, "url": "https://news.ycombinator.com/item?id=50058438", "by": "PaulHoule", "date": "2026-10-12", "stance": "neutral", "quote": "I use Powershell all the time.", "excerpt": "cmd.exe is older, but ever since I started using fnm to manage node I use Powershell all the time.", "context": "", "use_case": "shell", "switched_from": "cmd.exe", "story": "Ask HN: What's the oldest software tool you still rely on every day?"}, {"id": 790509200, "item_id": 49406825, "url": "https://news.ycombinator.com/item?id=49406825", "by": "csydas", "date": "2026-08-23", "stance": "neutral", "quote": "We use a simple PowerShell script to run the check", "excerpt": "Didn't use AI for it, but had similar request for our team and we found it easier to build a tool that checks against our defined style-guide and auto-fixes what it can as opposed to generating and reporting on other violations of style guide. The idea was similar to latex, don't think about design while creating and let the tool flag / enforce the style-guide and design, and reviewers don't need to focus so much on ", "context": "", "use_case": "checking office docs against style-guide", "switched_from": "", "story": "What's in a PowerPoint File?"}, {"id": 784894864, "item_id": 49055929, "url": "https://news.ycombinator.com/item?id=49055929", "by": "refp", "date": "2026-07-26", "stance": "recommend", "quote": "powershell - felt like the lover I never had.", "excerpt": "DUDE! I wrote my first real `.ps1` the other day for auto-installing all dependencies needed to run a `gitea`-runner on windows for windows builds; powershell - felt like the lover I never had. And the documentation in readable comments at the top that just.. generates usable docs? Damn, damn, damn. There is a part of me that low-key wanna try that as my daily driver for a week or two. But with that said, I'm a zsh v", "context": "zsh vi-mode user", "use_case": "scripting dependency installs", "switched_from": "", "story": "A shell colon does nothing. Use it anyway."}, {"id": 783051072, "item_id": 48940692, "url": "https://news.ycombinator.com/item?id=48940692", "by": "jrapdx3", "date": "2026-07-16", "stance": "warn", "quote": "Seems like PS was designed under the motto, \"The choice: why make it simple when we can make it complicated?\"", "excerpt": "How right you are! I use PowerShell when I have to. Seems like PS was designed under the motto, \"The choice: why make it simple when we can make it complicated?\"", "context": "", "use_case": "", "switched_from": "", "story": "56,000 lines of DOOM, in a language I made up"}, {"id": 781796417, "item_id": 48862276, "url": "https://news.ycombinator.com/item?id=48862276", "by": "cassepipe", "date": "2026-07-10", "stance": "compare", "quote": "what does powershell do better than nushell ?", "excerpt": "> I want to make the terminal a special place for applications. The PTY\u2019s in-band signalling (an unstructured byte stream with escape sequences) is a big problem. The Nushell ecosystem tries to fix it with another layer, but we need a fundamental improvement. Many people dislike the Microsoft ecosystem, but PowerShell gets a lot right with structured data. I wish they would say more. The little nushell I used was a r", "context": "", "use_case": "structured shell", "switched_from": "", "story": "Interview with Mitchell Hashimoto about Ghostty and Zig"}, {"id": 781744465, "item_id": 48859029, "url": "https://news.ycombinator.com/item?id=48859029", "by": "jcgl", "date": "2026-07-10", "stance": "recommend", "quote": "like PowerShell a lot", "excerpt": "Great example! How do you like using elvish? Even though I am a proponent of structured data and like PowerShell a lot (mentioned in a nearby comment of mine), I use fish as my regular shell. Big fan of fish's careful focus on user experience, but would be open to trying something structured.", "context": "", "use_case": "structured data shell", "switched_from": "", "story": "Interview with Mitchell Hashimoto about Ghostty and Zig"}, {"id": 781409474, "item_id": 48838092, "url": "https://news.ycombinator.com/item?id=48838092", "by": "d3Xt3r", "date": "2026-07-08", "stance": "neutral", "quote": "So I pivoted to the scripting system that was there, and didn't need any approvals, which is of course PowerShell.", "excerpt": "I used to be and think like you, except I used AutoHotkey instead. It kicked off my IT career - writing AHK scripts for the helpdesk I used to work at greatly improved the efficiency of the team, and quickly got me promoted to Tier 2. Eventually I left that organisation and joined an MSP. Suddenly, there were a lot more restrictions. I had multiple servers and isolated environments to look after. We were not allowed ", "context": "MSP IT worker", "use_case": "scripting at MSP", "switched_from": "AutoHotkey", "story": "Why I Still Build Small Windows Tools with AutoIt"}, {"id": 776601042, "item_id": 48537565, "url": "https://news.ycombinator.com/item?id=48537565", "by": "tenderfault", "date": "2026-06-15", "stance": "recommend", "quote": "I like powershell and the dotnet platform", "excerpt": "I switched to Windows 10 as my main development machine few years ago after 25 years of continuously crashing Linux with an enormous pleasure. FreeBSD, well, there's nothing to crash there, that's the problem with it. Nothing. I didn't know almost anything about this Windows OS so I just started playing some sort of whac-a-mole game with it. I don't know what I did but right now I'm a happy (windows 11) user. I use H", "context": "", "use_case": "shell", "switched_from": "", "story": "Windows 11 users are tired of MS account requirements creeping into everything"}, {"id": 773975249, "item_id": 48373453, "url": "https://news.ycombinator.com/item?id=48373453", "by": "EvanAnderson", "date": "2026-06-02", "stance": "neutral", "quote": "I certainly do make a lot of use of Powershell", "excerpt": "I would have liked to see head, tail, tr, uniq, and cut. I end up dragging over the old \"gnuwin32\" versions of those to a lot of Windows machines. Those are my go-to tools for quick-and-dirty log analysis. I know I could use Powershell for those kinds of tasks, and I certainly do make a lot of use of Powershell, but the familiarity of those simple tools and the decades-old \"muscle memory\" of using them on various Uni", "context": "", "use_case": "scripting on Windows", "switched_from": "", "story": "Coreutils for Windows"}, {"id": 759437024, "item_id": 47464814, "url": "https://news.ycombinator.com/item?id=47464814", "by": "jiggawatts", "date": "2026-03-21", "stance": "recommend", "quote": "PowerShell, which is more UNIX than UNIX, and blows every legacy shell on Linux out of the water.", "excerpt": "> 1. deprecated lol It launches by default on new installs of Windows Server 2025! > 2. i think it can't be run on things like AD, so for very small companies this is annoying In \"Preview\", which is a sad state of affairs: https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/use/manage-servers#active-directory-preview > 3. ... that's not really an admin app? I was just listing stuff that gener", "context": "Windows Server admin", "use_case": "Windows administration", "switched_from": "", "story": "Our Commitment to Windows Quality"}, {"id": 753434016, "item_id": 47089626, "url": "https://news.ycombinator.com/item?id=47089626", "by": "WorldMaker", "date": "2026-02-20", "stance": "recommend", "quote": "I use this PowerShell variant:", "excerpt": "I use this PowerShell variant: function Remove-GitBranches { git branch --merged | Out-GridView -Title \"Branches to Remove?\" -OutputMode Multiple | % { git branch -d $_.Trim() } } `Out-GridView` gives you a quick popup dialog with all the branch names that supports easy multi-select. That way you get a quick preview of what you are cleaning up and can skip work in progress branch names that you haven't committed anyt", "context": "", "use_case": "cleaning up git branches", "switched_from": "", "story": "I found a useful Git one liner buried in leaked CIA developer docs"}, {"id": 752649136, "item_id": 47040571, "url": "https://news.ycombinator.com/item?id=47040571", "by": "ghrl", "date": "2026-02-16", "stance": "neutral", "quote": "I had just switched to PowerShell from the basic command line", "excerpt": "I did something similar while I was still working with Windows a long time ago. I had just switched to PowerShell from the basic command line and kept typing cls, which did not work. I had typed that so often it was completely in my muscle memory, and every time the ugly PowerShell error would appear. So I decided to do the proper thing and NOT alias cls to clear, but instead alias it to immediate shutdown (shutdown ", "context": "", "use_case": "Windows shell", "switched_from": "Windows command line", "story": "Suicide Linux (2009)"}, {"id": 744482528, "item_id": 46530158, "url": "https://news.ycombinator.com/item?id=46530158", "by": "UltraSane", "date": "2026-01-07", "stance": "recommend", "quote": "If you haven't tried PowerShell I strongly recommend you do.", "excerpt": "If you haven't tried PowerShell I strongly recommend you do. It is really well designed and the way objects are piped between commands is brilliant and very powerful. Combined with property filters you can do SQL like queries. The ConvertTo-JSON lets you export the output of any command to JSON which is amazingly useful. As an example you can dump the entire Active Directory (Assuming you have permissions) by Get-ADO", "context": "", "use_case": "shell scripting with piped objects", "switched_from": "", "story": "The Case for Nushell (2023)"}, {"id": 743696933, "item_id": 46481058, "url": "https://news.ycombinator.com/item?id=46481058", "by": "lkglglgllm", "date": "2026-01-03", "stance": "recommend", "quote": "Dotnet and powershell (pwsh) actually works better in both macos and in Linux, than in windows.", "excerpt": "Heavily invested in Microsoft tech, but not using windows. At all. Couldn\u2019t be happier. Due to word being too buggy, I switched to libre office in windows. Local outlook was also too buggy in windows, I ended up running the web version. Switched to vscode b/c VS was to buggy and slow. Teams works better in macos. Web version of teams is ok in Linux, you don\u2019t want to run the native app in windows, it\u2019s a resource hog", "context": "", "use_case": "scripting", "switched_from": "", "story": "2026 will be my year of the Linux desktop"}, {"id": 742967233, "item_id": 46435452, "url": "https://news.ycombinator.com/item?id=46435452", "by": "rewilder12", "date": "2025-12-30", "stance": "recommend", "quote": "My go-to for automation will always be powershell", "excerpt": "I've tried Go scripting but would still still prefer python (uv is a game changer tbh). My go-to for automation will always be powershell (on linux) though. It's too bad PowerShell has the MSFT ick keeping people away from adopting it for automation. I can convince you to give it a try if you let me", "context": "", "use_case": "automation on Linux", "switched_from": "", "story": "Go Away Python"}, {"id": 734387632, "item_id": 45899227, "url": "https://news.ycombinator.com/item?id=45899227", "by": "jcgl", "date": "2025-11-12", "stance": "recommend", "quote": "focus more deeply on the profoundly superior composition that you can only have once you get self-describing objects over stdio instead of plain bytes.", "excerpt": "> Heresy warning. Maybe the inputs and outputs don\u2019t look anything like CLI or stdio text. Maybe we move on from 1000-different DSLs (each CLI\u2019s unique input parameters and output formats) and make inputs and outputs object shaped. Maybe we make the available set of objects, methods and schemas discoverable in the terminal API. Entirely agree. Stdio text (which is really just stdio bytes) deeply limits how composable", "context": "", "use_case": "shell scripting with object pipelines", "switched_from": "", "story": "The terminal of the future"}]}