Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Microsoft IT

Microsoft Releases PowerShell 7 for Windows, macOS and Linux (betanews.com) 88

Microsoft has announced that its cross-platform automation tool and configuration framework PowerShell 7 is now generally available. From a report: Available for Windows, macOS and Linux, PowerShell 7 sees Microsoft moving from .NET Core 2.x to 3.1 which enables greater backwards compatibility with existing Windows PowerShell modules thanks to the resurrection of numerous .NET Framework APIs. The cross-platform nature of PowerShell 7 means that Ubuntu, openSUSE, Fedora, Debian and other Linux distro are embraced. Joey Aiello, product manager of PowerShell, says: "If you weren't able to use PowerShell Core 6.x in the past because of module compatibility issues, this might be the first time you get to take advantage of some of the awesome features we already delivered since we started the Core project!"
This discussion has been archived. No new comments can be posted.

Microsoft Releases PowerShell 7 for Windows, macOS and Linux

Comments Filter:
  • "Embraced" (Score:2, Troll)

    by syn3rg ( 530741 )
    next comes extend, then extinguish.
    • Re: (Score:3, Insightful)

      Sorry, it's not 1999 any more, bro. Not sure how they could "extinguish" Linux, the idea is pretty fucking laughable. Almost without exception Slashdot is pretty embarrassingly outdated when it comes to any article related to Microsoft.

      Reading the comments is like listening to Joe Biden ramble on about the first time he called someone on the "telephone machine", or how excited he was for the invention of the motorized car that uses "petroleum distillate".

      • Re: (Score:3, Interesting)

        by geek ( 5680 )

        Extinguish is easy at this point. MS is one of the largest code contributors. Their subsystem for linux will make dual booting pointless for a lot of devs and open sourcing so many of their tools and apps will reduce the influx of developer time to linux and back to windows.

        Have you seen the consolidation in linux today? It's barely even linux anymore with systemd taking over so much. You basically have different flavors of redhat, all that really changes is the package manager anymore. Redhat is now owned

        • by rlwinm ( 6158720 )
          It wasn't Microsoft that pushed systemd on -- that was RedHat. I don't know any folks who work there. But my guess is that your average Linux using Microsoftie hates systemd just as much as anyone else. But these days Microsoft has no interest in extinguishing Linux. They make huge piles of cash with Azure running -- surprise -- Linux!
        • Re:"Embraced" (Score:5, Insightful)

          by RightSaidFred99 ( 874576 ) on Thursday March 05, 2020 @05:19PM (#59800978)

          So let me get this straight.. They are extinguishing Linux by..open sourcing a lot of shit and contributing tons of code. That's some real galaxy brain shit. It lets you label literally anything they do as "EEE".

          It's conspiracy theory thinking - find a way to contort every piece of data you can to fit your pet theory, ignoring the mountain of evidence to the contrary.

          • Re: (Score:2, Informative)

            The problem boils down to why anyone actually wants to run .NET on Linux. What problem does it solve that *nix doesn't already have solutions for? If I want portability, I'll use Java or Python. And if I'm developing just for Linux, then .NET brings absolutely nothing to the table.

            • Re: (Score:1, Interesting)

              Again, Java is a non starter. It's a piece of shit, outdated, dying language owned by a shitty company even worse than you imagine MS to be. Fuck Java.

              .NET is king for enterprise development and integration with enterprise environments, the language itself (assuming C#) is much better (expressive, efficient, more maintainable) and more modern than Java, which seems stuck in 2002.

              Python is..fine, I wouldn't use it for most enterprise apps but for systems automation it's great.

              As for who wants to run .NET on

              • Comment removed based on user account deletion
              • by Baki ( 72515 )

                What propaganda is this?
                I have never met a unix/linux person that prefers .NET over the JVM.
                Maybe "msft-linux" persons, whatever that is.
                Please give me real reasons, instead of "is a piece of shit" why the JVM would be more outdated or somehow "worse" than .NET.

            • by malkavian ( 9512 )

              Standard scripting language in a heterogenous environment.
              Bash does great for text processing, but for quite a lot of systems tasks, Powershell is pretty damn good.
              I wouldn't say one is better, they just do different things. If I were to set up a pure Linux and UNIX environment, I'd probably end up writing bash scripts with some python as necessary.
              If I were to be running a pure Windows shop, it'd be Powershell.
              For heterogenous systems, it used to be Perl, then Python, but by and large, these do a lot more

              • > Standard scripting language in a heterogenous environment.
                > Bash does great for text processing, but for quite a lot of systems tasks, Powershell is pretty damn good.

                In "bash", your text processing would actually be done by ed, it's offspring sed, or the special case of sed known as grep, or the special case of grep known as awk. Don't forget the last in that family, the offspring of awk. For text processing, there is probably nothing better than Practical Extraction and Reporting Language. It's t

              • Re:"Embraced" (Score:4, Insightful)

                by MightyMartian ( 840721 ) on Thursday March 05, 2020 @06:38PM (#59801258) Journal

                Is Powershell going to integrate into /etc and /proc? How the hell is that going to work, and actually keep the command structures? Windows and Linux are two very different operating systems. In fact, one of the reasons Powershell is such a monster is because within Windows you have subsystems that work in very different ways (registry hives, event logs, XML config files for applications). In general Linux is a lot flatter, and because it's fundamentally a text-based system, there's fifty years worth of userland tools to bring to bear.

                I'm sure it can be done, but what a monumental effort, and you would still have large pieces of each OS that wouldn't map to the other, so you would never have real portability.

                • Re:"Embraced" (Score:4, Interesting)

                  by cbhacking ( 979169 ) <been_out_cruisin ... AT yahoo DOT com> on Friday March 06, 2020 @04:06AM (#59802450) Homepage Journal

                  Most powershell "cmdlets" (built-in and extension commands) are generic "do thing" with platform-specific implementations. The implementations of the cmdlets often don't even need to be platform-specific, because the platform abstraction is all done at the runtime layer (.NET). For example, if you run Get-Process (or just ps, its default alias), it doesn't matter to the user whether this eventually results in a call to EnumProcesses followed by a bunch of other Win32 APIs to get the process details, or a bunch of file system APIs starting with opendir("/proc"). Powershell is just invoking System.Diagnostics.Process.GetProcesses(). The .NET runtime already integrated /proc for you, and also (at least some) stuff in /etc. For example, it uses OpenSSL's certificate store, which is by default under /etc.

                  Sure, if you're trying to do something low-ish level that has no equivalent on Linux (like access the registry) or trying to do something that is not directly possible through the .NET API (like start an OS update) or is not implemented in .NET Core on Linux (like draw a GUI), then sure, that won't work without some of effort on your part to make the cmdlet / script portable. However, if you want to check how long a process has been running and start it if it isn't, or you want to remove an old cert and install a new one... Powershell can just do that, because .NET knows how.

        • by batkiwi ( 137781 )

          Most of what you said is a bit silly.

          - More servers in Azure run Linux than run Windows.
          - Systemd is arguably a core piece of most linux systems, so calling it "not linux" is dishonest.
          - The Android UI is not "linux" in the same way that KDE and Gnome are. It happens to run on linux but doesn't call into it and could run on anything with the android subsystems
          - Samsung fully replaced the UI with their launcher and apps, including their own app store and browser.

          - Microsoft has nothing to do with systemd, W

        • by AmiMoJo ( 196126 )

          So basically you are upset that Microsoft offers products that people like, and think they should use... Uh... Librem? and, um... Roll their own LAMP stack cloud services or something?

          Seriously, what is the open source alternative to Azure? I'd love it if there was one but there isn't.

      • Re: (Score:2, Troll)

        They won't extinguish it, but they'll do their best to lock everyone in to their userland, and Powershell is a pretty good start.

        Except of course it's the most gawdawful inefficient slow and overly verbose piece of shit that every time I use it, I find the experience to be the scripting equivalent of getting a wisdom tooth pulled out.

        • "locking" people in...how exactly? You just said yourself you won't use it, I probably won't either but some will. How exactly does anything they do prevent you from using bash, perl, python, or whatever else you want?

          If they provide compelling enough userland tools/UIs and people prefer to use them, then that's a good thing it means they've provided something people want.

      • by Rob Y. ( 110975 )

        I agree that "extinguishing" linux isn't on the table these days. Linux is now the dominant server OS - and Microsoft is trying to keep their toolset relevant at this point.

        That said, this stuff's not free as in freedom - so why would a Linux developer want to base their skills around Microsoft stuff. Sure, they support it on Linux, but what about the next free OS to come down the pike (fucia, or BSD or whatever). It's not likely to achieve overnight dominance - enough to grab Microsoft's attention...

        • Re:"Embraced" (Score:5, Insightful)

          by Jon Peterson ( 1443 ) <jon@NoSPAm.snowdrift.org> on Thursday March 05, 2020 @09:17PM (#59801682) Homepage

          What is a Linux developer? Someone writing OS level code for Linux? In that case they probably wouldn't care much about MS tools.

          But if it's a developer writing applications that just happen to be deployed to Linux - of course they might want to use MS tools, and indeed tools from all sorts of other companies.

          Operating systems are really not that important any more. Most of the applications I'm involved in these days target either proprietary non-OS platforms like AWS, or they target frameworks like the JVM or (in my current job) .Net. The OS is of almost no interest. None of the code we write interacts with the filesystem - it's persisting to some serverless layer like Aurora or S3, or else it's talking to a message bus or another network API. All the code needs is RAM, CPU, Network. I care about the OS only slightly more than I care about the BIOS. Operating systems are large clunky annoying things that need patching a lot. The sooner they go away entirely, the better.

          I find it mildly depressing that people on Slashdot still rant about MS v Linux. I was interviewing a bunch of recent grads the other day and it's refreshing to see a new generation of developers (25 years younger than me) who aren't saddled with all that pointless history.

          I remember when I was 23 listening to old guys going on about RISC v CISC and thinking "you're all mad, this makes no difference to anything". And the same is true of all this systemd shit. It's utterly, deeply, irrelevant to modern software.

          • People say OS doesn't matter anymore, largely because Linux won. Even MS sees the writing on the wall, which is why their moving towards getting their ecosystem on Linux. But to us *nix types, Microsoft's way is the antithesis of how we want the CLI to work.

      • by sconeu ( 64226 )

        I still freak out every time I go to the SCALE 18x page, and MS is listed at the platinum sponsor.

      • zzzzz. It's not like a company can change in 20 years, right? MS could go out of business tomorrow and open source every thing they've ever developed and still the same old crowd will find something to complain about. The more years pass, the more irrational and out of touch they sound.

      • by Jodka ( 520060 )

        Sorry, it's not 1999 any more, bro. Not sure how they could "extinguish" Linux, the idea is pretty fucking laughable. Almost without exception Slashdot is pretty embarrassingly outdated when it comes to any article related to Microsoft.

        Well said. Now can we all get back to hating on systemd?

      • The idea that Microsoft would extinguish Linux is like the idea that Y2k would cause disaster. It's only not true because of extensive effort.

        Microsoft is still hostile to competitors. But much as slashdot is no longer able to take down websites by posting a link, Microsoft is no longer able to seriously threaten the existence of competitors through EEE, specifically because they lost the battle for the server to Linux.

      • by DeVilla ( 4563 )
        Admittedly, it's harder. Like undermining an open standard. In the case of Linux, the next step is to take control of the Linux Foundation to change it's focus while undermining both development and confidence in Linux as an Open Platform.
      • by Baki ( 72515 )

        Now naive. Of course they have only superficially changed their ways because they had to, not really.

    • Re:"Embraced" (Score:4, Interesting)

      by 0100010001010011 ( 652467 ) on Thursday March 05, 2020 @04:45PM (#59800848)

      Depending on the license the cat may be out of the bag.

      I feel like between early 2000s and now RedHat (well, IBM) and Microsoft have swapped places in my headspace with regards to FOSS.

      C#, VCode, This vs systemd.

  • by Anonymous Coward on Thursday March 05, 2020 @04:26PM (#59800818)
    Because I was just thinking to myself "Bash is nice and all, but what I really need is more complicated and verbose syntax"
    • The real sell for Powershell is how well it integrates with .NET. I will admit I always found it a bit of an odd duck syntax-wise but it's extremely powerful.
      • by MightyMartian ( 840721 ) on Thursday March 05, 2020 @05:12PM (#59800952) Journal

        And I care about .NET on Linux why? Seriously, I don't use their development tools, I'm not terribly interested in their languages? If portability is a concern, Java and Python are miles ahead of anything Microsoft has to offer. All the applications I work on nowadays are either back end glue between various systems, and I've had no problem using sh/bash for that for longer than some members of the Powershell development team have been alive. Linux is text based (thank fucking god).

        Powershell is barely tolerable in Windows system, and I use it because I have no choice. It's the only tool that can automate tasks and functions across all the Windows subsystems. But it's a fucking awful scripting language; it's overly verbose and slow as molasses even on even faster systems (largely because it runs as a skin on top of .NET and then has to communicate with the various subsystems). It's the exact opposite of the *nix philosophy.

        I guess if you run .NET on Linux, then this is your lucky day. But then, if you're running .NET on Linux, you're a fucking moron, so I guess you deserve a break.

        • I'm doing C++ these days, but previously I did .NET on 'linux' (really just .NET core), it works great. .NET core is portable enough for 99% of people (it works on Windows, and on Linux). Visual Studio, while kind of a slow lumbering beast, is an excellent development environment.

          Java is a piece of shit and you deserve what you get if you still use it unless you're already locked in. For most enterprise or customer facing typical development it's inferior in just about every way to .NET.

          And using .NET on li

        • by malkavian ( 9512 )

          Powershell is a great shell scripting language. Your assertion that you'd use Python and Java instead show that you're mixing up your use cases (both those are full feature set programming languages, not shell scripting languages). You could do in a couple of lines in bash on Linux, or Powershell on Windows what would take you an order of magnitude more in Python, or even more in Java.
          So, dropping that from the equation leaves you saying that you've been using bash/sh for longer than the Powershell team h

          • by MightyMartian ( 840721 ) on Thursday March 05, 2020 @06:32PM (#59801222) Journal

            The issue is that Linux doesn't have that issue. Most, if not all, config files are in a pretty standardized format that I can use a whole host of text processing tools to parse and manipulate. That's kind of the advantage of human-readable files (and yes, I know, XML ain't exactly readable, but then again, Microsoft itself has moved heavily over to XML).

            Powershell is an awful language. It's insanely verbose, so you have to use an IDE or you'll quickly go insane. And then there's the fact that it basically loads .NET, so it's very slow to run and execute, and then if you want to do something like load Exchange extensions, well you get to wait even longer.

            It's fine on Windows, because, well, it's the only tool on Windows that actually allows you to integrate the disparate subsystems and application ecosystems together. But that it's the only tool that does is in a programmatic manner doesn't make it good.

            • by AmiMoJo ( 196126 )

              The problem is not the lack of standard formats for config files, it's the large number of formats for config files. There is no standard, no API, you just have to figure each one out and build some tools to manipulate it, and then hope the developer doesn't change it too much.

              More over there is no standard API for controlling applications that are running either. Even Windows is somewhat guilty of that but PowerShell has gone a long way to fixing the problem. Back in the day we had ARexx for AmigaOS that d

            • by Junta ( 36770 )

              it's the only tool on Windows that actually allows you to integrate the disparate subsystems and application ecosystems together

              Actually, this is a bit generous to Powershell. My experience was that the 'ecosystems' in Microsoft were little islands and the only way that you were going to use PowerShell to do anything is if the target software went out of their way to make itself available to the .Net framework. Basically Powershell gets some nice capabilities because the MS platform is hopeless for multi-software integration, so they were free to just make a scripting language for .Net and it's no worse than the alternatives.

              It'd

            • Comment removed based on user account deletion
        • by AmiMoJo ( 196126 )

          .NET has a very strong ecosystem that makes it a good choice for many tasks. Like say you want to write a cross platform MODBUS app, or implement a REST API. There are libraries for that, you can use a package manager to install them in your project and they work everywhere .NET does.

          Java in comparison is rather old and crusty. Python is okay but there is a reason you don't see many huge Python apps, and a lot of people prefer using a C like syntax anyway. And it has to be said that the available IDEs for C

    • My favorite part is the COMPLETE lack of backwards compatibility. Powershell is exactly the thing that Windows users think Bash is.

      • by bn-7bc ( 909819 )
        Hold on, does thst mean that powershell 7 breakes things writen for previous versions of powershell, in thst case this is bsd, unless therevare very good reasons for the breakage
      • My favorite part is the COMPLETE lack of backwards compatibility.

        First versions of everything are usually like that.

        It also works as a benefit since you don't have to test for Bob's edge case from 1981.

      • by AmiMoJo ( 196126 )

        It's backwards compatible. The syntax is the same, scripts will work just fine.

        Microsoft introduced .NET Core to go fully cross platform and open source. It meant that some features of .NET Framework 4 were lost because they were not ready for cross platform or were Windows specific, but in time most of that functionality has been ported or replaced.

        Each version of .NET Core is backwards compatible with earlier versions of .NET Core so if you started on Linux you haven't lost anything, it's only people migr

    • by Anonymous Coward
      Exactly. Who wants "ls | grep foo" when you can have "Get-ChildItem | Out-String -Stream | Select-String "foo"" instead?
      • powershell equivalent:

        ls | sls foo

        Its almost like... you can use it interactively with few keystrokes or go long form when you want to have the syntax clear.

        Also, tab complete for all params, aliases, and cmdlets is HUGE for interactive terminals.

  • And with a deeper and more extensive API integration for the malware writers to exploit.
    • by malkavian ( 9512 )

      Well, considering you can write very effective malware in bash if you choose to.. What's your point?
      Any shell language that lets you control your system with a good degree of finesse can make a royal mess of it if that's what you tell the language to do.
      Stopping it simply means the language "doesn't trust you", which is bad for a language used by sysadmins.

  • by Austerity Empowers ( 669817 ) on Thursday March 05, 2020 @04:55PM (#59800888)

    Why would I want to infect my machines with this thing? I've never been in a situation on linux or osx when I was thinking "Hey, how can I bring the feelings of self-loathing and despair I remember from Windows into my environment. I know, powershell!"

    • by Nexion ( 1064 ) on Thursday March 05, 2020 @05:09PM (#59800938)

      Because for those hooked on Microsoft it works as methadone does for heroin users. Helping to slowly wean them off the poison.

    • But... but... but... "It's objects, man!"

      That's the usual shill line of Microsoft admins, so unable to move to the more efficient paradigm that *nix represents that Redmond has exported the .NET framework to Linux just so a whole generation of half-trained sysadmins can run their scripts.

      • by malkavian ( 9512 )

        You've never really talked to a good sysadmin then. It's a tool for a job. And it's the right tool for quite a few jobs.
        Not using the right tool for the job at hand is just daft.

        • So you mean those good sysadmins have already been using Scsh the whole time?
        • by iggymanz ( 596061 ) on Thursday March 05, 2020 @09:15PM (#59801676)

          A right job for PowerShell away from a Windows box? No. If I need objects there are plenty of superior scripting languages with objects to be had. Hilariously, those scripting languages run on windows too.

          Windows is consumer grade crap stretched to a place it doesn't belong, it's not a serious operating system. No bank or insurance company runs their mission critical wares on it. Why would anyone want or need the ridiculous scripting language designed for it?

        • I haven't had windows systems for work purposes in almost 10 years, but more importantly, have never heard a system admin begging for powershell or whining about not having it on their platform, as most people would for highly desirable programs not available to them.

    • by AmiMoJo ( 196126 ) on Friday March 06, 2020 @05:11AM (#59802514) Homepage Journal

      One of the most common uses is for servers in Microsoft's Azure cloud service. They have more Linux servers than Windows ones.

      You know how people run Linux stuff on Windows using things like WSL or MingW or Cygwin? It's a bit like that in reverse, you can run Microsoft services on Linux because they are all built on .NET Core and use the same PowerShell to administer them regardless of the underlying OS.

      So it's probably not for you, certainly not designed for you.

    • by sad_ ( 7868 )

      If you're on azure, you can have some benefits of having powershell on your linux box.
      Also if you are a Windows admin, that knows PS inside-out and also need to support Linux and don't want to learn a decent shell (i would not suggest you let Windows admins near Linux servers and the other way around, but unfortunatly, that is the reality).

  • I remember a linux shell called powershell back in my Slackware days. I used it there and on FreeBSD until terminator stabilized in heavy use (it used to do something annoying. Maybe crashing or locking up). I couldn't find "powershell" in ports just now, wonder if Redmond & Co. bought it and re-wrote it for Windows like Bill did with QDOS.
  • From Microsoft..for MacOS. oH HELL NO !!
    • Time was almost every Mac had Word on it. Of course, time was word was awesome. And that time was during the early 68k Mac era.

      • by gtall ( 79522 )

        Yah, and every time I'm forced to use any of those programs in that abomination called Office, I die a little. Unintuitive piles of fetid dingos kidneys (thanx Douglas Adams).

    • by gtall ( 79522 )

      No shit, I don't mind them fouling their own ecosystem, but do they have to export it to MacOS and Linux? At least they made it open source so users won't get left in the cold when someone at MS gets weak-kneed.

  • When I still had a podokesaurus pet, a while ago, I had to work on some old Windows servers. I embraced Powershell, as it was way better than cmd in predicting outcomes and possibilities it opened. But not everything was easily achievable. Sometimes I had to use cmd from Powershell, sometimes .Net could help. But it was always a hacky way around some obstacle, with lots of letters written and rewritten again and again. And when some update came, your hacky mishmash would not work. A lot of initial R&D a
  • by JohnnyMindcrime ( 2487092 ) on Friday March 06, 2020 @09:34AM (#59802936)

    ...I didn't switch on my Linux PC whilst mulling over my first cup of the coffee of the day and say to myself:

    "You know, I find BASH really restrictive. I wonder what alternative shells exist. Let me go visit microsoft.com to see what updates they have for me."

    Microsoft solved the problem of "dual boot" for me - it released Windows 8 and beyond, and then I just went totally to Linux.

There's no future in time travel.

Working...