Slashdot Mirror


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.

12 of 400 comments (clear)

  1. Re:How does it compare? by macxcool · · Score: 4, Interesting

    I use Powershell extensively to deploy applications using Microsoft SCCM at work. I use Linux the rest of the time. Bash scripting is very suitable to the way *nix commands work. Powershell is very suitable to scripting in Windows. I find PS very easy to learn and to work in, but only because I was already familiar with concepts like the pipeline (from Linux) and objects (from python ;-). I can create a PS script to install and configure an application quickly and easily because, just as in Linux there are commands that do everything you need to do, in PS there are cmdlets that allow you to easily (for the most part) access the various subsystems of Windows. I see PS as a greatly improved, much easier way of doing what I used to struggle to do with vbscript or, a long time ago, with batch files.

  2. Azure, Exchange SQL et al by bernywork · · Score: 5, Interesting

    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
  3. Re:It's not what I call a scripting language. by Bobfrankly1 · · Score: 1, Interesting

    agreed. Coming from Solaris to Windows, I find it horrid, just horrid. Some days, I would give my server for a workable "grep".

    pipe to: where {$_.property -match "regex"} Powershell has had a workable grep for a long time, but it's usually learning how objects work that typically obstruct new users.

  4. Oh boy by Anonymous Coward · · Score: 2, Interesting

    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.

  5. Re:Heu.. ???? by MightyMartian · · Score: 4, Interesting

    What I particularly dislike is how it automatically filters output, and you have to use arguments or other applets to give you fuller output. It just strikes me as being the exact opposite of how any particular command or script should work.

    And objects, big fucking deal. I've been using Bourne variants for a quarter of a century and never thought "Boy, I wish I had classes".

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  6. Re:It's not what I call a scripting language. by MightyMartian · · Score: 3, Interesting

    Except Cygwin is even more bloated and slow than Powershell. I did actually work a lot with it about ten years ago, to the point where I even got a radius daemon compiled, but it was arduous and Cygwin can be a bit flaky. But really, the biggest problem is that it's slow.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  7. Re:Heu.. ???? by Rob+Y. · · Score: 4, Interesting

    Umm, desktop systems and apps may not be the growth business they once were, but they still make Microsoft billions. It's not that they want out of those businesses - it's that they're trying to keep up with the overall industry move to the cloud. Not that it would be a bad idea for Microsoft to start basing their cloud operations on Linux - assuming they could get more out of their hardware that way. Maybe they really are thinking along those lines, and want their software to work there - for their own purposes. That'd be pretty forward-looking.

    Of course, Occam's Razor would favor locking admins into their Windows-specific toolset as the explanation...

    --
    Posted from my Android phone. Oh, I can change this? There, that's better...
  8. Re:Heu.. ???? by The-Ixian · · Score: 3, Interesting

    Personally, I love PowerShell.

    I also love Perl.

    In a lot of ways, the two are syntactically similar.

    Being a long time Perl guy, I had no problem picking up PowerShell.

    --
    My eyes reflect the stars and a smile lights up my face.
  9. Re: Heu.. ???? by ls671 · · Score: 4, Interesting

    My brother is responsible to hire Windows admin at his university. Believe or not, he actually post looking for Unix admins! Based on previous experience, he says that if a guy can admin Unix, he will be better administering Windows then a Windows only admin.

    --
    Everything I write is lies, read between the lines.
  10. Re:Heu.. ???? by LostMyBeaver · · Score: 2, Interesting

    While I'm not a huge fan of powershell, I've spent a considerable amount of time coding in it because there's simply no point to using stupid utils like puppet and chef when 90% of what you do is call powershell anyway. After all, install Windows... powershell... add user... powershell... install Hyper-V... powershell... install WDS.... powershell. So why the hell would I bother with something else when I have to use it anyway?

    Now that I've figured out object orient programming, exception handling, type definitions, error management, etc... I think that PowerShell is pretty nice. It's an ugly language, but it's the only language I know of that is designed to handle automation so nicely. Whether I'm automating FreeBSD or Exchange Server, PowerShell is very capable. What's even better is that the help online is excellent. I almost never find myself wondering "Gee, I wonder how to do that" and that's been the truth since the first day of using it.

    As for other shells... bash and other bournes are nice, but they handle data like shit and you spend most of your time coding new utilities for almost everything you need to accomplish.

    I think that existing shell paradigms weren't good enough for handling these tasks. Most shells don't have the ability to call libraries without additional utilities. Most shells don't have the ability to employ data structures. PowerShell while somewhat grotesque to look at is really quite powerful in that sense.

    I'm looking forward to powershell remoting linux.

  11. Re: Heu.. ???? by LostMyBeaver · · Score: 1, Interesting

    Odd... I tend to find that both are pretty awful and prefer to hire people with computer science education and programming experience with a solid understanding operating design, protocols and encryption. There are a lot of people out there with that skillset and what's best is that they generally don't care what language they are using for scripting but instead solve the problem, document the solution and develop deployment scripts for changes as well as rollback scripts and unit tests. Oh, and if there's a problem with the API they are calling, they write a bug report describing it and providing a reproducible test case to ensure MS can easily fix it.

    Never hire IT guys if you can hire computer scientists instead.

  12. I want both worlds merged by swb · · Score: 3, Interesting

    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.