back to article Microsoft points PowerShell at Penguinistas

In yet another sign that Microsoft is a very different animal these days, the company has released PowerShell DSC (desired state configuration) for Linux. PowerShell DSC is a server configuration tool that has hitherto driven Windows Server boxen. But Microsoft's now decided it has a “commitment to common management of …

  1. thames

    "Whether those same admins are willing to move to PowerShell, instead of the the familiar tools they us to manage Linux, is another matter."

    I doubt that LInux/Unix server admins will have the slightest interest in it. Existing management tools for those platforms are well developed and established. You can use things like Puppet to manage Windows servers as well as Linux servers, and it's tools like that which Linux/Unix admins will turn to first.

    What I suspect is this intended for is an attempt to try to keep Windows based management tools relevant in the data centres of existing customers. If you can use Linux based tools to manage Windows servers but not use Microsoft's tools to manage Linux servers, then Microsoft would get squeezed out of the market.

    I expect these tools will be accompanied by some additional Windows only software which they can sell as an add-on. It's a pretty common business model.

    I'm waiting for our anonymous marketroid to chime in with his spin cycle about how the fact that Microsoft has to strive to work with Linux systems still means that Microsoft is destined (someday) for total dominance in the data centre.

    1. big_D Silver badge

      It depends which way you are going. Linux admins who also administrer one or two Windows servers probably wouldn't be interested.

      If you have a server farm with dozens of Windows machines and a growing number of Linux boxes, you might be interested, because you are moving from a PowerShell environment to a heterogeneous environment and if you can do that without having to re-invent the wheel, then that saves time and money.

      1. This post has been deleted by its author

        1. h4rm0ny

          MS have been selling Linux boxes for a long time. Log into Azure, select a Linux image - voila. MS have always had one single goal: they'd like your money please.

          MS want Azure to be the most successful Cloud infrastructure provider. Many customers want GNU/Linux in their Cloud, therefore MS have offered it for quite a long time now. And they actually do a fine job of it.

          When I saw the headline, I thought it was about porting Powershell to GNU/Linux and was all set to write a post about how the non-OO nature of GNU/Linux makes PS a lot less worthwhile than on Windows (which is OO from the ground up). But actually this is just about rolling support for them into the standard tools which makes a lot of sense.

          1. Anonymous Coward
            Anonymous Coward

            Huh?

            So OO languages aren't worthwhile on Linux?

            1. h4rm0ny

              >>"Huh? So OO languages aren't worthwhile on Linux?"

              No, that's an entirely separate thing (and obviously they are). The thing I alluded to is that Windows is itself structured in an OO manner. There's practically nothing in it that isn't exposed as an object. GNU/Linux is very different - it's primarily text oriented. Piles of configuration files in text format, the standard tools all work via text. Etc. One of the great things about Powershell is that it has Object Pipelining. So the output of the DIR command isn't a textual list of files and directories, but an array of file objects. Of course they convert automatically to text if you output them to screen, but you can pipe them to other applications as objects which is hugely useful. The output of the ls command in GNU/Linux is text, however. If you wanted to extract, for example, a list of file sizes, you do it by knowing where in the output the bytes column is and ripping it out with awk or equivalent. Similarly, you can configure any parts of Windows as objects. For example, file permissions are actually part of the ACL model which you can query and modify as objects.

              So the hugely useful object pipelining of Powershell is largely wasted in a GNU/Linux environment. That's what I was saying. It's nothing to do with OO languages not running or being useful on GNU/Linux, but that the environment itself isn't OO.

              1. Anonymous Bullard

                Hmm, I don't know... Powershell is an adequate scripting language, and there's no reason it isn't appropriate for Linux, considering .NET is roughly available for it.

    2. Anonymous Coward
      Anonymous Coward

      "I doubt that LInux/Unix server admins will have the slightest interest in it. Existing management tools for those platforms are well developed and established"

      Powershell is a lot more powerful, secure and fully featured than standard Linux shells like BASH though. Moving to Powershell would be a significant upgrade if all required Linux specific Powershell functionality was created...

      "You can use things like Puppet to manage Windows servers as well as Linux servers, and it's tools like that which Linux/Unix admins will turn to first."

      Until they have tried the Microsoft world equivalents like SCCM + Opalis and seen just how much easier to use and more powerful they are...

  2. channel extended

    System Requirements

    One of the requirements is a Win machine to extract the file. Why not a tarball? Is the source available? Upgrade fees?

    1. h4rm0ny

      Re: System Requirements

      >>"One of the requirements is a Win machine to extract the file. Why not a tarball? Is the source available? Upgrade fees?"

      To quote a great woman: "Did IQ's just drop sharply, while I was away?"

      It's a collection of Powershell scripts hosted on GitHub and you would normally obtain them via GIT. The link is right there in the (short) article. And if you're talking about the GNU/Linux client, you can install it with a package manager (e.g. Yum) and it's Open Source under a licence that is actually more permissive than the GPLv2 (basically do anything you want so long as you include the original copyright notice).

      1. Anonymous Coward
        Anonymous Coward

        Re: System Requirements

        Spectacular fail.

        Look at the text on the download centre:

        Other Software

        Windows computer to extract the Linux installation packages

  3. thames

    Ha! Ha! Ha!

    I just downloaded the package from Microsoft to have a look at it. The documentation is a "docx" file and the package for installing on Linux is an "msi" installer. Me thinks Microsoft haven't quite got the hang of this "Linux" thing yet.

    1. h4rm0ny

      Re: Ha! Ha! Ha!

      It's depressing that nine people so far have modded you up for that. You're looking at the Windows end of it (this whole thing is a tool for managing GNU/Linux from Windows). Go here:

      http://blogs.technet.com/b/privatecloud/archive/2014/05/19/powershell-dsc-for-linux-step-by-step.aspx

      Unless Yum has become part of the install process on Windows, this is where you should be looking for the GNU/Linux end of the integration. I mean I get the general superiority complex most technical people have, but seriously what was going through your mind? That MS had released a big GNU/Linux tool without stopping to check at any point if it would install on GNU/Linux? Did you really think that somehow they had missed this critical flaw which you'd just noticed? And for all the people who reflexively upvote gibberish just because it sounds like its mocking Microsoft, shame on the lot of you.

      1. Teiwaz

        Re: Ha! Ha! Ha!

        to be [un]fair.

        Stupider mistakes have happened in the past...

        http://www.theregister.co.uk/2003/11/06/microsoft_forgets_to_renew_hotmail/

      2. Anonymous Coward
        Unhappy

        Re: Ha! Ha! Ha!

        That's an appalling way to speak to someone who just got the wrong end of the stick.

        Shame on you for your lack of professionalism.

        1. h4rm0ny

          Re: Ha! Ha! Ha!

          >>"That's an appalling way to speak to someone who just got the wrong end of the stick.

          You're talking about the person who titled this thread "Ha! Ha! Ha!" and thought that MS had released a tool for Linux that they'd never actually tried installing on Linux? When someone crows about someone else's idiocy they've invited others to treat them the same way they treated their victim, really.

          1. Anonymous Coward
            Anonymous Coward

            Re: Ha! Ha! Ha!

            Did you even click on the link in the article?

            "The new tool can be found here. ®"

            You would think that you would find the tool if you clicked the link - and there you have it. A Linux tool, which requires Windows to use. doh!

            1. h4rm0ny
              Facepalm

              Re: Ha! Ha! Ha!

              >>"You would think that you would find the tool if you clicked the link - and there you have it. A Linux tool, which requires Windows to use. doh!"

              You really are a most stupid individual. Try actually reading the article or familiarizing yourself with what this is. It's not "a Linux tool" (that would be you). It's an addition to Windows software so that it can manage GNU/Linux configuration as well as Windows boxes. The GNU/Linux end of it is linked in the article. In fact, it is the FIRST link which you plainly missed in favour of the one at the end - skipped ahead for the conclusion in your rush to find faults, did you?

              Those things in the front of your face - they're called eyes. They can do many wonderful things such as reading a whole article if you try. I suggest you give it a go. And then you can also take a crack at explaining why where El Reg links to is Microsoft's fault whilst you're at it, if you please.

              1. Anonymous Coward
                Anonymous Coward

                Re: Ha! Ha! Ha!

                More concerned about what you had to say yourself, you've completely missed the point.

                It's my fault for not drawing a comic strip explanation.

                When an article says: "You can download the tool here" - what else are you supposed to think? The point is, you got on your high (and well fucked) horse and became disrespectful to someone who assumed the article pointed to the official download page of the tool. And as soon as someone pulls you up on it, you start on them too.

                That's my point, now carry on making it.

      3. thames

        Re: Ha! Ha! Ha!

        @h4rm0ny - "It's depressing that nine people so far have modded you up for that."

        It's depressing that 18 people have so far modded you up without looking at your link. That's just a link to a page on how to download and compile the source code. "Yum" is used in that process to install the compiler, Python, and Open-ssl libraries, assuming for some reason they are not already installed. Yum of course is the Red Hat RPM installer, used to install software from the Red Hat / Fedora / whatever repositories.

        After that you have to download some more source code from a third party web site (opengroup.org) and compile that. Amusingly Microsoft points to a dead link. I guess you are expected to rummage around on opengroup's web site to look for it.

        Assuming that you have compiled everything from source, then you need to cobble together a sys V init script. They helpfully give a sample which may or may not work. No Systemd or Upstart files or tips though.

        All in all, it's a prime example of the sort of thing which Windows fans claim is the normal install procedure for software on Linux, and which actual Linux users wonder WTF these Windows fan boys are talking about. Now we know. It's apparently the sort of thing which they have come to expect from Microsoft.

        Let us know when there's actual Linux packages available for actual Linux distros, and perhaps we can take a look at it.

        1. h4rm0ny
          Facepalm

          @thames

          So to summarize, the Linux fan here is lecturing me because MS have provided source code instead of binaries. Kids today!

          Would you also like to tell me how you are going off on this huge criticism about it not being included in the major distros when it was publically announced a few days ago? (And has even only got its first commit on github mid-April). What exactly is it you are expecting here?

          You were wrong. And in your efforts to avoid admitting it, we're now at the situation where you're complaining to a Microsoft user about having to deal with source code. If this is what this generation of GNU/Linux users have come to, then it's not the community I grew up in! You realize that the target audience for this is enterprise clients and data centres who manage large numbers of boxes. They can handle looking at GitHub whilst waiting a month for the distros to roll round to including it - they're capable like that.

  4. Tim99 Silver badge
    Windows

    I've wrestled with MS software for nearly 34 years

    It is a trap.

    1. This post has been deleted by its author

  5. Mikel

    Great image to accompany the article

    1. Anonymous Coward
      Happy

      That picture has already become part of my permanent collection here. Priceless.

  6. Notas Badoff

    Like grep? sed? awk?

    "nxFileLine: ensure that a file contains a specific line and/or does not contain lines matching a given pattern."

    Like grep? They've replicated a very small part of grep as new software for only their environment? They just don't get 'tools', do they?

    Proud doc for nxFileLine

    Note how they say it "manage lines" - it doesn't. It just greps a file. Is this grandiosity or ignorance, I never can tell with MS...

    Proud doc index

    1. Anonymous Coward
      Anonymous Coward

      Re: Like grep? sed? awk?

      Here we go again… embrace, extend, break…

      1. breakfast Silver badge

        Re: Like grep? sed? awk?

        Powershell does give you Windows equivalents of most of the standard unix commands, but they work to an inexplicably designed standard that ensure these must always have an entirely unmemorable name, return output in the most unexpected format possible and have at least one massive functional flaw that makes them useless in a medium-size swathe of scenarios.

        1. This post has been deleted by its author

        2. h4rm0ny
          Headmaster

          Re: Like grep? sed? awk?

          >>"but they work to an inexplicably designed standard that ensure these must always have an entirely unmemorable name, return output in the most unexpected format possible and have at least one massive functional flaw that makes them useless in a medium-size swathe of scenarios"

          Unmemorable names? Is 'ls' inherently more memorable than 'DIR', now? Is the purpose of 'cat' so much more obvious than 'Get-content'? What makes 'df' easier to remember that $disk.Size ?

          Output in unexpected format? How is an array of objects unexpected? And you can always list the attributes of if you wish, as well. Now tell me where the consistency is between ls, ls -l, ls -lh, grep, grep -n, find, cat... Whereas with Powershell you can do what you want with the objects and don't have to worry about which column a particular piece of data is in in the textual output, or whether your recursive tool suddenly decides to print out a summary line at the foot of each directory which you have to figure out how to discard. The problem with your argument is that I have used GNU/Linux and Bash for over a decade so I know pretty well how bloody inconsistent it is. Powershell had the huge advantage of coming second and being designed as a core project by a centrally managed team. It is WAY more consistent than Bash and GNU tools.

          The consistency of output format is one of the strengths of Powershell so it's a terrible example for you to have chosen to pick on. Everything is an object so you can just pipeline between programs and cmdlets without worrying about textual layout. Here's an example from last time this was discussed:

          DIR -Recurse | Get-Acl | Select-Object Owner | Select -Unique

          That gets me a unique list of file and directory owners in a hierarchy. It's actually fairly intuitive with the only non-intuitive part being "Get-Acl" which isn't that obscure once you know that ACLs are used for permissions in Windows. You call the directory command with the recurse flag so it descends the hierarchy. You pass the resulting file objects to Get-Acl for the permissions objects, and then you just select the object from there that you want (the owner). Finally you pipe it to a filter to get rid of duplicates.

          Now lets see what it looks like on GNU/Linux:

          find ./ -exec ls -l {} \; | awk '{print $3}' | grep . | sort | uniq

          The find command will give me a recursive search through the hierarchy. I can't just pipe it to another command however, because it's just a text file name which doesn't contain the information I need, unlike the file objects in Powershell. But that's okay because find comes with a special kludge, I mean feature, which lets me call a command on each line. So I use ls -l each time to get columns of information on each path. But what I want is the owner, so I have to pass that to awk which cuts out the third column from the text output (because I happen to know that the third column will be an owner name). I then pipe it to sort and the uniq command (I could just use the -u switch on sort but that's even less intuitive than the example I've given).

          Well, I say I pipe it to the sort command. Actually there's a "grep ." in there too. That's necessary because ls will return file totals just to throw a little bit more inconsistency in there.

          You cannot honestly tell me that the Powershell version isn't both more consistent with its outputs and more intuitive.

          >>have at least one massive functional flaw that makes them useless in a medium-size swathe of scenarios

          Okay - over to you. Let's have some specific "massive functional flaws". I will look forward to this.

          1. thames

            Re: Like grep? sed? awk?

            @h4rm0ny - "Now lets see what it looks like on GNU/Linux:

            find ./ -exec ls -l {} \; | awk '{print $3}' | grep . | sort | uniq"

            I would suggest using:

            find . -print0 | xargs -0 stat -c "%U" | sort | uniq

            It's simpler and orders of magnitude faster. Stat has loads of options to give you information on just about anything about a file.

            You might find

            DIR -Recurse | Get-Acl | Select-Object Owner | Select -Unique

            easier because you're used to it, but Linux administrators would see "find", "xargs", "stat", "sort", and "uniq" to be familiar to them.

            I have to admit though that you've come up with a unique way of solving the problem. I doubt that I would have ever thought of trying it that way.

            1. h4rm0ny

              Re: Like grep? sed? awk?

              >>"It's simpler and orders of magnitude faster. Stat has loads of options to give you information on just about anything about a file."

              Granted, it's significantly faster, but I was actually being kind to the GNU/Linux version by using my version. I've never said anything about comparable speed, I was responding to someone who said that Powershell had inconsistent outputs and unmemorable names. What I'm doing is pointing out what a terrible choice of attack they had made. xargs highlights like nothing else the inconsistency of the GNU/Linux versions. I'll illustrate, but first I'm going to clear something up because you're making false assumptions:

              >>You might find [...] easier because you're used to it, but Linux administrators would see "find", "xargs", "stat", "sort", and "uniq" to be familiar to them.

              I started out on UNIX and have worked professionally on UNIX or Linux for over a decade. I didn't even start using Windows until Windows 7. It is nothing to do with familiarity, I'm saying that the Powershell version is more intuitive and consistent. Getting back to proving that, just look at your attempt to solve the problem vs. the Powershell attempt:

              DIR -Recurse | Get-Acl | Select-Object Owner | Select -Unique

              find . -print0 | xargs -0 stat -c "%U" | sort | uniq

              (I'm happy to use your preferred example, btw)

              Each step of the Powershell one is almost self-explanatory (ACLs are permissions on Windows) and they connect via a straight-forward pipe in each case because they all use objects. In the Linux version you're now using the fiddle of xargs to deal with the fact that stat can't have output of find pushed directly to it. You have to pass the stat command as a parameter to xargs so it can use it as some sort of call back. That's not consistent nor memorable (the charges that were levelled at Powershell). You accused me of letting familiarity affect my judgement (I did not, I've actually used Bash and GNU tools far longer than I have Powershell), why don't you look at all the little things you've thrown in without much thought that trip up new people:

              -0 parameter to xargs. You've thrown that in to tell xargs that the input list is terminated by nulls, not whitespace. Something which is hardly intuitive or easy to remember.

              -print0 parameter to find. Otherwise it will terminate each output with a newline so you have to use a special switch to get it to terminate with nulls so that it will fit with the next item in your pipeline.

              -c switch for stat followed by "%U" to format the output as just usernames. Why does a utility for getting file parameters come with its own built in formatting tool? In Powershell, you get an object output which you pass to a dedicated formatting tool. Want your output as a table? No problem - you don't have to change the previous item in the pipeline based on what the later one wants, you just pass the object array on to the Format-Table cmdlet which will have access to all attributes of the file object. It's consistent and it is more importantly the separate stages of the pipeline are discrete, not having to look forward to later stages in the pipeline.

              xargs was, honestly, a terrible example to pick. Yes it is faster than my own example significantly (and about 10% faster than the Powershell one though it's harder to do a like for like comparison there so take that as unscientific). HOWEVER, it is a wonderful example of the inconsistency of the GNU/Linux version. It exists purely as a work around for the fact that you're handling everything with text and different command handle piping in different ways. Neither is true on Powershell.

              >>"I have to admit though that you've come up with a unique way of solving the problem. I doubt that I would have ever thought of trying it that way."

              Well the argument is about memorability and consistency, so I was trying to come up with a way that just illustrated the differences between Powershell and Bash / GNU tools and my example is a bit clearer with regards to what is actually going on. It's not faster than using stat, nor shorter in terms of characters. But it's simpler for someone to understand which is what we're comparing the environments on so it's actually fairer to GNU/Linux, imo.

              Bash and the GNU tools evolved over time and never had consistent oversight of design. People just added whatever doohickey they happened to need as they needed it. Just look at how find has its own built in print tools (which use different formatting instructions to printf). find has had everything people wanted rolled into it at some point. Whereas Powershell follows the UNIX philosophy of do one thing and do it well. Perhaps more significantly, the GNU/*NIX environment grew up before OO was big. Powershell is a modern design, planned out and designed to that plan, with the opportunity to learn from all its predecessors mistakes and for a mature OS (came in with Windows 7 and integrates fully with .NET). Are you not open to the possibility that it might be better than Bash?

              1. thames

                Re: Like grep? sed? awk?

                Just to make something clear, I'm not here to bash (no pun intended) MS PowerShell. It has a narrower focus than unix-type shells (including bash) which are intended to be more general purpose than PowerShell. As long as a program reads from standard input and writes to standard output, it can be strung together in a unix shell whether it was intended to be used as such or not.

                Someone has written a unix shell which uses JSON as the serialization format (as opposed to XML which PowerShell uses as its wire format), but it saw very little interest. It just didn't solve any problems which people felt needed solving.

                I can understand why Microsoft went the way they did with PowerShell. They couldn't have ported a unix shell as is to Windows and expected it to work. While unix was designed right from the beginning to pipe text around and for everything to work together, Microsoft had to deal with the huge legacy issue of third party tools which didn't work in a consistent way. Their solution was to provide an "out of band" pipeline behind the scenes which third parties could hook into. They couldn't use the "in band" stdin and stdout (copied from unix) because too many third parties were spaffing random crap into those streams already. All in all, they took pretty much the only route open to them.

                @h4rm0ny - "-xargs highlights like nothing else the inconsistency of the GNU/Linux versions. "

                While you may find xargs to be difficult to understand, it's part of the standard toolkit which every unix/Linux/BSD/OS/X administrator is familiar with. What it let me do in this case is provide stat with multiple parameters, including some which act to modify the defaults.

                @h4rm0ny - "-c switch for stat followed by "%U" to format the output as just usernames. Why does a utility for getting file parameters come with its own built in formatting tool?"

                Yes stat has a lot of formatting options, but the alternative would be dozens of individual commands which I would have to remember which still wouldn't be able to as much. And let's be honest here, "Get-Acl" also has loads of parameters to choose from. It's inherent to the problem domain.

                The advantage of using a formatting string is that I can do more than just things like "%U". I can combine the codes (more than 2 dozen just for files, plus more for devices) in multiple ways, and even include arbitrary text in the output. As an example "stat -c "%U some random stuff %a" *" will output the owner of the file, followed by the string "some random stuff", and then the access rights in octal format. I might be piping this output directly into a report which is to be read by someone rather than using it as input to more system administration scripts. I also don't want to invoke "stat" more than once per file when extracting multiple results, since that has a real performance implication which might affect other users. So, there are some very practical reasons why stat allows for complex behaviour.

                @h4rm0ny - "my example is a bit clearer with regards to what is actually going on"

                To be honest, I would have to dig through a lot of documentation and examples to even figure out how your bash example even works. Yes I can see that you are chopping up the output of "ls", but you are doing it in ways that I've never seen, let alone tried.

                The problem with your example is that you are comparing apples to oranges. In your MS PowerShell example you are using the standard command for getting file information and processing the output of that, but in your bash example you used a command which was not intended for that instead of using the correct one, which is "stat".

                Let's compare the two methods:

                • "find" is doing the same thing as "DIR"
                • xargs stat -c "%U" is donig the same thing as "Get-Acl | Select-Object Owner"
                • "sort | uniq" is doing the same thing as "Select -Unique"

                By the way, I could have used "sort -u" instead of "sort | uniq", which would have made the two even more similar.

                You could argue that 'xargs stat -c "%U"' is somewhat more complex than "Get-Acl | Select-Object Owner" in this particular example, but only to the extent that I had to use xargs, which is a command which unix admins are very familiar with. Yes I had to use -c "%U"', but Get-Acl had to use Select-Object and specify the parameter "Owner". It's very difficult to argue that stat is more complex because I used a parameter when you also had to specify a parameter for Select-Object. If you wanted to include arbitrary text in the MS PowerShell output, then I suspect the result would be even more complex again.

                For either stat or Select-Object I would have to look up the documentation, since I seriously doubt I could remember all the available parameters for either.

                So comparing like to like even with your own hand picked example I don't see any real advantage for Powershell in terms of ease of use.

                1. h4rm0ny

                  Re: Like grep? sed? awk?

                  >>"Just to make something clear, I'm not here to bash (no pun intended) MS PowerShell. It has a narrower focus than unix-type shells (including bash) which are intended to be more general purpose than PowerShell."

                  I'm unclear why you think Powersell has a "narrower focus" than UNIX shells. Firstly, I can't think of anything that you can do in Bash that you can't do in Powershell. Secondly, every part of the Windows OS is an object and every configurable part of it is exposed as an object that you can manipulate from Powershell. Thirdly, Powershell has many extra capabilities that Bash does not. Does that not inherently make it broader in use cases? Want your powershell script to interact with a database server? Get-ChildItem not only works on directory structures (files and directories are child objects of a path) but retrieve and work with databases (which are child objects of a database server). Powershell has multi-mode authentication meaning it interacts with smart cards, tokens, etc. for access privileges... I could go on for a dozen features that open up new areas of suitability. Powershell works with anything that can expose usable objects. It is, I would say, used widely in MORE areas than Bash.

                  >>"Someone has written a unix shell which uses JSON as the serialization format (as opposed to XML which PowerShell uses as its wire format), but it saw very little interest. It just didn't solve any problems which people felt needed solving"

                  Both are used with Powershell and I think that is because Powershell crops up in a wider range of scenarios. Suppose you have some objects you want to convert to a particular format (I'll just use Get-Date to generate something with lots of attributes for example):

                  Get-Date | Select-Object -Property * | ConvertTo-Json

                  Get-Date | Select-Object -Property * | ConvertTo-Html

                  Get-Date | Select-Object -Property * | ConvertTo-Xml

                  Get-Date | Select-Object -Property * | ConvertTo-Csv

                  In each case you would get the object converted to the chosen format. This is actually quite common in Powershell.

                  >>I can understand why Microsoft went the way they did with PowerShell. They couldn't have ported a unix shell as is to Windows and expected it to work. While unix was designed right from the beginning to pipe text around and for everything to work together, Microsoft had to deal with the huge legacy issue of third party tools which didn't work in a consistent way. Their solution was to provide an "out of band" pipeline behind the scenes which third parties could hook into. They couldn't use the "in band" stdin and stdout (copied from unix) because too many third parties were spaffing random crap into those streams already. All in all, they took pretty much the only route open to them

                  This is, quite frankly, made up nonsense. I have no idea where you got it. MS created an Object-Orientated scripting environment that plugged into the very successful and popular .NET framework as well as fit in perfectly with the OO environment that is Windows 7 onwards. The above reads as if MS wanted to copy Bash but couldn't. Why would they? They copied the best bits and the rest they re-did in a more capable way. Text-mangling is a terrible way for programs to communicate with each other. We're not even talking a sensible text-based format such as XML, we're talking actual text in whatever the author of a particular tool happened to like the look of. Run ls, you get lines of file names. Run ls -l to get the extra information you want, now the lines of text are all changed around and you have to manually specify which column you want to get your data. Whereas DIR will always just return an array of objects that the receiving program can handle how it wishes.

                  Complete nonsense when you write "MS couldn't just use stdin and stdout". Why in the modern era would any programmer choose unstructured text as the glue between different programs? I don't know if you've just read this somewhere or, I suspect, just made this up because it sounds sensible to you. But it is complete nonsense with no historical basis to it. It's a jumble of facts hammered into a false narrative.

                  I'm going to carry on my reply to your post in a separate response because I'm going to move on to your technical points next and that's better in its own post.

                  1. Anonymous Bullard

                    Re: Like grep? sed? awk?

                    The thing is about powershell is, while it's a capable scripting language for .NET, and I don't have much against it in the context of a scripting language. I like it.

                    However, despite its name, it's a dreadful shell. You can only use the awful build-in console Window, which is awkward to resize, text selection doesn't handle wrapped lines, can't access it remotely (as a shell) unless you RDP to it, and can't redirect the output. Mid-line tab completion removes the rest of the line. Tab completion-enumeration and line history isn't to my taste. It's worse than “php -a”, and nobody does that.

                    Powershell's passing of objects only works with cmdlets, so you're restricted to .NET languages if you want to create your own commands for the object streams to be of any use, whereas the 3 standard text streams are available to any process regardless of language - and can be stored for later use (> out.txt), copy+pasted, etc.

                    These are my show-stoppers, but I might just be doing it wrong, so please correct me.

                    1. h4rm0ny

                      Re: Like grep? sed? awk?

                      >>"These are my show-stoppers, but I might just be doing it wrong, so please correct me."

                      Well I'm far from an expert with Powershell, I'm actually more familiar with Bash. But I'll take a stab at one of the issues you raise:

                      >>You can only use the awful build-in console Window, which is awkward to resize, text selection doesn't handle wrapped lines, can't access it remotely (as a shell) unless you RDP to it, and can't redirect the output. Mid-line tab completion removes the rest of the line. Tab completion-enumeration and line history isn't to my taste. It's worse than “php -a”, and nobody does that

                      I have good news - you're doing it wrong. ;) Fire up powershell Integrated Scripting Environment. This is built into Windows. If you don't have a shortcut to it, just type ise from the standard Powershell commandline and it will launch. This is what it looks like:

                      ISE

                      It has built in debugger, script editing pane, auto-complete, command reference, etc.

                      Remote access to the shell is perfectly possible and doesn't require RDP. It's sort of kind of a wrong question. There's no particular reason why you would need to run Powershell "on" the remote computer instead of running it locally and simply executing remote commands on that computer. Assuming you have credentials and the remote computer is configured to allow remote Powershell commands, you can just start a remote session from your local shell and security is more or less just an SSH equivalent.

                      However, if you DO want to run "on" the remote box, you can do that without RDP. IIS has a plugin which allows you to invoke Powershell commands. It's called Powershell Web Access (PWA), runs over HTTPS so it's firewall-friendly. But I think remote sessions are the normal way to do things (like I say, I'm not an expert on this).

                      I'm honestly, not sure what you mean by "can't redirect the output". If you mean just redirecting things to places other than stdout, it does that anyway. The only reason something ends up on the screen is if you don't give it anywhere else to in which case output is just passed to a cmdlet called something like "default", iirc. If you're talking about redirecting error output, Powershell raises errors as exceptions which you can handle how you wish. If I've misunderstood what you're asking, apologies.

                      >>"Powershell's passing of objects only works with cmdlets, so you're restricted to .NET languages if you want to create your own commands for the object streams to be of any use, whereas the 3 standard text streams are available to any process regardless of language - and can be stored for later use (> out.txt), copy+pasted, etc"

                      I'm a little confused by this one. To take the last point first, you absolutely can output or store anything from Powershell in textual format if you wish. You can just pipe something to ConvertTo-Json, ConvertTo-Xml or even just simple strings if you really wish.

                      Regarding the .NET issue, it does work in a .NET environment, yes. That's not a problem for its target Windows environment and you can use .NET on GNU/Linux if you wish. Whether or not that is an issue for you depends on your environment and what you want to achieve. It might be, it might not. I'm just here to shoot down stupid arguments, really.

                    2. Anonymous Coward
                      Anonymous Coward

                      Re: Like grep? sed? awk?

                      It's worse than “php -a”, and nobody does that.

                      Upvoted, I didn't know about php -a, I quite liked Python's shell (although ipython is better) but you taught me a somewhat handy command should I need to do anything PHP-specific.

                2. h4rm0ny

                  Re: Like grep? sed? awk?

                  >>"While you may find xargs to be difficult to understand"

                  What did I ever do that indicated I was having difficulty understanding xargs. I said that this:

                  find . -print0 | xargs -0 stat -c "%U"

                  was less intuitive than this:

                  DIR -Recurse | Get-Acl | Select-Object Owner

                  That isn't me having trouble understanding xargs, it's me making a correct statement. I replied to someone who criticized Powershell for having unmemorable names and inconsistent output. And you took up their cause. You're honestly trying to make the case that to someone new to both systems, your example has easier to remember names and that unstructured text that varies from command to command is more consistent than a consistent array of objects? Please drop all the snide little comments about what I am and am not familiar with. I have been using UNIX and then GNU/Linux for around fifteen years. And that's really your problem - you're trying to argue the case with someone who is familiar with BOTH and can therefore make informed comparisons. Whilst you appear to have little familiarity with Powershell. That's fair to ask, isn't it? You don't have much familiarity with Powershell, do you?

                  >>"Yes stat has a lot of formatting options, but the alternative would be dozens of individual commands which I would have to remember which still wouldn't be able to as much."

                  Well, no. The alternative would be that it returns an object and allows the caller to decide what to do with that. Why do find, ls, stat, printf all have their own and different formatting options? Doesn't it make a great deal more sense to have all your different commands pipe an object to the same formatting tool and thus be more consistent and flexible? Basically, do one thing and do it well. Not create a drawer-full of swiss army knives.

                  >>"And let's be honest here, "Get-Acl" also has loads of parameters to choose from. It's inherent to the problem domain"

                  Then you're missing the point. It's not about how many parameters Get-Acl has, it's that all of them apply to what it's actually designed for and none of them are for text-mangling to fudge its ability to pass on its results to the next item in the pipeline. You had to use xargs to effectively build a new command line because stat wont accept the output of the previous command directly. And you had to alter that previous command based on knowing that the next command wouldn't be able to handle its output. You had to add a special switch so that it would terminate elements with a null rather than whitespace, purely because you knew the next command wanted it that way. And if you changed the next command in the sequence you might have to set a different flag. Whereas whilst Get-Acl has a number of parameters, none of them are to do with trying to get it to talk to another command via text mangling. It has only what it needs to do its job. That is what makes it simpler.

                  >>"The advantage of using a formatting string is that I can do more than just things like "%U". I can combine the codes (more than 2 dozen just for files, plus more for devices) in multiple ways, and even include arbitrary text in the output"

                  Text is a subset of objects. You can do all the same with cmdlets in Powershell so your:

                  "stat -c "%U some random stuff %a" *"

                  becomes

                  Get-Acl * | %{Write-Output "$_.Owner some random stuff $_.Group"}

                  It's not particularly complicated. The chief differences are (a) that rather than remember special switches that are specific to the stat command (such as %a being octal permissions), you just refer to the actual properties of the object; and (b), you're piping to a dedicated formatting command that is consistent between all programs that you choose to use it with.

                  >>I might be piping this output directly into a report which is to be read by someone rather than using it as input to more system administration scripts

                  All the more reason to have that separation between formatting and the tool itself, then. Instead of the string I used above, you could just as well pipe the output of Get-Acl to Format-Table, ConvertTo-Csv or whatever else you wished. I wouldn't have to change anything about the Get-Acl command. Remember we're dealing with very simple examples here. If one person had written a powershell script that returned a specific array of file objects according to some criteria, I would want to just pipe the output to my own formatting choice, not worry about what data they included as part of its textual output.

                  Basically, it's that consistency of outputs that we keep coming back to. Unstructured text simply doesn't have that.

                  >>To be honest, I would have to dig through a lot of documentation and examples to even figure out how your bash example even works. Yes I can see that you are chopping up the output of "ls", but you are doing it in ways that I've never seen, let alone tried.

                  The output of ls -l is in the format

                  -rwxrwxrwx number_of_links owner group bytes last_updated filename

                  awk '{print $3}' gets the third column of the textual output, which is owner.

                  To be honest, given that you are arguing so much for the superiority of Bash, I'm surprised you're not more familiar with awk.

                  >>"The problem with your example is that you are comparing apples to oranges."

                  No, I'm not. I'm comparing two solutions for achieving exactly the same thing.

                  >>In your MS PowerShell example you are using the standard command for getting file information and processing the output of that, but in your bash example you used a command which was not intended for that instead of using the correct one, which is "stat".

                  Nope, I happily switched to the one you asked me to use when you proposed it, and have been using it as my basis for comparison ever since. As you can see from my posts. The only reason I used the one I did originally was because I actually think it is clearer to read and thus actually fairer to the Bash case. But it doesn't matter - the instant that you said it would be better a different way, I resumed my argument in every post since using your own one that you were happy with.

                  >>>I've hit the maximum post length so I'm carrying on my reply in the next post.

                  1. h4rm0ny

                    Re: Like grep? sed? awk?

                    >>"find" is doing the same thing as "DIR"

                    Yes and no. They both can recurse through a file system, but find is returning just text. DIR is returning an array of actual file objects. The latter is inherently more capable because (a) text is a subset of objects and (b) it obviates the need to put any formatting tools in the command itself. You needed to add -print0 as a special switch to the find command so that it would terminate its strings with something that the next item in the sequence could accept. With Powershell, you have consistency of input and outputs between different commands.

                    >>xargs stat -c "%U" is donig the same thing as "Get-Acl | Select-Object Owner"

                    Not really. stat -c "%U" is doing the same thing as the Powershell part (with the same provisos as in the last case about text vs. objects of course). The xargs part exists purely as glue to deal with the fact that stat can't take the output of find via pipeline. xargs is essentially a tool to build a new command line. It's something that is not necessary in Powershell. It's actually a storming example of the inconsistency in the GNU/Linux approach. Sometimes you can pipe directly to the next command, sometimes you need to xargs to build a new command line for you from standard input. It's why I feel that my example was actually kinder to GNU/Linux than yours, but as I said, I'm happy to go with yours if you wish. Anway, the OUTPUT of the two is the same (ignoring text vs. objects) but what they are doing is conceptually very different.

                    >>sort | uniq" is doing the same thing as "Select -Unique

                    Pretty much.

                    >>You could argue that 'xargs stat -c "%U"' is somewhat more complex than "Get-Acl | Select-Object Owner"

                    I do. I don't think it is reasonable to claim otherwise. The charges were that Powershell had unmemorable names and inconsistent outputs. Do you think I haven't proven that wrong, yet?

                    >>in this particular example, but only to the extent that I had to use xargs, which is a command which unix admins are very familiar with.

                    Again, familiarity is not equivalent to simplicity. I started out as a C programmer and have never used Ruby. That does not mean that C is simpler than Ruby. Xargs is not something you will ever have to use in Powershell - it is simply not needed conceptually. It exists only because GNU/Linux is reliant on unstructured text for communication between programs.

                    >>"Yes I had to use -c "%U"', but Get-Acl had to use Select-Object and specify the parameter "Owner". It's very difficult to argue that stat is more complex because I used a parameter when you also had to specify a parameter for Select-Object"

                    But I don't argue that it is more complex because you had to use a parameter. I argue that it is more complex because no matter what program I am using to produce my array of objects, and whether those objects are files, access control lists, databases or user records, I will always be able to just type:

                    Select-Object <object I want>

                    Whereas -c "%U" is a formatting command built into the stat program which is different to the formatting command built into find which is different to the one in ls which is different to the one in printf and so on.

                    And that wasn't even the crux of my argument. It's the complexity that results when you want to join the command up with others that is the problem - for example, the necessity of xargs or awk to get things talking to each other.

                    >>"If you wanted to include arbitrary text in the MS PowerShell output, then I suspect the result would be even more complex again."

                    Actually it isn't. You can see my example earlier. It's inherently more capable because the formatting tool isn't part of the stat program itself, you can select from a variety of specialised formatting tools as you wish. Format-List, Format-Table, Write-Output, ConvertTo-Json, whatever.

                    >>"For either stat or Select-Object I would have to look up the documentation, since I seriously doubt I could remember all the available parameters for either."

                    Actually, because Powershell supports command metadata (names, positions, types, validation rules) which it exposes to the shell, Powershell editors have auto-complete and auto-suggestions. This doesn't have to be added to the shell itself, it just reads the metadata from the cmdlet. So you don't actually have to go and look up the documentation to find out what the parameters for Select-Object are, you get a pop-up list as you type. Or at least it's there for the terminal to use and any proper editor / environment has this built in. You can't do that with Bash because there's no way for programs to expose that to Bash. It could only build an incomplete library into the terminal itself which is why you don't see that with Bash.

                    >>"So comparing like to like even with your own hand picked example I don't see any real advantage for Powershell in terms of ease of use."

                    Okay. You pick an example. Something non-trivial so we can have a realistic discussion about which environment has the most memorable names and the most consistent output. I.e. not just one command, something that takes a few. If you feel I'm being unfair, be my guest...

    2. Adrian Harvey

      Re: Like grep? sed? awk?

      I don't think you read the doc you link to. It's nothing like grep. It enforces the presence or absence of the lines - adding required lines if not found, deleting lines that the file must not contain.

      You could do this with sed or awk, of course, but the point of this is to underly puppet/cfengine like functionality that MS is building into it's management tools. Puppet and friends are awesome products, and the model of managing configurations like software to be progressed from dev to test to production is a good step forward, but current tools are focused on devs in that they work in a programming kind of methodology and need a brain used to working with code to use well. Depending on what tools MS wrap round this engine they could address the market of admins wanting to gain the advantage of dev ops before the existing tools do.

      1. Gorbachov

        Re: Like grep? sed? awk?

        Well, Puppet was actually aimed at ops people, not devs. It uses a DSL to drive the thing and not a proper language but they are kinda regretting it now and slowly extending it to the point where it now looks like yet another programming language. Automation can be a complicated domain - people want to do a lot of weird kaka with their infrastructure.

        Microsoft is late to the game, as always, but they have a good incentive in Azure to make this work. People tell me it's not exactly fun to run Chef on Windows (and Puppet is worse). The really big win is that since this will be open source, all the other config management tools can absorb the good bits, if there are any.

        Not sure I would want to use the MS tool to manage *nix boxes. Their support for other OS platforms is only skin deep.

        1. Anonymous Coward
          Anonymous Coward

          Re: Like grep? sed? awk?

          "Microsoft is late to the game, as always"

          Microsoft bought Opalis years ago - who are well ahead in this game. They are just now getting round to supporting legacy platforms.

      2. Anonymous Coward
        Thumb Up

        Re: Like grep? sed? awk?

        I don't think you read the doc you link to. It's nothing like grep. It enforces the presence or absence of the lines - adding required lines if not found, deleting lines that the file must not contain.

        So if said line doesn't exist it tacks it onto the end? That'll work!

  7. Henry Wertz 1 Gold badge

    Keeping tools relevant

    I'm with Thames on this, I think this is to make Windows admin's lives easier more than getting Linux admins to use Powershell. But from the description it looks like it does everything you'd manage deploying updates and software.

  8. jonnycando

    really?

    Why would I taint perfectly good linux kit with something from Microsoft? I am clueless.

    1. Anonymous Coward
      Anonymous Coward

      Re: really?

      Because you maybe have 230 x 40U rack space worth of Windows Server kit ($DEITY knows how many actual servers that is when you factor in blades and VMWare - probably around 10000) and 8 Linux boxes.

      The fact that the Linux element exists at all is a source of intense annoyance to the customer in question and they go out of their way to make the Linux stuff emulate Windows as closely as possible.

    2. sabroni Silver badge
      Happy

      Re: I am clueless.

      Upvoted for honesty!!

  9. Steve Davies 3 Silver badge

    All MS needs now is for a Distro to include this 'thing'

    and the ranting, wailing and teeth gnashing that we have seen over systemd will seem rather insignificant.

    All I know is that it ain't gonna get anywhere near my Linux servers. They will remain a MS tool/product free zone.

    (Yes, I know that there is some code in the kernel that was submitted by MS)

    1. P. Lee

      Re: All MS needs now is for a Distro to include this 'thing'

      >All I know is that it ain't gonna get anywhere near my Linux servers. They will remain a MS tool/product free zone.

      If its GPL'd and all it does is manipulate lines of text, why avoid it? Just make sure someone other than MS is maintaining it for your platform before you jump in.

  10. Tascam Holiday
    Unhappy

    End of Days

    If you work in an organisation that the management think of as a 'Windows shop' (even though 90% of your estate is actually Linux but only requires 20% of the manpower to manage, so is effectively invisible) then await the day a manager insists that you investigate using MS tools across the estate because it's got to be better than that free rubbish you currently use.

    1. h4rm0ny

      Re: End of Days

      And your reason for supposing GNU/Linux requires only 2% the sysadmin resource that Windows does would be... what, exactly?

      1. Anonymous Coward
        Anonymous Coward

        Re: End of Days

        And your reason for supposing GNU/Linux requires only 2% the sysadmin resource that Windows does would be... what, exactly?

        I can see you're new to Windows systems administration.

        1. h4rm0ny

          Re: End of Days

          Actually, I'm not a sysadmin at all, though I have a few I work with. And they're all GNU/Linux sysadmins. I don't actually know any Windows Sysadmins, though I'm familiar with some of the technology. OP made a claim that GNU/Linux was something like fifty times more efficient to administer. That doesn't mesh with what I've heard / read, so I asked for some support of that.

          Still waiting, in fact...

      2. Tascam Holiday

        Re: End of Days

        >> And your reason for supposing GNU/Linux requires only 2% the sysadmin resource that Windows does would be... what, exactly?

        Well, they can generally tell the difference between 2 and 20 for a start...

        1. h4rm0ny

          Re: End of Days

          >>"Well, they can generally tell the difference between 2 and 20 for a start..."

          Before criticizing others, make sure one's own comprehension is correct. They wrote 90% of the servers are GNU/Linux but only take 20% of the work. That's 2.5%, isn't it? It's unfortunate that some people's go to reaction when they see something they don't get is to assume that the other person is wrong rather than question whether they might have made a mistake.

          1. Preston Munchensonton
            FAIL

            Re: End of Days

            They wrote 90% of the servers are GNU/Linux but only take 20% of the work. That's 2.5%, isn't it?

            Well, last time the rest of us checked, 20% of required labor is still 20%, not 2.5%. The number of systems involved ultimately doesn't enter the equation, since the discussion is about labor costs.

            1. h4rm0ny

              Re: End of Days

              >>"Well, last time the rest of us checked, 20% of required labor is still 20%, not 2.5%. The number of systems involved ultimately doesn't enter the equation, since the discussion is about labor costs."

              Go back and read what they actually wrote. If 90% of the machines (type A) only require 20% of the total labour and the remaining 10% of the machines (type B) require 80% of it, that means the former machines are way, way more efficient than just 20% the labour cost. That IS what they wrote. Check it before replying.

              It's interesting how I asked the simple question of someone to support their amazing claim that Linux boxes were so much more efficient than Windows boxes to administer and so far all I have had in response is one weak joke and two people who can't multiply. I'm beginning to suspect, hard though this is to believe, that the OP can't actually back up what they say. But feel free to take a shot at it. Even if you want to take the order of magnitude higher figure you arrived at by misreading their post, I'd still love to know what you think makes GNU/Linux boxes take only 20% of the administration that Windows boxes take.

              It can't be Puppet because I've used that. ;)

              1. Preston Munchensonton
                Mushroom

                Re: End of Days

                Go back and read what they actually wrote.

                First, you stated 2% out of the blue. Then, you stated 2.5% based on a loose association of the values "90%" and "20%" with no explanation for the math involved. I suggest you go back and reread what you wrote yourself.

                Check it before replying.

                I will not dispute the presence of claims of efficiency. Not every environment is the same, but my own opinion is formed by my own experience with Wintel, *nix, IBM zOS, VMS, etc. All systems have aspects that provide sagas of repeated hair loss and expletive-laden outbursts. If you don't have the same perspective on Microsoft that others may have, good for you. I don't give two furry fucks whether you feel like Windows is better or otherwise. I use it where I have to, like any other tool. But if I have choices about the tool to use, I default to Linux for lots and lots of reasons. I'm sure you'll find a few of them here:

                http://lmgtfy.com/?q=benefits+of+linux+over+windows

                1. h4rm0ny

                  Re: End of Days

                  >>"First, you stated 2% out of the blue."

                  No, I didn't and you're now simply trying to argue that you're not wrong as it's not your fault you didn't understand what I wrote. Which wouldn't make you right even if true. The OP proposed that 90% of the of the servers (the GNU/Linux ones) accounted for only 20% of the total work. Immediately after that post is my reply asking them to justify their statement that the Linux boxes only take 2% the support work. That figure isn't out of nowhere, I did a quick multiplication in my head and realized it was between 2% and 3% and put down 2% as it really didn't matter whether the OP was claiming Linux boxes used 3% of a WIndows box's resource or 2%.

                  The fact that someone thought 20% of total work translates into 20% efficiency despite it coming from only 10% of their machines is not my fault because I was not their maths teacher and their ignorance isn't on my head. Then you come along and weigh in (still failing to remotely answer the actual question I asked which was about justifying such outrageous claims, btw) and completely failed to understand the point by stating that the number of machines was irrelevant. Which it plainly isn't if you're trying to compare efficiency which is what the OP was doing.

                  >>"Then, you stated 2.5% based on a loose association of the values "90%" and "20%" with no explanation for the math involved"

                  I didn't realize an explanation was necessary. I put the slightly more precise figure because it was becoming an (irrelevant to the point) thing you were hung up on. But I can explain the maths to you happily if that will help you. There are different ways you could do it but the easy to get version is to just think of how much total work there is and solve it as an equation:

                  Type L computers comprise 90% of the total computers.

                  Type W computers comprise 10% of the total computers.

                  Type L computers account for 20% of the resource spent.

                  Type W computers account for 80% of the resource spent.

                  0.9L = 0.2

                  0.1W = 0.8

                  L = 0.222

                  W = 8.000

                  L / W = 0.028 = 2.8%

                  So there you go, the OP stated that GNU/Linux boxes only take 2.8% of the administrative resource that Windows boxes do. Now that the maths has been explained to you, would you like to take a stab at justifying such an astounding claim? I mean you're joining in with this argument in trying to shoot down my posts so would you like to take a crack at the actual topic?

                  No-one has actually tried to support the OP's wild claims as yet, which says something by itself. The only thing in that vein posted so far is you saying "not every environment is the same", that you "don't give two furry fucks if I prefer WIndows" and a (not very) helpful link to search for "benefits of linux over windows".

                  Really what is the point - you take issue with me challenging the OP's hyperbolic claims but when asked for any reason why the OP would be right to make them you paste in a Google search link for advantages of Linux. This is nothing.

                  1. Anonymous Coward
                    Anonymous Coward

                    Re: End of Days

                    would you like to take a stab at justifying such an astounding claim?

                    I do have an anecdote, however.

                    I've been professionally developing all types of software for Windows since the 90's. I look upon myself as an expert of Windows. I've been playing with Linux for less than 2 years, using a Raspberry PI and tyre -kicking in a VM.

                    About a year ago when I built the network for my new house, I set up an RPi (1st gen, Model B) as a DNS, DHCP, file, and dlna/upnp server, and NZBGet client. The ARP table has 21 entires in it, it provides file storage to 4 computers, and movies to 3-5 devices. I just ssh'd into it now and my last login was March 16th (to WoL my home desktop from work, according to .bash_history). I can't remember doing any maintenence since before christmas when I made it install security updates automatically and rebooted (no reason).

                    So far this year that's 0 minutes maintenance for a 24/7 available underpowered device.

                    Compare that with any Windows computer. I've renewed my AV last week, the monthly manual patch thursday/friday (I wait), the nagging of 3rd party apps to update, etc. And that's before I get any work done... and don't get me started with ASP.NET!

                    Just the 20 seconds to show the right-click menu in explorer, even if I only did it once a month, is greater than the admin that I do on the rpi.

                    So yes, the OP was way off with his/her numbers.

                    1. Anonymous Coward
                      Anonymous Coward

                      Re: End of Days

                      About a year ago when I built the network for my new house, I set up an RPi (1st gen, Model B) as a DNS, DHCP, file, and dlna/upnp server, and NZBGet client. The ARP table has 21 entires in it, it provides file storage to 4 computers, and movies to 3-5 devices.

                      To be fair, the users Microsoft have in mind have a somewhat more demanding role for a server. But it's true, some of these machines just keep running without user intervention.

                      19:45:22 up 289 days, 8:00, 3 users, load average: 0.00, 0.02, 0.00

                      That, is my company's main file server/DHCP server/pretty much everything box. I rarely have to touch it from a maintenance standpoint although at some point we will retire the box for something newer. (One of my colleagues is testing an ActiveDirectory set-up using Samba4, soon as that's ready, we'll move.)

                    2. h4rm0ny

                      Re: End of Days

                      >>"I do have an anecdote, however."

                      Thank you. I appreciate someone actually responding to the question asked. Yes, that is a good anecdote. I would point out, as I'm sure you're anticipating, that the scenario you're talking about is very different to the enterprise. If any of our sysadmins left a box without security updates being installed for a year, they would be in a lot of trouble. I could similarly turn off updates on a Window Server box and whilst I'm not certain whether it would sit there for two years without trouble, I think there's a reasonable chance it might. I honestly wouldn't want either connected to the Internet without regular patching.

                      Anyway, I appreciate the response. I'm not interested in an argument that either is absolutely best and that's not where I'm coming from. I'm just shooting down a company cuts its maintenance resource down to 2-3% by using GNU/Linux instead of Windows. I'm not even convinced in the Enterprise it is any better in that regard.

      3. Anonymous Coward
        Anonymous Coward

        Re: End of Days

        "your reason for supposing GNU/Linux requires only 2% the sysadmin resource that Windows does would be... what, exactly?"

        Mostly Linux boxes in this situation will legacy systems that no one has migrated yet and hardly ever get touched, whereas primary business systems like AD, Lync, Exchange, Fileservers, SharePoint, SQL,etc. etc. will be doing the real work on Windows in most companies.

        1. Anonymous Coward
          Anonymous Coward

          Re: End of Days

          Mostly Linux boxes in this situation will legacy systems that no one has migrated yet and hardly ever get touched

          Or their machines that Just Work, don't give us any crap, don't pester us about needing to reboot because we made a minor change, and just keep running. They don't even pester us with some cartoon assistant.

          I know of a major rail operator in this state that recently upgraded its fleet of weighbridge computers. They tried numerous projects to replace their old SCO OpenServer 5 boxes with Windows, and all failed one way or another. Whether it was disk fragmentation crippling the machines, an inability to cope with a flakey 1200 baud modem link, a lack of drivers for their weighbridges or getting hard reset, there were numerous problems.

          We've now got them running Ubuntu Linux quite happily. We replaced the SCO-based master computers with Linux servers with no downtime, and deployment of the actual weighbridge computers is an almost entirely automatic affair.

          1. Anonymous Coward
            Anonymous Coward

            Re: End of Days

            "They tried numerous projects to replace their old SCO OpenServer 5 boxes with Windows"

            Numerous projects? Riiiiiiiight.

            "Whether it was disk fragmentation crippling the machines"

            Windows hasn't had any significant issues with disk fragmentation since NT4.0. Which calls into question your competency (or truthfulness) if you blame recent Windows issues on it...

            "an inability to cope with a flakey 1200 baud modem link"

            And a 56K modem that actually works costs what these days - £20 each?

            "a lack of drivers for their weighbridges"

            Right, so they deployed Windows "numerous times" without the required software actually existing?! I call bs then on your comments as that's a show stopper right there.

  11. The Vociferous Time Waster
    Trollface

    cool

    Anything which makes it easier to manage legacy Linux kit is a good thing

  12. Uffe Seerup

    It is a "platform play"

    Yes, it aims at solving some of the same problems as Chef, Puppet et al. But unlike those, PowerShell DSC follows industry standards for datacenter/enterprise management.

    That said, PowerShell DSC is not at all comparable to the full-featured Chef/Puppet offerings. Instead (according to Microsofts Jeffrey Snover - the inventor of PowerShell) Microsoft would like other vendors to build management products on top of the open platform.

    Chef and Puppet may be available as open source as well as commercial offerings - but they do not adhere to any published standards, hence you get locked-in when you base your datacenter management on one of those products.

    DSC builds upon Management Object Format (MOF) files which can be used to declaratively describe the desired state of a node. MOF is an format standardized through the Distributed Management Task Force (DMTF) (see http://dmtf.org/) along with standards for interacting with nodes.

    The open source OMI server for Linux implements the OMI standard of the Open Group. The OMI server takes the MOF files and applies the configuration to the nodes.

    It is all open source and based on open industry standards supported by a number of tech companies.

    Chef recipes are written i Ruby. By using Ruby in a clever fashion the recipes look almost declarative. But they are still Ruby. Imagine if Chef could use MOF files instead.

  13. Anonymous Coward
    Anonymous Coward

    Microsoft sees their admins being required to use Linux

    If Windows admins are inept at Linux then Microsoft's advocates will be employed less and less so Microsoft is helping them stay relevant by giving them tools which they are already familiar with so that they will be proficient on Linux.

    1. Anonymous Coward
      Anonymous Coward

      Re: Microsoft sees their admins being required to use Linux

      "so that they will be proficient on Linux."

      so that they will be proficient in migrating from Linux.

      There, fixed it for you.

      1. Anonymous Coward
        Anonymous Coward

        Re: Microsoft sees their admins being required to use Linux

        so that they will be proficient in migrating from Linux.

        Why would putting PowerShell make people proficient in migrating from Linux? If someone was clueless about Linux before, I fail to see how this tool would make them any better at administering it.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like