Become a fan of Slashdot on Facebook


Forgot your password?

Microsoft PowerShell RC1 548

rst+ack writes "Microsoft has released RC1 version of PowerShell the .NET-based shell with perl-like syntax previously known as Monad or MSH. PowerShell (PS) has been covered a few times on Slashdot. Contrary to cmd.exe and Unix/Linux shells it operates on objects, not text when passing data between scripts and executables. Easy access to .NET classes allows users to create quite advanced solutions in short time. PS won't be shipped with Vista or Windows Server 2007 but it will debut with Exchange 12."
This discussion has been archived. No new comments can be posted.

Microsoft PowerShell RC1

Comments Filter:
  • can you? (Score:4, Funny)

    by killjoe ( 766577 ) on Tuesday April 25, 2006 @05:51PM (#15200581)
    Can you resize the window and copy and paste easily into the windows. If so it's already 10 times better then CMD.EXE.
    • Re:can you? (Score:4, Informative)

      by Vicegrip ( 82853 ) on Tuesday April 25, 2006 @05:55PM (#15200626) Journal
      You can do both with cmd.exe ... check the properties of the window and adjust the buffer sizes to your taste. I use 132X9999. Turn on Quick Edit Mode for right-click paste actions. And, if you want, you can also drag a folder from Explorer into the window to copy-paste the path to the command line.
      • Re:can you? (Score:3, Interesting)

        by Otter ( 3800 )
        OMG, bless you! (For those who don't understand what "check the properties of the window" means, right-click on the title bar.) I see you can drag files to the command line as well, not just directories.

        To resume complaining about Microsoft, though -- perhaps they could include a help button or any other visual cue that there's more to the app than a window with a cursor? It doesn't have to be Clippy ("It looks like you're trying to use Unix commands out of habit!") but I wouldn't mind having the cat scratc

        • Re:can you? (Score:5, Informative)

          by interiot ( 50685 ) on Tuesday April 25, 2006 @06:18PM (#15200807) Homepage
          Be sure to turn on tab-completion [] while you're at it (it's not the best tab completion in the world, but it's better than nothing)
          • That's working already. (Just as well, as I don't have permission for that registry change.) Maybe it's on by default in XP (the link refers to W2K) or maybe our company build has it on.

            I actually like the sequential tab completion, at least when there are only a few options. My ideal would probably be the MS-style completion for a configurable number of choices, at which point it spills over to bash's tab-*beep*-type-tab-*beep*-type-tab behavior.

      • Turn on Quick Edit Mode for right-click paste actions.

        Holy crap... Since I resigned myself to using XP at work, I have so wanted a way to get the command prompt to use the Win2k style of cutting and pasting.

        And you've just provided it.

        Bless you! If I had mod points, and you hadn't already hit "5"... Well, you get the idea.
      • Re:can you? (Score:3, Insightful)

        by Excelsior ( 164338 )
        You can do both with cmd.exe ... check the properties of the window and adjust the buffer sizes to your taste.

        Increasing the buffer size still doesn't let you resize the window horizontally, although it does allow you to increase the size vertically. It's a fixed width window, which really stinks.
        • Re:can you? (Score:3, Informative)

          by nmb3000 ( 741169 )
          Increasing the buffer size still doesn't let you resize the window horizontally

          True, but you can change the maximum window width as well. Change the buffer and window widths from 80 chars to something like 120 to get a wider window. You can resize it to make it smaller, though you get scrollbars along the bottom of the window.

          Not quite as nice as a *term window, but then Windows doesn't revolve around a terminal quite like *nix does.
        • Re:can you? (Score:5, Funny)

          by forkazoo ( 138186 ) <> on Tuesday April 25, 2006 @06:52PM (#15201018) Homepage
          You can do both with cmd.exe ... check the properties of the window and adjust the buffer sizes to your taste.

          Increasing the buffer size still doesn't let you resize the window horizontally, although it does allow you to increase the size vertically. It's a fixed width window, which really stinks.

          It certainly isn't what it should be... But, if you go to properties, and go to the layout tab, then change *both* the horizontal buffer size and the the horizontal window size, it works fine. It's just buried on the third tab of the not-very-obvious properties window -- don't confuse it with the buffer size setting on the first tab, as this is unrelated.

          Now, why in the name of god they don't just let you resize it with the mouse like every other Windows window, and every other terminal emulator like kterm/gterm... I have no god damned idea. But, it is there, pointlessly buried. Third tab of the non-obvious properties window, where you have to change two different settings by hand. People keep asking me why I don't prefer Windows. They keep insisting, "Isn't Windows easier to use?" Egad.
        • Quick resize (Score:4, Informative)

          by Craig Davison ( 37723 ) on Tuesday April 25, 2006 @08:26PM (#15201555)
          For 90 cols x 60 lines, try
          mode 90,60

      • Re:can you? (Score:5, Informative)

        by Fareq ( 688769 ) on Tuesday April 25, 2006 @07:57PM (#15201380)
        while we're giving out CMD.EXE tips, try this:

        enter a few commands
        then press F7 for surprising results
    • Re:can you? (Score:3, Informative)

      by eMartin ( 210973 )
      I haven't tried this release yet, but the last one, seemed to run in the same command prompt window, so all GUI functions were the same.

      One nifty feature though, is that you no longer have to type the drive letter first to change to a directory on it.

      In other words cyou can be in "c:\foo", and just type "cd d:\bar". You used to have to type "d:" and then "cd d:\bar".
    • Not sure what kind of resizing you are not able to do right now, but anyway the console is independent of what you run in it. It's like asking whether bash allows console window transparency in X.
    • You *can* copy and paste into cmd.exe. You right-click on the window and hit "paste."

      Seriously, Linux users are supposed to be smart. ^_^

  • Text (Score:4, Funny)

    by pete-classic ( 75983 ) <> on Tuesday April 25, 2006 @05:51PM (#15200584) Homepage Journal
    Contrary to cmd.exe and Unix/Linux shells it operates on objects, not text when passing data between scripts and executables.

    Why would you want to use an arbitrary, difficult to debug format like text when you could use .NET objects?!

    • Re:Text (Score:4, Funny)

      by cp.tar ( 871488 ) <> on Tuesday April 25, 2006 @06:01PM (#15200671) Journal

      Currently reading: CLASH - Common Lisp As SHell.

      Objects? We don't need no stinkin' objects!

    • Re:Text (Score:2, Insightful)

      by nuzak ( 959558 )
      > Why would you want to use an arbitrary, difficult to debug format like text when you could use .NET objects?!

      Maybe so we don't have to parse and re-parse and re-re-re-parse the damn text every time. To say nothing of data that's nested. Of course we could all just use XML and YAML, we just have to rewrite every app to serialize and unserialize these grotesque formats.

      Frankly I don't see the need to justify the addition of functionality for people who do nothing but bitch about how real problems don't
      • Re:Text (Score:3, Insightful)

        by ookaze ( 227977 )
        Maybe so we don't have to parse and re-parse and re-re-re-parse the damn text every time. To say nothing of data that's nested. Of course we could all just use XML and YAML, we just have to rewrite every app to serialize and unserialize these grotesque formats.

        Do you understand that the shell is suited for system administrators and not for programmers ?
        Well, programmers can use it too, that's a powerful feature, not a drawback.
        System admin don't need to parse and reparse and re-re-reparse anything.
        No BS abo
    • Re:Text (Score:3, Insightful)

      by RovingSlug ( 26517 )
      Am I the only person that thinks piping objects between processes instead of an raw byte stream sounds very, very awesome?

      I do a lot of bash and perl scripting and am very good at it. The freedom in transformation that perl gives over plain text is huge.

      Extending that data to objects opens up a whole new world of capability in the same way, say, perl and regular expressions opened up whole new capability for munging data. Mmmm... munging objects.

      Absolutely, totally cool. Don't be a Microsoft hater just b
  • by joe_bruin ( 266648 ) on Tuesday April 25, 2006 @05:52PM (#15200590) Homepage Journal

    Those who do not understand Unix are condemned to reinvent it, poorly.
    • by bod1988 ( 925911 ) <> on Tuesday April 25, 2006 @05:59PM (#15200660) Homepage
      I belive they have. It's called linux.
      • Linux is posix (Score:3, Insightful)

        by CarpetShark ( 865376 )
        No, linux is an implementation of Unix, not a reinvention of it. It's POSIX-compliant. Windows is still fumbling around with basic lessons which were learned by unix professionals years ago. Nothing different than you'd expect from an OS designed for home computers really.

        As for monad/powershell... it's the same story. Instead of having the shell of your choice (bash,csh,zsh,python...) with the programming language of your choice (bash,perl,python,C++...) they're still trying to force a vision on people
        • Re:Linux is posix (Score:3, Informative)

          by DaHat ( 247651 )
          Linux is POSIX-compliant? No it's not... it implements a number of things from the standard but is by no means compliant with it.

          If you are going to claim that the Linux implementation makes it compliant than you should extend a similar courtesy to Microsoft's POSIX implementations.

          Both have some, but no where near all.
    • How quickly we forget history [].

      Microsoft did Unix back in the 80s, and used it internally well into the 90s.

      I would trust Microsoft's Unix knowledge just as well as I'd trust Apple's unix knowledge in the late 90s --- and look at the runaway success that OS X has been.

      Don't judge a book by its cover. I'm not the biggest fan of Microsoft, but I'll concede that they've had a number of fantastic successes to their name. Powershell sounds quite interesting and innovative from what I hear -- actually one of the
    • by PhrostyMcByte ( 589271 ) <> on Tuesday April 25, 2006 @06:51PM (#15201013) Homepage
      I've used MSH on and off for the past 2 years or so, and I can attest to it being powerful. I'm not a big bash scripter but this sure makes some things easier than what I've experienced in Linux shells.

      The big thing is- who wants to wait 4-5 seconds for their shell to launch? And this is in 64-bit with 2 gigs of RAM and MSH ngened (ngen == cache of pre-JITed .NET code). What used to take a split second can now easily take orders of magnitude longer than the script itself takes to run. Plus, it runs inside the old cmd.exe - this means we're still stuck in a non-Unicode world. Good luck trying to run some quick database queries in non-ascii!

      It's an admirable attempt but I think it's far too slow for normal use- until they fix that I can't imagine it picking up much of a following.
      • by RupW ( 515653 ) *
        Plus, it runs inside the old cmd.exe - this means we're still stuck in a non-Unicode world. Good luck trying to run some quick database queries in non-ascii!

        Jeffrey Snover, chief architect, acknowledges this on the old blog []

        We all share your frustration with the existing console. Remember that MSH.EXE is just our implementation of a UI for MONAD and that other people can provide them as well. I refer you to Karl Prosser's [] for a very cool UI.

        Jeffrey Snover

        (the old bl

  • Probably never, would be my guess, but one of the things I find annoying is how much reinvention-of-the-wheel Microsoft gets away with and yet continues to make the ridiculous claim that they're innovating, when in fact they're merely catching up. Bill Gates, welcome to 1994.
  • We WANT Linux/Unix shells...they work just great, and have lots of tool support...and have lots of good documentation...and have 20+ years of abuse.
    • Re:but but but (Score:5, Informative)

      by x0n ( 120596 ) <oising.iol@ie> on Tuesday April 25, 2006 @06:26PM (#15200856) Homepage Journal
      We WANT Linux/Unix shells...they work just great, and have lots of tool support...and have lots of good documentation...and have 20+ years of abuse.
      Well, what's stopping you? install one [].

      - Oisin

    • And 20 years ago, people thought GUIs were a toy. They liked shells, and they'd state similar reasons to yours.

      I'm willing to give MS the benefit of the doubt here. They may have come up with a good idea (then again it could be terrible). I don't know if I'll ever use it (I banished Windows), but if I do I'll rate it without bias.

      Should I give my, I'm not an MS shill disclaimer now?
  • by Orrin Bloquy ( 898571 ) on Tuesday April 25, 2006 @05:56PM (#15200636) Journal
    If so, sign me and Fred Savage up!
  • i don't get it. (Score:5, Interesting)

    by moochfish ( 822730 ) on Tuesday April 25, 2006 @06:00PM (#15200662)
    Is it just me or does it seem insanely odd that a "shell" for an OS is a) shipped seperately and b) doesn't use text as a native data type? Maybe I'm stuck in the "past," but I always saw the shell as the barebones method for a user interact with an OS. Either this really is cutting edge (object data types) or this is just a hyped-up .NET application that is designed to *look like* the shell.
    • Re:i don't get it. (Score:3, Insightful)

      by pimpimpim ( 811140 )
      not only shipped separately, but bundled with the Exchange mail server only! I guess it comes in handy to move mail databases around, but then again, maybe you need heavier stuff for that. It just doesn't make too much sense.

      Furthermore, what I do with shell is, for example: call a program, catch the output, read in the 3rd column, print that combined some command to the shell again. This is easy when you work with text and you don't have to worry about the variable type of the 3rd column (be it a number,

      • Re:i don't get it. (Score:3, Informative)

        by Chokolad ( 35911 )
        > I think you will get in big trouble if all this data has to fit into a .NET datatype, you'll need a lot of coding around (string to filename, integer to filename, etc etc) to get it working, which is not what shell scripting is about!!! I will write a real program if I want to do something tidy like that, my shell script is there to solve a problem quick 'n dirty, thank you very much!

        This exact scenario is actually simpler in Powershell - check this blog entry []
    • Windows has a different culture to *nix. On *nix, most basic management software is either FOSS, or comes packed with the OS. On Windows systems, you pay for everything.


      Except IE.

      Want file conversion software? Pay for it. Want interface software? Pay for it? Want ssh? Pay for it. Want to do something that is taken for granted in *nix systems and can be done by three different programs running on the system by default? Pay for it.

      Let's face it, you can't get the functionality of pico on a windows
  • by expro ( 597113 ) on Tuesday April 25, 2006 @06:01PM (#15200672)
    I wonder if the trademark works. They will probably have to call it Power Microsoft Shell. People will likely want to have Unix-like piping of textual results. Does this mean a Text array gets instantiated, or is it a stream object?
  • More like WMIScript (Score:5, Interesting)

    by Anonymous Coward on Tuesday April 25, 2006 @06:04PM (#15200693)
    Seriously. Look at the sample scripts []. Every last one of them looks like this:
    $strComputer = "."
    $colItems = get-wmiobject -class "Win32_UTCTime" -namespace "root\CIMV2" `
    -computername $strComputer
    foreach ($objItem in $colItems) {
          write-host "Day: " $objItem.Day
          write-host "Day Of Week: " $objItem.DayOfWeek
          write-host "Hour: " $objItem.Hour
          write-host "Milliseconds: " $objItem.Milliseconds
          write-host "Minute: " $objItem.Minute
          write-host "Month: " $objItem.Month
          write-host "Quarter: " $objItem.Quarter
          write-host "Second: " $objItem.Second
          write-host "Week In Month: " $objItem.WeekInMonth
          write-host "Year: " $objItem.Year
    So, we can query the Windows Management Interface, and we can write it to the console. Awesome.

    Guys, next time, think about making it do something before you put out a release candidate.
    • by Anonymous Coward on Tuesday April 25, 2006 @09:49PM (#15201857)
      Unfortunately a lot of the examples on ScriptCenter are direct translations of VBScript examples. This is good in the sense that it shows how a VBScript user can migrate stuff to PowerShell. It's not, however, a good illustration of how PowerShell works. The above script can simply be written as

      get-wmiobject Win32_UTCTime

      WMI is one of the reasons we needed an object-based shell - it presents Window management information as a collection of objects. Writing code to render those objects to strings and then parse them back into objects is not realistic. We needed a shell that could deal with them directly.

      Bruce Payette
      PowerShell Technical Lead
      • by YeeHaW_Jelte ( 451855 ) on Wednesday April 26, 2006 @03:37AM (#15202976) Homepage
        I can't believe no one picked up on this comment. Mr Payette here is giving us interesting insight into the reasons for the object-orientatedness of the shell.

        As I understand it, the difference between PowerShell and your typical Unix shell is that the Unix OS is built around the shell and PowerShell is built around the OS.

        As text exchange of data is the de facto way of piping data between applications in a unix system and the shell has long been the de facto way of interacting with the OS and the applications running on it most applications and the OS itself have been built to interact very well with the shell.

        However, on windows, which hasn't been built around the shell and which presents objects as the standard way to share data, they had the choice of either
        a: adding functionality to all applications in order to allow it to interact in a text-based way with cmd.exe, which is rediculous because of the vast number of applications already out.
        b: writing a shell built to integrate with the OS and the objects it uses to exchange data, which they did with PowerShell.

        Basically, this seems a sound design decision which probably has it drawbacks (necessity for data type handling & such ) but seems like a good match for winOS'es. An object orientated shell would probably not work very well with a unix OS, if only for the fact that (most?) unixes are written in C, which does not do objects at all.

        Seems like a good solution for windows systems, too bad it isn't (won't be?) included with the OS by default. It might make windows a better place to live for all us CLI types, and it can't possibly be worse than cmd.exe, can it?
        • by tgv ( 254536 )
          Unix is not built around the shell. The shell is just a normal executable (program, software, ice, whatever you call it) that uses Unix system calls to become a command interface.

          The Unix shell has no knowledge of what the other executables or scripts that you execute with it do and the OS doesn't require text to be passed between programs. The unix philosophy is that everything is a stream of bytes and programs can do with them whatever they want.

          The advantage of having a program output text rather than so
          • If that's the case, the PowerShell is going to be somewhat inconsistent and tricky to deal with for people who are used to the (IMHO simple and elegant) idea that "ls > file; wc file" is the same as "ls | wc".

            IIRC there is a text serializer which you can use with if all you want is basic text output. so ls | totext | wc would do the same as ls |wc on unix. And if they did things right (didn't tried monad myself, just read some articles about it), they'd have the "commands" have default input and ouput f

  • by brightloudnoise ( 102680 ) on Tuesday April 25, 2006 @06:07PM (#15200714) Homepage
    Windows PowerS hell

    I knew it all along!
    • by Anonymous Coward
      If that was true, hell would be freezing over constantly and therefore we'd all be getting laid on a daily basis.
  • Clippy? (Score:3, Funny)

    by MightyMait ( 787428 ) on Tuesday April 25, 2006 @06:09PM (#15200730) Journal
    What I want to know: does it come with a text version of Clippy?
  • by Anonymous Coward on Tuesday April 25, 2006 @06:11PM (#15200751)
    So: You want a shell-like environment that lets you type in commands to operate on objects representing files, directories, etc.

    Great! Install python*, install the file packages, open the interactive interpreter... you're done.

    Why bother waiting for this MONAD thing? It looks like all MONAD offers over any other interactively interpreted programming language right now is that it is compatible with the C# object model. Which, y'know, on the one hand, the UNIX "glue" platforms (python, perl, ruby, kde, gtk) could totally benefit from a unified object model that would allow you to construct an object in a GTK+ application, pass it to a perl script, pipe it to a ruby app, etc. But, y'know, on the other hand, python on windows supports the CLR/C# object model as well... and it's available now.

    * Or ruby.
  • by miffo.swe ( 547642 ) <> on Tuesday April 25, 2006 @06:31PM (#15200883) Homepage Journal
    The thing in *nix is that most applications support the shell. They are built for piping stuff in any possible way. Are the Windows applications going to be built with the shell in mind or is this going to be yet another cmd.exe where you have to build your own stuff to do what you want instead of like *nix where you just pipe at your hearts content.

    I have also a hard time imaging using objects being easier to understand for normal admins and users.

    Also, when exactly did the shell stop to suck and begin to be a good feture? The same second Microsoft made their own version?
  • by eman1961 ( 642519 ) on Tuesday April 25, 2006 @06:42PM (#15200947)
    Shells are often used for managing systems and networks. I think that PowerShell will do an adequate job at this, although it seemed to be more complicated than necessary to me.

    Unix shell scripts are also incredibly good at manipulating text files, using awk, grep, sed, cut, etc. I tried to do such a task with PowerShell and found it wanting. I revered to Windows Services for Unix (basically the Korn shell).

    For those who don't know, a monad is a notion in functional programming languages that is a way to structure computations in terms of values and sequences of computations using those values. Monads allow the programmer to build computations using sequential building blocks, which can themselves be sequences of computations. This is not dissimilar to how PowerShell works, but really, I when manipulating text files, I don't want to be dealing with functional programming language abstractions.

    • I always loved the old "Monad" name but I guess they changed it since no one got the joke. According to this page (second answer) [] the inspiration came from the 17th century philosopher Gottfried Leibniz. Leibniz proposed the concept of a Monad as the fundamental particle of the mental realm much as the atom is the fundamental particle of the physical realm.

      Monads are supposedly self contained and closed off from any outside input. This leads to the joke as I understood it. In describing the concept in his

  • Downloading (Score:4, Interesting)

    by Lando ( 9348 ) <<moc.liamg> <ta> <hsals+2odnal>> on Tuesday April 25, 2006 @06:48PM (#15200997) Homepage Journal
    Doesn't appear to be a way to get a copy to look at unless you have Passport which seems to require a hotmail account. I don't have time to read a couple of dozen licensing agreements atm and it looks like if I register I'm basically signing a non-compete license with Microsoft. Not really a term that I am willing to agree to. Has anyone gone through the contracts?
    • Re:Downloading (Score:5, Informative)

      by cybereal ( 621599 ) on Tuesday April 25, 2006 @07:49PM (#15201335) Homepage
      It takes five minutes to setup a passport account associated with any arbitrary email address and thus far has generated absolutely zero spam to my email account. You can also sign-up with a "Limited" passport account, which means, you can sign up with no association with any actual email address whatsoever. You end up creating a fake address for signing in.

      The contracts are not any different than what you would agree to with Google, Yahoo, or any other online service provider.

      Furthermore, with only accepting the passport license, it's a bit shorter than hotmail's. Try reading it yourself. The TOS is actually very short and easy to read if you're not illiterate: .0.5610.0&cbalt=www&vv=400&lc=1033 []
  • And the point is? (Score:3, Interesting)

    by thetoastman ( 747937 ) on Tuesday April 25, 2006 @07:14PM (#15201132)

    First of all, I would have to upgrade from Windows/2000 Professional to Windows/XP Professional. Since this costs money, I'm not terribly interested. My system has enough trouble running all the stuff I run now (2 databases, a web server, an application server, a development environment, etc. etc.). More operating system overhead is the last thing I'm interested in.

    Second of all, I get to write scripts in another language that's not portable across all platforms. I've never worked in a monolithic environment, and I probably never will. Cross-platform tools are a requirement.

    Third, I can do a lot of administrative programming for Windows in Perl. I imagine python and ruby have similar hooks (haven't checked). For personal productivity I run Cygwin's version of bash on this machine when I'm running Windows, and bash when I'm running Linux. Different people may want different interactive tools. Fortunately there are several cross-platform choices.

    Finally, while I've heard about all these productivity gains with C# and .NET, I've not experienced it. I have .NET, C#, and Visual C++ .NET on the Windows side of my environment. What I've seen is that Microsoft makes a credible IDE. The IDE makes simple things easy, and complex things ridiculous. Transferring skills learned in the Microsoft world to any other environment is difficult at best, and pointless for the most part.

    Oh - never mind - that's Microsoft's point.

  • Come kick the tires (Score:5, Informative)

    by jsnover ( 890842 ) on Tuesday April 25, 2006 @07:40PM (#15201283)
    I encourage you all to come kick the tires and find out what PowerShell really does/does not do. I think you'll be pleasantly surprised by its power and simplicity and might even like it. Many of us on the team have a deep background in UNIX and brought that into our work. Even if you don't like what we've done, trying it out will allow you to know enough to throw your rocks accurately. :-) milyId=2B0BBFCD-0797-4083-A817-5E6A054A85C9&displa ylang=en []

    If you'd like to learn more, you can read our team blog at: []

    Jeffrey Snover
    PowerShell Architect
    • by Aladrin ( 926209 )
      Okay sparky, here's the problem:

      Registration Required for This Download

      Okay, so I've got a passport account (please don't mod me down for this, I was young and stupid.) And yet, you can't sign in because passport is freaking out.

      I have been DYING for a worthwhile shell in windows. I've been using rxvt and aterm and they just don't match up to a console-only or yakuake session in true linux. I would LOVE to try your stuff. But you have to MAKE IT AVAILABLE TO DOWNLOAD.
      • by Westley ( 99238 )
        I had this yesterday, too. I believe it's due to Windows Live changes. Try following the "log in with a different email address" link (or whatever it is - you'll know the one I mean), then use the same address again, and things may well be okay. I had to do the above and then start from the download page again, but I got in that time.

    • by Anonymous Coward on Tuesday April 25, 2006 @08:56PM (#15201682)
      Windows PowerShell RC1 (for .NET Framework 2.0 RTM) x86 14c-8009-43ad-b953-1b18609cf14c/PowerShell_i386.zi p []
    • by fade-in ( 839519 )
      I hate to admit it, but from what I've seen of PowerShell I've really liked. I like the idea that the syntax for all commands is consistant, and enforced by the framework. No time spent retrofitting old commands to a new standard. Well, I guess you get that for free because you are now building everything from the ground up anyway.

      Some of the object-oriented features are quite nifty, and I don't see any of the standard UNIX shells doing that anytime soon. But I guess I'd really have to get into it bef
    • by RebornData ( 25811 ) on Wednesday April 26, 2006 @12:06AM (#15202409)
      Although I haven't played with it, I've read a bit about this shell, and there was something that bothered me about it, and I finally just put my finger on it: this thing was designed by programmers.

      I know that the line between "programmer" and "system administrator" is often blurry. And the line between "shell" and "interactive script interpreter" is as well. But when you start requiring people to understand concepts like objects (which may seem like old hat to a programmer), you're already presuming a relatively sophisticated understanding that an "average user" has no grasp of. And the .Net libraries are vast and complex... looking at some of the sample msh scripts, I understand how a windows programmer would think they were an amazingly powerful simplification, but damn there's a lot I have to know to get basic things done.

      Ye olde csh and sh are great because they provide a simple way to put programming logic around the set of operations users spend their entire day in and are already familiar with. The learning curve is very incremental: you can master the basic UNIX commands, and then start to add in variable subtitutions (!$ anyone?) and loops (foreach) and such as needed.

      In other words, the jump from basic UNIX user knowledge to simple scripting is very small, because the scripting is presented in *exactly* the same context and using the syntax the user does day-to-day work in. But as a competant windows admin who doesn't know VB and hasn't written a line of .Net code in my life, I see almost nothing familar when I read .msh scripts. It appears to require an entirely new body of knowledge to do simple things, and bears little or no relationship to the interfaces and paradigms I use day to day. Yes, I know those interfaces are graphical. Seems to me there's bound to be some way to do it (or would be if there were any logic or consistency to the organization of the everyday administative interfaces in Microsoft's products).

      Don't get me wrong... I understand that the goal of an intuitive scripting tool is in many ways at odds with providing a rich and powerful development environment that can complete with something like perl, but I had hoped there was something a little closer to "ground level" coming.

  • by XMilkProject ( 935232 ) on Tuesday April 25, 2006 @08:22PM (#15201528) Homepage
    I know its hard to accept microsoft did something good, but as someone who has been using betas of this for months, I must say it is pretty darn slick.

    Think of how great your linux environment is, becuase you can easily chain together applications that pass textual data between each other... This is the same idea, except we can now pass complex objects and custom data types as well.

    To solve the problem of how to 'display' an object, each object type can have an xml file describing how to display it in a text environment.

Genius is one percent inspiration and ninety-nine percent perspiration. -- Thomas Alva Edison