I recently had a conversation about how much I like powershell on HN. Someone called me a 'microshill' and I smiled a smile that comes with age.
I recently had a conversation about how much I like powershell on HN. Someone called me a 'microshill' and I smiled a smile that comes with age.
Feelings aside, they've done solid open source work, quality of which can't be overstated.
But... Powershell, really? The Linux subsystem exists now, you know :)
edit: the Powershell thing was just an opinion tease, come on everyone^^
Piping objects is better than parsing text.
- How sluggish it feels. A remote bash shell on a raspberry pi feels more responsive to me than a local PS on a beefy PC.
- The way it is opened as a command prompt, in an unresizeable window (unless you fiddle with the settings every time), with no possibility of using shortcuts for copy/paste.
- Also, the default color scheme and font is horrible. I'm aware that it is trivial to fix it in the settings, but why turn off immediately first time users ?
For a normal user (not an IT admin) what are the benefits of learning Powershell for normal day use ?
What would be the best place to start, are there some good tutorials ?
https://hodgkins.io/ultimate-powershell-prompt-and-git-setup
My "scripting" needs don't involve sysadmin-flavored work or distributing scripts to be run on different machines or environments, so I use Linqpad pretty much as a pseudo-shell and scripting environment on my own box and couldn't be happier with it. F# is good for short scripts as well; I've been trying to use it more but it's slow in Linqpad, and I'm addicted to my productivity in C#.
God yes. Windows shell folk use ConEmu the same way everyone on OS X uses iTerm - see pheouk's link below.
- CTRL+A, CTRL+C and CTRL+V shortcuts work (as does CTRL+C as a BREAK command--it understands by the context of whether or not you have text selected)
- There are a bunch of new shortcuts[1]
- If you edit the properties of the Powershell terminal once, it should stay resizable (I think--correct me if I'm wrong, please)
- If you right-click on the Taskbar and edit the properties, you can make the Win+X menu replace its Command Prompt and Command Prompt (Admin) with Powershell Prompt and Powershell Prompt (Admin) [2]
- If the terminal isn't to your liking, you can try using the Powershell ISE (Integrated Scripting Environment) that comes with Windows. The Powershell ISE has debugging, syntax highlighting, and support for multiple tabs.
- Pretty much anything you see in a new Windows 8/8.1/10-style window (e.g. the Settings menu that has largely supplanted the Control Panel) is, under the hood, written in Powershell... So anything that they do, you can do with Powershell.
- You can make GUI applications relatively easily [3]
Most of the benefits of Powershell are the same benefits of any other CLI--you get repeatable, powerful commands that can run locally or remotely and that will function basically the same on any two given systems (assuming same version of Powershell and same Execution Policy setting).
Powershell is relatively verbose, but that means that everything is pretty clearly named to indicate its purpose and function. The commandlets have excellent documentation, complete with description, usage instructions, examples, and links to additional online resources/articles. Also, it has tab-autocompleting out the wazoo. And you can use wildcards with the Get-Help command--want a Powershell command for manipulating Services settings but don't know if such a thing even exists? `Get-Help service`. Want to see a list of every Powershell alias, commandlet, etc? `help *` (help is an alias of Get-Help).
If you're accustomed to BASH, you can enjoy the default aliases that Powershell makes for BASH commands (e.g. cd is mapped as an alias of the Powershell command Set-Location).
OH! And you can browse the registry as a filesystem! Try `cd HKLM:\` to access the Registry HKEY_LOCAL_MACHINE.
[1] http://www.hanselman.com/blog/Windows10GetsAFreshCommandProm...
[2] http://lifehacker.com/replace-powershell-with-the-command-pr...
[3] http://www.drdobbs.com/windows/building-gui-applications-in-...
I should have specified that my last experience using it was with Windows 8.1, I don't think I have tried yet on 10.
Speaking of remote, the whole mechanism of PS remoting has never made sense to me either. It should work like SSH: encrypted interactive session across a well-defined port.
get-packagesource -provider chocolatey
install-package openssh
It's beta but I use it as a daily driver.While I'm at it, another thing I didn't understand was why they chose to copy Bash's behavior of having anything printed or returned un-suppressed inside a function be part of its return value. That makes it harder to refactor and clean up your code.
I've written some trivial things in powershell and found the complexity grows at functionality squared. Wouldn't go near it for anything complex.
One interface (text) is better than N interfaces, so no, piping objects is worse, because non .NET languages cannot participate in its API.
Right, but running Powershell for Linux on the WSL doesn't work quite right...
This is my biggest complaint about Windows as a power user. I have no control over it: I can't shut off all of the telemetry reporting. I can't turn off Defender's active scanning and have it stay off for more than a day. I can't say "Don't reboot for upgrades between 6am and 10pm." "<video game> has been denied access to the video drivers" halfway through a game, forcing a restart.
I used Windows for my daily computer from 98 to 7. My work machines transitioned to Macs around that time, and I made that same transition with my other computers around the same time - the build quality and battery lifetimes were just too good to ignore. My gaming rig stuck with it and made the leap to 10, but it aggravates me in one fashion or another every time I turn it on.
So, I guess I'm headed the opposite way of most commenters. I considered XP and 7 to be the glory years for a daily driver, and now I can't get away from the platform fast enough.
Like I kinda want it, but not all the time.
Just like I kinda need to be forced to update, but not just suddenly "Well, that's it, we're shutting down now".
It's my fucking computer, if I really don't want to restart right now, what's the big fucking deal?
The big deal is that, it's probably a pretty important security update. Forcing a patch prevents you from turning into the poster a few steps above, complaining that Windows is insecure and people lost data because of it.
Restarting the computer without ability to abort doesn't sound like a good data retention plan.
Not to mention, this feels a bit like how we used to have to manage Linux on the desktop: don't like X? Here's a configuration file you can edit. At least until another update comes along and breaks it.
It's been years since I've enjoyed chasing down new settings and finding what was reset every few days.
I can't speak to your video driver issue (reinstall it maybe?), but the rest of the things certainly can be done.. You can turn off Windows Defender permanently (or at least active scans). You certainly can schedule updates to 2 AM.
Availability of gaming titles aside, there's just nothing that Windows does anymore that other OSes don't do.
Please take no offense to these words. My very dear friend – who is, judging by his similar views, towering wearily above the great sequoias – argues just as you do. But perhaps it should be said as this instead:
Forgotten in dotage, but never forgiven.
I was already doing Windows 3.x and 95 development by the time I installed Slackware 2.0, from floppies as my CD-ROM wasn't yet supported.
Spent almost a decade buying Linux magazines, writing M$ on forums, but also kept doing Windows related stuff when needed, also helped porting Windows software to UNIX, thanks to my Windows skills.
The technology I use varies with the customer, but Windows, .NET, UWP, VC++ is where I have more fun.
That smile that says "You'll understand eventually. It's best to leave your computing to the pros, they'll make sure it's done right and you don't hurt yourself."
Although, M$ (woo) has changed significantly over the years.
Google has had some goofs as well as hits, and at the end of the day, they are just a marketing company that forces their employees to write in Java and C++. Eeeeooohw.
(I have fewer issues with Apple, but I'm sure they will do something obnoxious soon enough - maybe even now if I had to write iOS apps)
I still deploy on Linux. But I hack node all day on a Surface Book, using ConEmu/posh and it's rad.
https://github.com/mikemaccana/powershell-profile/blob/maste...
I use ComEmu, the openssh, Pcsx, PSReadLine packages, Sublime, git, Sourcetree (might try VSStudio but have better things to do than change editor ATM), node version 6.
Same thing I heared of a bunch of Linux users that switched to Macs, because the OS was now a Unix.
"I'm getting old, I don't have time anymore to build all this stuff and configure my system. I just want something that works." And now most of them are switching back.
But yes, I think MS got better since they dropped Ballmer.