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.

61 of 400 comments (clear)

  1. Heu.. ???? by ls671 · · Score: 5, Insightful

    Embrace, extend and extinguish ???
    Link:
    https://en.wikipedia.org/wiki/...

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

      This typically works when the MS product isn't being released on multiple platforms and open sourced. Obviously MS could always build closed source extensions, but there'd be no point. MS doesn't want to stay in the desktop OS market and with the failure of its mobile OS and their success with Office365, it seems like MS will start moving out of providing consumer level operating systems in favor of hosted solutions that enable them to charge reoccuring subscription fees. As consumers buy less and less "computers" and more and more tablets and smartphones, MS may simply have a long term plan to exit their OS product in a decade or two.

    2. Re:Heu.. ???? by Bobfrankly1 · · Score: 3, Insightful

      Ugh, PS is horrendous - especially trying to learn the f***ed up way it works.

      But on Windoze hosts you have nothing else command line wise to manage AD and Exchange (mostly what I punish my self with).

      It's object oriented. If you don't have a even a basic understanding of how objects work, of course it's going to be confusing. Once you break past that wall however, you find a well documented and sane terminal. Sadly many think "different" = "bad".

    3. Re: Heu.. ???? by Jaykul · · Score: 2

      MIT -- no extinguishing that https://github.com/PowerShell/...

      --
      Anger is never without a reason, but seldom with a good one. -- Benjamin Franklin
    4. Re:Heu.. ???? by Somebody+Is+Using+My · · Score: 4, Insightful

      No. Well, yes, but not in the way you think.

      This isn't about Microsoft trying to "conquer" Linux. Increasingly Microsoft is less interested in maintaining operating system dominance. The OS is not a growth market, and not one that people really care too much about; they use whatever their computer (or device) comes with. Instead, Microsoft is betting big on becoming an OS-agnostic software-as-a-service company. That isn't to say that they are entirely abandoning Windows (and knowing Microsoft's legendary inter-departmental rivalries, you can bet the Windows team is fighting the rest of the company to keep their product relevant) but long-term I wouldn't be surprised to see all of Microsoft's products available on Linux, MacOS, IOS, Android and any other OS they can reach. It - not Windows dominance - is where Microsoft believes the company's future is.

    5. Re:Heu.. ???? by MightyMartian · · Score: 5, Insightful

      Overly verbose, syntactically complex, and most of all just astonishingly slow. I use it because there's no real alternative on Windows, but every time I have to code in PowerShell, I just think "So close to bash, but yet so far away." I cannot imagine anything that would compel me to use Powershell on a *nix system.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    6. 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.
    7. Re: Heu.. ???? by silentcoder · · Score: 4, Insightful

      Considering how flaky exchange and SQL server is, that's no endorsement at all - after all, when the things it manages are utterly unreliable pieces of shit, whose going to NOTICE if the management tool also sucks ?

      --
      Unicode killed the ASCII-art *
    8. Re: Heu.. ???? by ls671 · · Score: 2

      Hmm... how were those servers managed before powershell?

      Hint: I often encounter Exchange and SQL servers admins that don't even know about powershell, they are still using cmd.exe.

      Admins: "Powershell? What is it? I would have to install it..."

      Me: "see that rotated M icon on you taskbar, that's powershell..."

      Admins: "Thanks! how does it work?"

      --
      Everything I write is lies, read between the lines.
    9. Re:Heu.. ???? by denis-The-menace · · Score: 2

      PowerShell is a way to force Scripters to become .Net programmers.

      There are many limitations and bugs with PowerShell commands and if you want it to work on all win boxes you need to use .Net stuff.

      And when .Net won't do, use pinvoke

      --
      Obama's legacy: (N)othing (S)ecure (A)nywhere and (T)error (S)imulation (A)dministration
    10. 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...
    11. 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.
    12. Re:Heu.. ???? by Dracos · · Score: 5, Insightful

      After 20 years of MS trying to kill the shell, they relented and decided the Windows platform needed one. But in typical MS style, they asked themselves "How can we make a shell that's notably different from everything else that already works?" and someone piped up "OOP is the Way of Everything." Welcome to another episode of Redmond: Not Invented Here Syndrome.

    13. Re: Heu.. ???? by MightyMartian · · Score: 4, Informative

      Having administered Exchange from Exchange 97 to Exchange 2010, I can confirm that it's a pretty shaky system and can throw up some huge gotchas on occasion. It's also a bloated nightmare. I'm not sure if there's an upper limit to the resources that Exchange would gobble up.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    14. Re:Heu.. ???? by Dracos · · Score: 2

      I agree. I think MS is slowly abdicating development to *nix/FOSS so they can get it off their plate. They don't want to develop standalone software products anymore, they want to move everything to SaaS and more or less follow IBM's footsteps. But it'll take at least a decade, especially to get their enterprise customers (who are the only ones MS understands and cares about) on board for that transition. I bet in a few years we'll see OEMs actually be more allowed to preinstall other OSes. There may not be a consumer-level Windows in 10 years.

    15. 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.
    16. Re:Heu.. ???? by chispito · · Score: 5, Informative

      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".

      You never wished for an object-oriented shell because you are already proficient in Unix shells, and it is clear you have only ever tried to make PS fit the Unix paradigm.

      What I particularly dislike is how it automatically filters output, and you have to use arguments or other applets to give you fuller output.

      Only the view in the console window is filtered by default. If you send the pipeline to a csv or xml, you'll get everything. It filters the console view because there is far more and more complex data being send along. It is not Unix, the pipeline is not compose of flat lines of text.

      --
      The Daddy casts sleep on the Baby. The Baby resists!
    17. Re:Heu.. ???? by thegarbz · · Score: 3, Funny

      HAVE YOU NEVER HEARD OF CODE REUUUUUUUUUUUUUUUUUUUUUSE?!?!?!

      Of course I have. Find code you want to re-use, copy it, and paste it into your new script. Code reused.

    18. 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.

    19. Re:Heu.. ???? by MightyMartian · · Score: 2

      I don't want the results filtered even on stdio to a command window. Yes I know they're not filtered if redirected to some other stream, but the fact that it filters it for the command prompt is absurd, and often renders the output useless unless you throw in the flag. How is "c:\somedir\someotherdir\importantf..." useful?

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    20. Re: Heu.. ???? by Antique+Geekmeister · · Score: 2

      This has been true for decades. The forced familiarity with lower level tools such as DNS, DHCP, LDAP, or CIFS to manage services in a standards based and standards compliant way provides deeper knowledge and ability to fix issues than a typical Windows of equal experience brings to the task. Too much of Windows admin knowledge is often transient, learning specific button clicking interface patterns for certain tasks, with little review of _how_ things work or how the configuration data is stored The simple fact that Active Directory published "export" of their configurations bear only a casual resemblance to the actual data used is not something they are trained to appreciate.

    21. Re:Heu.. ???? by Gadget_Guy · · Score: 2

      After 20 years of MS trying to kill the shell, they relented and decided the Windows platform needed one.

      What on Earth gave you the impression that Microsoft had been trying to kill the shell?

      For over 20 years they have made improvements to scripting from COMMAND.COM to CMD.EXE when we all moved to Windows NT. They added the Windows Scripting Host in 1999 with a large number of languages supported. Ten years ago they came out with PowerShell, which they have implemented as a central component so that some of the configuration programs are simply just a front-end to PowerShell (to teach people the scripting ways of controlling their server software).

      They have also implemented the Server Core installation option of Windows Server, and the user interface is just a command prompt. No taskbar or explorer shell. None of these things are Microsoft trying to kill the shell.

      PowerShell is not a result of a "not invented here" syndrome. If they had just made a copy of bash, then it would not done nearly as much as what PowerShell achieves. Microsoft didn't just try to be different, they tried to come up with something better.

    22. Re:Heu.. ???? by MightyMartian · · Score: 4, Insightful

      No, I'm asking how is cutting off a path of a file (as an example of the kind of shortened output Powershell commands can produce) informative? And yes, I know it's fairly easy to overcome, but it just strikes me that this is the kind of GUI-centric thinking (this kind of output is straight out of a Listview object) that infects Powershell.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    23. Re:Heu.. ???? by Megol · · Score: 2

      It is SO "systemd". More of the binary is better bullshit.

      Hint: computers work in binary. Computers are fast, users are slow. Letting the computer represent data in a manner that avoids conversions between external data to/from internal data avoids a lot of unnecessary computation. But then one have to convert between binary and text when communicating with users, right?

      It isn't a problem given the extremely slow I/O speed of a human - conversion of a subset of data suitable for a screen takes very little computation power.

      In a modern system binary _is_ better. The added complication of translation to/from a human format is more than compensated by removing unnecessary text -> binary parsing for common tasks and the advantages binary data can have in redundancy, error correction and structured storage.

    24. Re:Heu.. ???? by brantondaveperson · · Score: 2

      "ls" is a great example. On unix, it's more or less impossible to take the output of ls, and break it apart into sane information, like file size and filename. As soon as you get spaces in filenames, you're shit out of luck.

      Powershell is a brutally ugly thing to use, but the idea of piping information around that isn't just lines of text is great. I just don't think that it's been implemented well yet.

  2. A sign of things to come. by Hylandr · · Score: 2

    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.
    1. Re:A sign of things to come. by FictionPimp · · Score: 2

      The future for them is linux. There is no value in writing operating systems as we move to the cloud. The value is in charging monthly to host those systems and writing tools to use and manage those systems.

    2. Re:A sign of things to come. by Hylandr · · Score: 2

      Than Linux has won.:)

      --
      ~ People that think they are better than anyone else for any reason are the cause of all the strife in the world.
    3. Re:A sign of things to come. by nine-times · · Score: 5, Insightful

      I think this is simple a smart move. You don't really have Linux admins saying, "Man, I wish I had Powershell!" as much as you have Windows admins saying, "I spent all this time making Powershell scripts. I wish I could run the same scripts on Linux." They're servicing their own users, and providing extra value in learning to use Microsoft technology.

      This is the sort of thing that I used to think Microsoft was stupid for not doing.

  3. Re:How much spyware is in it? by Austerity+Empowers · · Score: 4, Insightful

    Solutions to problems no one except windows admins are having. I don't think I'll lose much sleep.

  4. It's not what I call a scripting language. by VAXcat · · Score: 2, Insightful

    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.
    1. Re:It's not what I call a scripting language. by Black+Parrot · · Score: 4, Funny

      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.

      Wow, that's elegant.

      --
      Sheesh, evil *and* a jerk. -- Jade
    2. Re:It's not what I call a scripting language. by spongman · · Score: 2

      sls '<regex>' <files>

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

      Wow, that's elegant.

      Actually, depending on what was being piped, it could be simplified to:

      cat file.txt | where PropertyName -match "regex"

      But where the elegance lies is that the similar code would work for other conditions, beyond what grep could do. If you wanted to find all the long lines in a file, you would say:

      cat file.txt | where Length -gt 80

      Of course, if you use the scriptblock version with the { } characters, then you can do complicated expressions

      # Find long lines that start with the word using
      cat file.txt | where { $_.Length -gt 80 -and $_ -match '^using" }

      # Find large files
      dir | where Length -gt 1mb

      # Find large files that were written within the last week (not optimised)
      dir | where { $_.Length -gt 1mb -and $_.LastWriteTime -gt (get-date).AddDays(-7) }

      This so-called non-elegant grep replacement can be used anytime you want to filter something. It doesn't have to be the contents of files or files themselves. Here I download the Slashdot.org homepage and find the link to the privacy statement:

      $html = invoke-webrequest http://slashdot.org/
      $html.Links | where InnerText -eq 'Privacy'

  5. Re:God Save us. by fisted · · Score: 3, Insightful

    Nope -- they only ruin Lunix. The BSDs are doing fine.

  6. Re:How much spyware is in it? by mlw4428 · · Score: 2

    If it's open sourced it can have the same amount of spyware the Linux kernel has if not less.

  7. Re:How does it compare? by FictionPimp · · Score: 3, Informative

    Powershell can be really powerful. Everything is a object and it allows you to easily write your own cmdlets and modules to extend the shell. No more parsing the text output of one command to create input to another. It's really very slick.

  8. 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.

  9. Re:Bash is outdated by bmo · · Score: 2

    That's why we have zsh and fizsh with syntax highlighting and all that fun stuff and other interpreters like tcl.

    I've used powershell. It's the first thing I install on a Windows system if it's not already there.

    It's fucking awful. The only useful thing about it is that the two letter unix commands are aliased, so I don't get a dumb error when I type ls.

    The syntax of powershell is un-fucking-readable. You can type it with tab completion and aliases, but man, Looking.At.AlltheObjects.LabeledThis.Way for more than 15 minutes makes my eyes bleed.

    Microsoft /could/ put REXX (or tcl!) in as a system scripting language, but since that makes too much sense, they'll never do it. They could do a lot of things that make sense, but we're talking about Microsoft here.

    Pfui on PS.

    --
    BMO

  10. Re:who wants it? by Bobfrankly1 · · Score: 3, Insightful

    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?

    For many, working with an object-oriented terminal is immensely more preferable to having to wrangle text.

  11. 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
  12. Re:Too little, too late. by sconeu · · Score: 2

    Clearly PowerShell is intended to manage systemd.

    --
    General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  13. Re:Wow, will registry/hive on linux follow? by I4ko · · Score: 2

    sysctl and gconf anyone?

  14. 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.

  15. Re:who wants it? by Dr.+Evil · · Score: 2

    Powershell has a very steep learning curve and IMHO lacks the end-user history of traditional unix shells.

    That said... doing things like having most of your OS exposed through objects for inspection and manipulation, even cells in spreadsheets or network resources has value.

    You *could* do this in bash with /dev/tcp/whatever, perl, sed, python and possibly an ldap client, but the exposed methods in powershell are more stable, have fewer dependencies and are easier to understand.

    The fact that it's so hard to do simple things makes it very difficult to add to your knowledge without reading a few books or taking some course on the subject, then using it daily in Windows admin work.

    I always wish I knew more about using it, but... unless you're deep in this stuff, it's better to skim the capabilities and let the Windows admins figure out the details.

  16. Re:How much spyware is in it? by bondsbw · · Score: 2

    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.
  17. Re:Slashdot Commentor by DNS-and-BIND · · Score: 2

    How about letting actual Slashdot commentErs make the comments instead of building a ridiculous strawman? +4 Insightful, really?

    --
    Shutting down free speech with violence isn't fighting fascism. It IS fascism!
  18. Re:Q and A Time: What can Powershell do... by MightyMartian · · Score: 3, Informative

    Ever heard of awk and sed? I've been doing complex manipulations of data using tools like this for most of my IT career. Christ, I used awk to transform weird variant field exports from a mainframe to CSV to be imported into an inventory system while the most complex shell language Microsoft offered was the MS-DOS 6 command.com.

    Honestly I think some of the people bragging up Powershell never really used *nix at all, at least not in any sophisticated way.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  19. Re:Slashdot Commentor by Holi · · Score: 2

    And Office, and after seeing all the attempts at replicating it, Exchange.

    --
    Sorry, teleporters just kill you and then make a copy. A perfect, soul-less copy.
  20. Re:How much spyware is in it? by Anonymous Coward · · Score: 2, Informative

    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.

  21. Re:Q and A Time: What can Powershell do... by multi+io · · Score: 2

    On linux, piping commands in bash are extremely limited. mostly because the command you pipe from cannot customize what data it is going to output to the command you pipe to.

    Why exactly should it be able to customize output based on the pipe target? It sounds like something that makes commands work only with some specific other commands, seriously limiting reusability.

    Yeah, almost everything that's genuinely useful limits reusability somewhat. By your logic, OOP "limits reusability" compared to raw assembly language, which allows you to do more things, including implementing your own OOP language in it. In reality, OOP tries to hit a sweet spot by constraining reusability somewhat and gaining functionality and ease of reusability for it. I've never used PS, but I understand that using object streams instead of text line streams will provide advantages. If the processes on both ends of the pipe declare what kind of objects the support, the shell can provide enhanced functionality if the processes support it, and fall back to text or to a generic meta object protocol otherwise.

    Have you ever tried to grep from an mbox file all mails sent last month by a specific sender? That's gonna be next to impossible because grep doesn't know anything about mails, and because grep is line-oriented, but an mbox file doesn't contain one mail per line. OTOH if you can turn the mbox file into a stream of "Mail" objects, which it really is, the job is probably trivial even with any kind of "object grep" that just works via reflection and doesn't know anything about Mail objects specifically.

  22. Re:who wants it? by 93+Escort+Wagon · · Score: 3, Funny

    ... For many ...

    You keep using that word. I do not think it means what you think it means.

    (best read in a pseudo-Spanish accent)

    --
    #DeleteChrome
  23. Re:44MB source code by 93+Escort+Wagon · · Score: 5, Funny

    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?

    Well, you need to understand that unix-based versions of powershell are actually being implemented through emacs.

    --
    #DeleteChrome
  24. Re:who wants it? by rastos1 · · Score: 2

    working with an object-oriented terminal is immensely more preferable to having to wrangle text.

    You would need to have the objects first. On windows you have objects representing registry keys, services, users, installed packages, processes, scheduled tasks, shares, office documents, etc. etc. - Powershell gets the power from that. And in order to be similarly powerful on Linux, it would need to have bindings for all that on Linux. Somehow I doubt that.

  25. Re:AWESOME! by The-Ixian · · Score: 2

    gci -recurse | sls 'hole_in_the_ground'
    grep -r 'hold_in_the_ground'

    Difference of about 10 characters.

    Also... there is tab complete in PS just like in bash so....

    Although, unlike in bash, tab completion also works for command line parameters as well so you wouldn't need to type all of "-Recurse" you would just need to type "-R" and then hit Tab once. so now the difference in keystrokes is fairly minimal.

    --
    My eyes reflect the stars and a smile lights up my face.
  26. Re:who wants it? by Darinbob · · Score: 2

    But with bash you can just start typing text. No need to look up obscure command system and object names if they only thing you want to do is get a list of all files matching a pattern. There's no text wrangling, you just start typing commands. And the same syntax you use for giving commands is used if you want a complicated script.

    The difference is that Unix is oriented around commands and programs that take input and give output; whereas Windows is oriented around DLLs and frameworks that build on top of DLLs.

    So dealing with those DLLs from a scripting language is very powerful, but those are inherently complex operations. The learning curve is like a brick wall. Unix builds on combining very simple operations into more complex results. If you only use powershell twice a year you'll forever be stumped and lost, but if you use bash only twice a year you'll still be able to get stuff done.

  27. Re:who wants it? by Bobfrankly1 · · Score: 4, Informative

    But with bash you can just start typing text. No need to look up obscure command system and object names if they only thing you want to do is get a list of all files matching a pattern. There's no text wrangling, you just start typing commands. And the same syntax you use for giving commands is used if you want a complicated script.

    The difference is that Unix is oriented around commands and programs that take input and give output; whereas Windows is oriented around DLLs and frameworks that build on top of DLLs.

    So dealing with those DLLs from a scripting language is very powerful, but those are inherently complex operations. The learning curve is like a brick wall. Unix builds on combining very simple operations into more complex results. If you only use powershell twice a year you'll forever be stumped and lost, but if you use bash only twice a year you'll still be able to get stuff done.

    As someone who uses bash twice a month (red hat and ubuntu), finding some of the commands, or the correct syntax/switches frequently tends to be a frustrating experience. The man pages are occasionally helpful, but they're just as often a novel on something that's inapplicable, and missing the data I really need. That means a trip to google, and ending up on a blog page.

    When I compare that to the documentation in powershell, man seems like an empty water bottle, and powershell's Get-Help is a river. I can Get-Help -examples to skip directly to syntax examples, and I'm moved on to the next step before I've gotten half-way through a man document that *may* or may-not help me. Also, the naming of commands in powershell is *predictable* which is a *huge* help. Get-Command Get-* will return all the available commands for retrieving information, and Set- * for setting whichever.
    You can typically *guess* what a command does, just by looking at it. How frequently can you say the same for linux?

    Learning *either* can be like a brick wall, depending on what that person has already learned, but I see powershell's documentation and the obviousness of it's command names lends itself to faster learning, including among a couple of linux admins I taught a little powershell to. They still prefer the bash terminal, but I see the fluency of their powershell scripts jumping when they use it every few months.

  28. 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.

  29. Re:who wants it? by Gadget_Guy · · Score: 2

    But with bash you can just start typing text. No need to look up obscure command system and object names if they only thing you want to do is get a list of all files matching a pattern.

    You must be one of those people who wonders why foreigners speak foreign languages when English is so much easier to learn! (Even our children can do it) Bash is not magically easier than PowerShell for someone who only uses it twice a year. In fact, I would say that PowerShell is easier because it has a lot of built-in aliases to make it familiar to *nix users.

    Want to do a directory listing of all files matching a patter? Try ls *.txt. It will work in both bash and PowerShell. The arguments are different in PowerShell, but it's just a man ls to find out what they are (or just use the more convenient tab completion). Of course, those aliases are shortcuts to a verbose command naming scheme. I would think that for a very occasional user who might not remember the commands, it is far easier to use a system that has real descriptive names rather than the ultra-terse naming scheme used by *nix. Even if you can't remember the exact name in PowerShell, you can simply use a wildcard for the command name. Can't remember the command to export a CSV file? Type *csv* and keep pressing tab to cycle through the commands (or type man *csv* to see the entire list). If the occasional bash user had to export a CSV what would they do?

    Also, PowerShell has a much more consistent argument naming scheme. The basic utilities on *nix have a diverse structure are arguments. For example, ls and find cover a similar subject, yet their arguments are worlds apart. You may be used to that, and so it seems familiar, but it is certainly not a simple case a sitting down and typing.

    The difference is that Unix is oriented around commands and programs that take input and give output; whereas Windows is oriented around DLLs and frameworks that build on top of DLLs.

    That is not an accurate assessment. PowerShell is all about commandlets and functions that take input and give output. The difference is that the input and output isn't just a stream of text, but objects. If you want to get the size of a file, you read it as a number; you don't have to convert the text in a particular position of a directory listing.

    The pipeline is super-important in PowerShell. Objects, and lists of objects, are passed around and processed either sequentially or in a batch. The objects and pipeline are basically what gives PowerShell its power. To ignore that and talk about DLLs is just missing the entire point.

  30. Articles about PowerShell by Futurepower(R) · · Score: 2

    Articles:

    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 .NET, Part 1 of 3. (Because the problem is in .NET.)

    And don't forget the very poor writing quality of the documentation.