Microsoft PowerShell Goes Open Source and Lands On Linux and Mac (pcworld.com)
Microsoft announced on Thursday that it is open sourcing PowerShell, its system administration, scripting, and configuration management tool that has been a default part of Windows for several years. The company says it will soon release PowerShell on Mac and Linux platforms. PCWorld reports: The company is also releasing alpha versions of PowerShell for Linux (specifically Ubuntu, Centos and Redhat) and Mac OS X. A new PowerShell GitHub page gives people the ability to download binaries of the software, as well as access to the app's source code. PowerShell on Linux and Mac will let people who have already built proficiency with Microsoft's scripting language take those skills and bring them to new platforms. Meanwhile, people who are used to working on those platforms will have access to a new and very powerful tool for getting work done. It's part of Microsoft's ongoing moves to open up products that the company has previously kept locked to platforms that it owned. The company's open sourcing of its .NET programming frameworks in 2014 paved the way for this launch, by making the building blocks of PowerShell available on Linux and OS X. By making PowerShell available on Linux, Microsoft has taken the skills of Windows administrators who are already used to the software, and made them more marketable. It has also made it possible for hardcore Linux users to get access to an additional set of tools that they can use to manage a variety of systems.
Embrace, extend and extinguish ???
Link:
https://en.wikipedia.org/wiki/...
Everything I write is lies, read between the lines.
It looks as though MS has finally accepted the inevitable.
Though I shudder to think what hell may follow with MS getting it's fingers in the FOSS Pie.
~ People that think they are better than anyone else for any reason are the cause of all the strife in the world.
Solutions to problems no one except windows admins are having. I don't think I'll lose much sleep.
Bash...
Powershell...
Bash...
Powershell...
RIIIIGGGHHHTT!!!!
Powershell isn't really a scripting language - it's a command parser where all the commands are like "Disassemble-the_Complicated-Dictionary-using-impossible-Format".
There is no God, and Dirac is his prophet.
Every once in a while I get told to run something under cmd.exe or PowerShell, and am reminded how incredibly limited these apps are when compared with any *nix *sh terminal app. Why does anyone think Linux users would take PowerShell over bash?
https://app.box.com/WitthoftResume Code: https://github.com/cellocgw
I doubt that PowerShell is going to be the solution, but it is emphatically true that Bash is a major pain in the ass.
With Bash, the solutions to simple tasks are moderately complicated, and the solutions to complex tasks are just downright stupidâ"you don't even use Bash for complex tasks.
It's time for something that was designed better.
What can Powershell do that BASH can't? Outside the Windows ecosphere, is there any use to this?
Take it easy, Charlie, I've got an Angle...
So, anyone with real experience want to weigh in on how Powershell compares to the Linux command line? I've only used it a bit, and nothing has really jumped out at me as more than an incremental improvement over (pseudo-) DOS. Basically - is this something that might actually be valuable to -nix admins, or is it just a way for Windows admins to leverage their existing skills when managing -nix systems?
Either way I'm kind of surprised Microsoft is doing this - seems like the biggest effect would be to make it easier for competing systems to worm their way into a traditionally Windows organization. Seems counterproductive, especially in light of the increasingly abusive behavior we're seeing with Windows.
Unless of course this isn't actually open source - I didn't see any mention of the license, and it would hardly be the first time Microsoft has attempted to poison OSS projects with unlicensed code.
--- Most topics have many sides worth arguing, allow me to take one opposite you.
This just seems like a very poor excuse for puppet/chef/cfengine etc... to me.
-- Given enough time and money, Microsoft will eventualy invent UNIX.
If it's open source, go look for yourself.
I see this differently. Windows 10 now has linux built in. Powershell will be usable everywhere. Microsoft stated their intentions to embrace open source, and they appear to be following through. This lets powershell compete directly against bash and perl in the education sweepstakes, and changes the buying choice from Microsoft vs linux to Microsoft and linux vs linux. History suggests that we should be vigilant and looking out for Microsoft trying to apply the 3E model again (Embrace, Extend, Exterminate), but to flat out assert that it contains spyware is disingenuous.
Nope -- they only ruin Lunix. The BSDs are doing fine.
CLI paste? paste.pr0.tips!
I guess then they're guilty for the Death of PC, since they own 90% of that market. This is a true genocide. 1.4 billion computers dead because of Microsoft.
lucm, indeed.
This is Microsoft we're talking about here. Obviously, they mean to do harm with this action. What is it? They have a long track record of actions that *seem* great but turn out to have a harmful outcome (harmful to us, beneficial to themselves) years later. Does the hivemind see what this angle is? I'm not seeing it, but you KNOW it's there. This is a company that does NOT do altruism. Anything smacking of doing good for outsiders with no shareholder return would get vetoed immediately by the MBAs in management.
Shutting down free speech with violence isn't fighting fascism. It IS fascism!
If it's open sourced it can have the same amount of spyware the Linux kernel has if not less.
Nah, we're good. But, thanks anyway.
sig: sauer
This is awesome because only a linux fanboy would not see that:
/sarcasm
Get-ChildItem -Recurse | Select-String 'hole_in_the_ground'
is sooooo soooo much better than
grep -r 'hole_in_the_ground'
-- Given enough time and money, Microsoft will eventualy invent UNIX.
Patterns have a habit of repeating themselves. Assuming anything less is not a sustainable pattern.
~ People that think they are better than anyone else for any reason are the cause of all the strife in the world.
M$ Is evil! They don't make programs for Linux!! It's all a ploy to force people to use Windows!!
M$ is evil! They are making programs for Linux!! It's all a ploy to force people to use Windows!!
ok seriously, does anyone else know of any shell that not only needs an entire framework install but also has 44MB of shit in it's source code?
Anons need not reply. Questions end with a question mark.
The reason for doing this I thought would have been obvious, but from the comments it doesn't seem so.
No Linux admin, who administers standard Linux bare metal or VMs is going to install this, not in a million years, they've got bash scripts with GNU utils, or they learnt Python or Perl or something else years and years ago, they've no use for PowerShell...
If however, you use Azure (MS *are* the second largest cloud computing provider), and you want to do web scale, Microsoft either needs to start giving out Perl and or Python modules, or they need to get PowerShell on Mac / Linux for people to be able to script their Azure / SQL / Exchange instances so that the admins and devs can integrate with Chef and everything else out there.
With the amount of work that's gone into Powershell for it to be an admins platform, it's *easier* to port Powershell to Linux than what it is to rebuild powershell for Python or Perl or whatever else.
Curiosity was framed; ignorance killed the cat. -- Author unknown
Good because if it's truly open source, decent coders and groups can fork it, fix all the poorly designed and coded bugs...I mean 'features' it has.
Bad because...Microsoft, stay the hell away from Linux. MS makes everything it touches worse, introduced more bugs and security holes.
Clearly PowerShell is intended to manage systemd.
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
"extend".
And people fall for it every time. Idiots.
sysctl and gconf anyone?
Has anybody looked at the .net open source to confirm if Microsoft code is actually quality or just lucky shit that just runs? Do developers(including contractors) hired by Microsoft code better than Open Source people?
Stupid questions, but, I read somewhere that someone at MS stated they just push code that works but does not necessarily mean all the bugs have been worked out.
I am not a regular powershell user but it is frustrating that when I do use it I have to use a whole new object notation. Yes you can load from XML or json strings but it's native notation is quite obscure. Also, the "when to quote, when not to quote" is even more arcane than bash, sometimes having to inckude a command and parameters in quotes, sometimes not. I readily admit that this has been trial and error for me.
Do you have problems comprehending . . . people's facial expressions and moods?
In a text thread? Not at all.
All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
Powershell is horrible. It has some great stuff, don't get me wrong - the ease of using any .Net component from a script is interesting. But the haphazard nature of it means spending more time debugging and understanding obscure things about why it does things the way it does. I was using it for Azure scripting, but I've been burned so many times by it (and how crappy the Azure cmdlets are) that I've just gone to C# and .Net and the Azure REST APIs so I don't have to bend myself into contortions to do simple things and get deterministic results. Plus I can take advantage of things like generics, the TPL and collections in general which make my life a lot easier and more productive.
I can see using .Net core and C# on Mac or Linux. Powershell - no way.
This is a problem with any language, you can have bad implementation anywhere. Even within Microsoft you can see different teams have different levels of buy-in with powershell. The core cmdlets have a level of polish that isn't frequently seen elsewhere, but many of the other teams have made a decent effort to support powershell with modules that cover a large number of use cases.
Microsoft stated their intentions to embrace open source, and they appear to be following through.
My sweet summer child, I used to be you. Bless your heart. Offering the benefit of the doubt is a noble and generous act.
History suggests that we should be vigilant and looking out for Microsoft trying to apply the 3E model again
Wait, so you know about this shit? You know they have a history of dishonesty and bad faith? I'm afraid I must now take a less charitable view of that first thing I quoted.
This is probably something they are doing in preparation to bringing SQL Server (and maybe Exchange) to other platforms. There server apps tend to be managed using PowerShell
Coder's Stone: The programming language quick ref for iPad
The dotnet core dev tools have telemetry built in and you are automatically opted-in. It can be turned off, but in typical MS fashion they slid it past everyone hoping it wouldn't be noticed. It's perfectly rational to suppose that the PS port has telemetry reporting features in it. I would assume it does and so should everyone else.
And exactly where do you see this oh so unlikely scenario playing out. What IT support staff are running Linux while everyone else is running Windows, because that would just be dumb and I would expect the manager of that IT department to be canned post haste. In my 20 years in IT I have never seen nor heard of this situation.
Sorry, teleporters just kill you and then make a copy. A perfect, soul-less copy.
I felt a great disturbance in the Network, as though 1.4 billion OSes were crying out in pain.
https://app.box.com/WitthoftResume Code: https://github.com/cellocgw
Fear the GrEEKS, even if bearing gifts!
Most our org's PS scripts are in VB-Script. Is there an interpreter for it on Linux?
Table-ized A.I.
We do all run Linux... but we also run Windows.
Any "admin" who is not fluent in both is not an admin (imo).
My eyes reflect the stars and a smile lights up my face.
Microsoft got jealous that systemd was having all the fun?
"First they came for the slanderers and i said nothing."
I am speechless. Like how useful is this?
This serves to try to keep people that dabble in Linux from moving entirely away from Microsoft, basically allowing Microsoft to keep their foot in the door.
Originally you had to learn the entirely different mindset that POSIX/UNIX/Linux required. Multiuser, very little interactive as root, bunch of new tools, some kind of difficult to use, but powerful once they're learned. To be proficient you had to learn all of this and once learned you probably came to appreciate both the effort and the result. You probably weren't interested in Microsoft tools, which often felt late to the party and not very capable.
Now, you can attempt to work in a Linux/UNIX environment with Microsoft-feeling tools. You may not come to appreciate the GNU or POSIX stuff, you never really immerse yourself in it, so it's easier for Microsoft to call you back if you run into challenges. You haven't really mastered the UNIX model.
At least that's my concern. I've been in meetings with Microsoft product reps who would be very condescending towards non-Microsoft solutions even if those solutions were older, more mature, and more robust, often because the worse GUI or lack of GUI meant that you actually had to know what you were doing. It makes it easier to pander to managers that aren't as technical as they should be. This is just another tool in that toolkit.
Do not look into laser with remaining eye.
I heard that "Lindows" as a name is available again...
Do not look into laser with remaining eye.
Solves some problems maybe. Such as the Microsoft oriented IT people who are finding more and more work is moving to Linux, Macs, and other Unix systems, and their only job qualification is having a powershell certificate that is seen as worthless paper to everyone outside of Windows.
But seriously, there are people who think that way. They find themselves becoming irrelevant but want to carry over their old skill set if they move to anything new.
I've never seen that. I have seen the reverse though, everyone in IT uses Windows (and they only implement Microsoft solutions if there's ever a choice), and the user who has Linux is stuck on their own with no support, and regularly get memos requiring them to only run the corporate approved Windows applications on their Linux machine.
With the bash on windows and ps on Linux, being able to drive ps from python will be looked forward to. As a replacement for bash or python it sucks, and works completely differently. On the other hand, a python module permitting one to programmattically generate and run ps scripts, and receive what comes back would be welcome.
John_Chalisque
If it's open sourced it can have the same amount of spyware the Linux kernel has if not less.
Hard to have less since LK has none.
Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
I do a lot of XML processing on Linux--in fact, I'd say 80% of my work is with XML. While XML files are obviously text, handling them as plain text is an invitation to disaster. They're really much more like objects, and I mostly use Python when I want to process XML. (For some simple manipulation, I use xml_grep, but only for quick-and-dirty tasks.) Usually I read the XML stream into Python (using SAX or DOM, depending), and convert the parts I need into Python objects for further manipulation. The traditional Linux shell commands (which I use lots for the remaining 20% of my work) are just not suited for XML.
I've never used PowerShell, and the fact that it manipulates objects is interesting. Would some users like to comment on whether it's suited for processing XML?
The Debian commitee members will probably vote for Microsoft PowerShell to replace Bash.
I want to run Powershell commands within a bash shell and be able to pipe their output to Unix utils, and I want to be able to run Unix utils in Powershell and pipe their output to Powershell commands.
I want to be able to mix and match them somehow.
Mostly, I think, the Powershell commands would be most useful paired with a bash shell and Unix utils, at least how I end up needing/wanting to use Powershell most of them time -- which I freely admit is biased by much more experience at a Bash prompt than a Powershell one, and mostly using Powershell commands to generate some kind of output that I want to work with Bash-style.
I recognize that merging them would be complex in some ways, as many Powershell commands return objects not output and the shell is just doing basic formatting of the object as textual output.
But maybe there could be some kind of hydbrid mode pipe operator that would just do the basic console output it would normally do, but send it to an instance of a Bash environment, or some way to access Powershell cmdlets from within bash as if they were normal programs that provided output.
Up until five or six years ago, all I ever heard from Windows fanboys was how great Windows was because it could be administered from a GUI, and there wasn't that stupid ugly primitive command line interface which only old men, BSD weirdos and Linux fanboys had any interest in using. Then, when Monad matured into Powershell, and became capable enough to at least replicate all the kludges and awfulness of VBScript and WMI, suddenly their note began to change. The first I saw of it was taking an online Server 2008 course by Microsoft, which announced that Windows Server 2008 was the most advanced server operating system ever, and bragging about how its advanced Powershell interface and scripting language put it to the head of the pack (I'm not kidding, this was actual an MS course). Then the Microsoft types started the "Powershell is better than silly old bash because OBJECTS!"
I'll readily concede that it is by far the best automation tool available on Windows to administer Windows. But that's really false praise, considering how bad the previous automation systems were (remember the evil old days of GUI "scripting" software), and really, while it may be perfectly suited to Windows, the idea that it's somehow some great quantum leap forward as compared to the *nix ecosystem is little more than just empty bragging by a contingent of cheerleaders who were, before Powershell came on the scene, were sneering at CLIs.
The world's burning. Moped Jesus spotted on I50. Details at 11.
Wait till you see Exchange Server 2016. It's still chock full of gotchas, but with a completely new (web-based ) management interface. the PowerShell-based management shell is still there, however, and remains the best way to manage things.
Management issues aside, Exchange is a useful product. Synchronization of e-mail, contacts, and calendars with iOS and Android smartphones is supported out of the box, and Outlook Web Access is the best webmail implementation I've seen.
My main issue with it is that Jet databases are fragile. Had they implemented SQL Server as the back-end, it would be far more resilient.
Shell scripting is for system administration, quick hacks,
Which, of course, explains how most of the underpinning of Unix configuration is indistinguishable from a quick hack.
Come on, you know you all want to try building powershell in 'Bash on Ubuntu on Windows', then open powershell, run bash from inside it and then run powershell again.
I was talking about non-irrelevant OS but I'll admit that I've never heard of "Solarsi".
CLI paste? paste.pr0.tips!
"... worst syntax features of every scripting language..."
My reaction exactly.
Articles:
.NET, Part 1 of 3. (Because the problem is in .NET.)
What I Hate About PowerShell
Is PowerShell really this bad?. Quote: "... the strangest mashup of Perl and VAX/VMS I've ever seen." Another quote: "... one of the most ass-backwards, lipstick on a pig, polished turd add-ons to the Microsoft stack in recent years."
Why Microsoft doesn't fix the long file name issues in PowerShell: Long Paths in
And don't forget the very poor writing quality of the documentation.
At least that's my concern. I've been in meetings with Microsoft product reps who would be very condescending towards non-Microsoft solutions even if those solutions were older, more mature, and more robust, often because the worse GUI or lack of GUI meant that you actually had to know what you were doing. It makes it easier to pander to managers that aren't as technical as they should be. This is just another tool in that toolkit.
Salesmen putting down the competition in an effort to make a sale. In other news, the sky is still blue.
This is the biggest reason to have a network or community of trusted techs/engineers with a variety of disciplines. Instead of "bad because I prefer X" you get actual usable feedback. You ask "I need something that does X" and they respond with probing questions instead of "Y or nothing". Sometimes the obvious old familiar tool with lots of history isn't the right one. Sometimes it is. Never depend on the salesman to determine if it's the right time to rip off the old bandaid.
little more than just empty bragging by a contingent of cheerleaders who were, before Powershell came on the scene, were sneering at CLIs.
You're off base. Those GUI cheerleaders are still cheering the GUI while looking forward to retirement within the next decade. They're the ones who will never install server core or nano because they can't RDP into it. I've known quite a few of them over my career, and I'm glad I don't have to work with any of them at my current employer.
Those of us who use and promote Powershell are the guys who never stopped using a cmd shell, and still dealt with ugly batch and *shudder* vb scripts until powershell arrived and gave us something worth bragging about. We never sneered at CLIs, we simply wished for something better, and now we can start using that something on linux also.
And exactly where do you see this oh so unlikely scenario playing out. What IT support staff are running Linux while everyone else is running Windows, because that would just be dumb and I would expect the manager of that IT department to be canned post haste. In my 20 years in IT I have never seen nor heard of this situation.
Perhaps you should get out more. I know of myself and others that run either linux or MacOS as their local machine, RDP into Windows VMs for management. We also tend to be the guys who get promoted, because we don't restrict ourselves to what's considered "fashionable" to get stuff done. We learn and adapt to new options when they suit our needs. We think outside of the box that you seem to be too busy judging people from within.
Perks of this 'dumb' arrangement include:
---knowing my management tools all exist on the VM, as most of them are incompatible with my workstation. That means replacing my workstation leads to minimal downtime, I just have to install an RDP client. This also means that VM is ready for troubleshooting from remote locations, and I don't have to deal with large desktops due to multi-monitor setups, as one would when remoting to a local workstation.
---knowing that Windows key combinations won't be intercepted by the local OS.
---can test against Mac, Windows, and linux with ease.
---can use tools from all aforementioned OSs with ease.
Instead, just install cygwin on Windows. Big improvement.