Welcome to MSDN Blogs Sign in | Join | Help

PowerShell on Linux, Solaris, Mac, PHONES!!! etc

Igor Moochnick announced the first release of PASH, an open source implementation of PowerShell.  (I tripled check the date on his blog to make sure it really said April 6th and not April 1st. :-) ).  This is really exciting stuff.  This is one of the most requested items from IT shops that run heterogeneous environments.  They love PowerShell and want ALL their IT Pros to adopt it.  I haven't tried it yet so I don't know what it does/does not implement but I'm pretty excited about it.  I can't wait to give it a try.

I'll have to talk with the .NET guys about how they work with the MONO team to ensure compatibility.  If it gets/stays compatible, that is a super good thing for customers.  It it becomes a variation or separate dialect and confuses our customers, then that would be problem.

BTW - just to make one point REALLY clear - PowerShell running across heterogeneous platforms was a project goal from the very beginning of the project.  We architected and designed PowerShell so that our only "true" dependency was on .NET.  There are only 1 or 2 cases where I know that we call a Windows API (code signing).  In other words - what Igor is doing IS PERFECTLY FEASIBLE.  Sure, he won't have WMI cmdlets on those other environments - you'll have incidental variations - that is not a problem.  The engine and the language should work perfectly.

One last point.  I'm really looking forward to getting the Open Source communities input on PowerShell and suggestions on ways to improve it.  Their usage scenarios will be different and will highlight any flaws or shortcomings we have in other areas (e.g. text parsing/manipulation).  I look forward to hearing their complaints/recommendations.  Adding their perspective and insight will make PowerShell a better technology for everyone.

 

Check this out:

 

What a nice day!

 

Jeffrey Snover [MSFT]
Windows Management Partner Architect
Visit the Windows PowerShell Team blog at:    http://blogs.msdn.com/PowerShell
Visit the Windows PowerShell ScriptCenter at:  http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx

Published Tuesday, April 08, 2008 1:29 PM by PowerShellTeam

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

So you mean, if you removed those one or two pieces of code one might be able to take the PowerShell.exe and run it on mono just by itself?

Quite frankly, wouldn't it be better at some point if MS just allowed some of its .Net binaries to run on Mono, instead of parallel projects cloning everything? I don't really see the point of the current situation, where everything gets written twice, while surely some of the .Net assemblies could with a little care just be delivered in such a way that they can run on mono...

But cool news overall indeed!

Tuesday, April 08, 2008 9:11 AM by davidacoder

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

I agree with DavidACoder. At the beginning, when the idea of decoupling the PoSH from the Windows-specific code came to me - I was excited, but, after a couple of days trying to do this and failing - I was really disappointed.

One more thing you do that doesn't work on Mono - you call Registry API in a bunch of different places. Why you couldn't do the same thing with a config file?

Tuesday, April 08, 2008 11:54 AM by IgorM

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

why would I want Powershell on the aforementioned machines that already have bash and common unix utilities already installed and used as the default shell.

Tuesday, April 08, 2008 4:37 PM by whaley

# Pash(PowerShellのオープンソース実装、他OS対応)開発が始まっている

Pash(PowerShellのオープンソース実装、他OS対応)開発が始まっている

Tuesday, April 08, 2008 5:26 PM by 米田 Blog ( SQL Server MEMO )

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

If there is customer demand, and there are so few dependencies on Windows, the best possible thing would be to just open source PowerShell and get the community to port the software to the various other platforms, removing the Windows-isms and other bits and make it truly cross platform.

Tuesday, April 08, 2008 6:10 PM by Cmdr Flibberty Jibbitz

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

Nice work Igor. That's an impressive bit of work. I want to commend the PowerShell team for carrying so much about interoperability for the two projects. It really brings up a much larger issue for you.

PowerShell isn't a money maker for Microsoft. You're probably not going to sell much software solely based on PowerShell. If you build your version of PowerShell you have one "feature". If Igor builds his version you still have one feature, with two different implementations. As a whole, the community gains nothing but you've doubled the amount of work. If Igor and you work together couldn't you make one implementation of an even better project? In that case, PowerShell is still revenue neutral (possibly positive because you need fewer paid employees to work on PowerShell) but it's a better, more full-featured product. I know I'm going through a standard open-source argument but with the kind of interoperability you're suggesting isn't that just the next logical step?

Don't get me wrong; I love that you're supportive of the efforts of Mono and Pash. If you don't move towards open-sourcing these products that's your choice. It just seems like everyone is doing a ton more work for programs that are free to start off with.

Tuesday, April 08, 2008 8:48 PM by Eric

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

If you like the idea so much ... why not contribute some code?  

Wouldn't it be a lot easier to be a part of this, and thus guarantee a portable, cross-platform implementation where at least the language syntax was the same (this one isn't, yet), than to sit around hoping that all the 3rd party developers won't like this implementation better?

I obviously don't know all the internal politics, but a portable, cross-platform, and open source implementation -- if it gets even close to being compatible -- is going to make it difficult to argue that the closed-source windows-only one produced by Microsoft should be "the" standard.

In fact, given a bit more progress towards compatibility ... portable cross-platform apps would be a big temptation for houses that are basing their products on PowerShell (be it hosts, cmdlets, or apps like exchange).

Tuesday, April 08, 2008 9:29 PM by Joel "Jaykul" Bennett

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

I agree with the other posters.  If only a few calls are all that keep PowerShell running on Mono, then do it!  Powershell being a Windows-only tool is the main thing that keeps me from being interested in it.  Why use Powershell when I can just write nice script code in something like Ruby that works on a multitude of platforms?

A from the ground of rewrite of Powershell that is only 50% complete that will always be behind the Windows-based Powershell - all because Microsoft can't be bothered to make their code use only pure .Net code?  C'mon guys.

There should be only one distribution of Powershell (preferably open-sourced like WiX) and it should be cross-platform.  Until then, it's no better than Windows-only VBScript in my eyes and since I work in multiple environments, unless it works equally in all of them, there's no point.

Wednesday, April 09, 2008 12:28 AM by Patrick

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

I second the sentiments here.  Its kind of silly to have two small relatively platform independent projects doing the same thing.

Wednesday, April 09, 2008 1:30 AM by Aaron

# PowerShell on Linux, Solaris, Mac, PHONES!!! etc

Igor Moochnick announced the first release of PASH , an open source implementation of PowerShell. (I

Wednesday, April 09, 2008 4:10 AM by News

# PowerShell v2.0

When is PowerShell v2.0 going to be released?

Wednesday, April 09, 2008 8:40 AM by dummy

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

Congrats Igor, I have been watching you with this project for some time, and hope to see it successful and that many others will jump on board.

Wednesday, April 09, 2008 4:57 PM by karl prosser

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

or you can add support in powershell for gnu coreutils and make ls, chmod, etc. available under it.

Friday, July 11, 2008 3:03 AM by kram1024

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

The problem with Power Shell portability is exactly the same as anything else Microsoft did with dotNet.

To be honest, I rly don't see a point of dotNet today, nor products developed in it. I do program in C# every day and I do love everything about it and I do like Power Shell a lot, but that doesn't stop me for being rational.

Peter in his comments above was absolutely right - Why .Net ? Why not VBScript or just plain C. Microsoft created .Net as response to Java, but unlike Sun which provided binaries and support for each platform out there, MS choosed to support only Windows and let the community do all the job on other places (luckily there are folks like Google, Novell, Igor...) and lets be clear, its a lot of job, it needs to be organised and standardised across platforms, not something passionate programmerers can handle the way it should be.

There are even open source communities like Portable Net (alternative to Mono) which develop *nx dotNet framework only to prevent MS hooking everybody to their proprietary .Net implementation and after tones of programms written in it, become 100% dependent on it, and thus MS Windows.

Its well known fact that MS is trying to kill all open source so you can't expect MS to officially support PS on linux.

And that situation really sux, because PS is probably the best thing MS ever did, and aside for its greatest side effect of eventual total removal of the worst shell that ever existed (cmd.exe) from the Windows, it most definitely wont go further then that when MS plans are in question.

Tuesday, February 03, 2009 5:19 AM by majkinetor

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

majkinetor,

.NET != Java.  Java is a programming language, .NET is a framework encompassing many languages.

And Powershell rules!  But checking the status of PASH, it seems development has slowed, if not stopped.  That's too bad, Powershell is far superior to anything on Unix.

Wednesday, February 11, 2009 11:21 AM by Assistant Village Idiot

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

AVI, its great to be a Powershell fanboi, but please take a moment to re-read your post. Where would Java be without the *many* frameworks and the community around it ? I dont code in .NET, so I dont criticise it - enough said.

As for Powershell being 'far superior to anything in Unix', please re-read a lot of the early posts from Jeffrey and other members of the PS team : they have drawn much of their inspiration from *nix tools, and freely admit that Powershell is a work in progress. Personally, I think its the best thing ever to come out of Redmond, but that doesnt mean that I am prepared to criticise everything else in the dev universe. Spend some time actually developing a true cross-platform application in Python or Ruby (Windows, OS X, any *nix flavour), then come back and tell me whether its 'far inferior' to Powershell.  

Disclaimer: I cut Perl for a living, on a Linux desktop, so I may not be completely impartial :)

Wednesday, April 15, 2009 1:16 AM by kevin

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

Actually, Java -- or, the JVM -- supports many languages; I've worked some in Groovy, for example, and there are other languages like Sleep  which are implemented only on the JVM.

And a quick Google search pulls up a <a href="http://en.wikipedia.org/wiki/List_of_JVM_languages">List of JVM languages</a> on Wikipedia, which some of the ports of other languages to the JVM.

So, although maybe not originally sun's point with Java, .NET and it occupy much the same space.

Thursday, September 03, 2009 11:00 AM by Woodrow Jarvis Hill

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

Those who do not understand Unix are doomed to re-invent it. Poorly. - Henry Spencer

Thursday, September 03, 2009 3:04 PM by James Randall

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

Just came from VMworld 2009 last week.  Took several PowerCLI sessions/labs which includes 160 PowerShell command extensions for managing VMs, vSphere 4, etc.

I'd be interesting in helping / testing PowerCLI from PASH.

Let me know if there is interest.

Friday, September 11, 2009 10:42 PM by VMSYSADMIN

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

I use PowerShell to manage Wintel servers and virtual servers; with the VMware vSphere PowerCLI I manage vCenter and some aspects of VMs.

I think a PowerShell PowerCLI  for LINUX will help me a lot. I'll be able to manage LINUX based serves and virtual servers in the same method I manage everything else.

Doing it without having to learn another language is great. Since I'm still fairly new to LINUX, have had little time to master it as oi would like to, and no training budget.

Tuesday, September 22, 2009 2:25 PM by Abigsky

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

If the whole point of .net was to compete with Java (and we all know it was!!) then why can't Microsoft keep windows32 calls out of their .net implementations.

I've never heard of a Solaris only implementation of java.

As far as I know Sun has released java virtual machines for linux and windows without relying on the open source community to do their dirty work. Even though open source alternatives have followed suit.

The fact that sun isn't the leading computer company is just rediculous. They obviously know their $#&*.

Wednesday, September 23, 2009 7:51 PM by karim

# re: PowerShell on Linux, Solaris, Mac, PHONES!!! etc

PowerShell - AFSL (Another Scripting Language).

Can't Microsoft just settle on one scripting language and get rid of all the rest?  

It is absolutely ridiculous to think Linux, Mac, Unix, or any other operating system should change just for Microsoft.

Microsoft can't even get their JScript to do an HTTP file upload simply.  Calling a VB.Net program from JScript to do the aforementioned file upload can not be done simply.

Why does Microsoft waste the time of so many people?

Thursday, November 05, 2009 11:18 AM by Name

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker