News for hackers. Stuff that matters.
Re:PowerShell 7.0 by josteink on Wednesday March 04, 2020 @01:02PM (#22486049)
I’m not a PowerShell fan by large, but you can tell a whole lot of effort went into this.

And for what ends? Seemingly to make more Microsoft technologies and APIs available on non-Windows platforms.

I genuinely like this part of the “new” Microsoft.

Re:PowerShell 7.0 by Pet_Ant on Wednesday March 04, 2020 @02:49PM (#22487292)
Well it gives a cross-platform scripting language. This can be useful for setting up projects in a dev-shop with both Macs and Windows machines.

It's also a nicer scripting language since it's table-based rather than string-based like Bash et al.

Re:PowerShell 7.0 by jiggawatts on Wednesday March 04, 2020 @03:36PM (#22487771)
This is entirely a self-interested move by Microsoft.

They want PowerShell to be the standard shell for managing Azure and Office 365.

They have Azure customers that aren't Windows users, so they have to cater for them. That's it.

Mind you, there's nothing wrong with this, it makes perfect business sense!

Re:PowerShell 7.0 by JeffreySnover on Wednesday March 04, 2020 @11:15PM (#22490906)
That's not quite right. We have always focused on CUSTOMER success.

You are right that there is self interest in that (as Satya likes to say - it is hard to be successful if your customers aren't succeeding) but the PowerShell team has NEVER been confused about what the high order bit is.

Without going down the rabbit hole, I'll just point to the fact that our launch partners for PS Core were: - AWS - GCE - VMWARE

Jeffrey Snover [MSFT]

Re:PowerShell 7.0 by jiggawatts on Thursday March 05, 2020 @07:04PM (#22499785)
Meanwhile PowerShell 6 was basically useless for Windows automation. Even PS7 has open issues for Windows or backwards-compat with PS5. A random example: https://github.com/PowerShell/PowerShell/issues/12027

Generally the impression I have is that PowerShell development effort after v5.1 was 100% cloud-focused, and all Windows-native development stopped dead in the water. All videos and examples of PS6+ I saw were about cloud automation and Linux support.

If you would like to dispel my misconception, answer me this: Why has the PowerShell team not fixed any of the long-standing bugs in the Windows Server modules?

For example:

    Get-ADUser 'nonexistent' -ErrorAction:SilentlyContinue
has been broken since like... forever.

While we're here, how about the fun fact that "Set-Mailbox" doesn't have -WhatIf support, because who needs safety, anyway!? Or how if the very same command fails to find the specified mailbox it helpfully applies the change to the first 1000 users in your organisation instead. Clearly I wanted everyone to have the same surname with no rollback other than a full D/R restore. Fun times.

Re:PowerShell 7.0 by SteveL-MSFT on Thursday March 05, 2020 @07:48PM (#22500079)
The PowerShell team doesn't own most of the modules that are shipped in Windows Server. Windows Server is a big project that takes many teams to work together to produce. In your specific example, the AD team owns that module. Set-Mailbox issues need to be sent to the Exchange team. I know you may not like that answer, but it's not feasible for a single team to own so many cmdlets that require different domain expertise.
Re:PowerShell 7.0 by jiggawatts on Thursday March 05, 2020 @10:59PM (#22500887)
Excuses.

Nothing stops the PowerShell team from validating module behaviour against a set of standards and best-practices. Just because a module was authored elsewhere in Microsoft doesn't mean that you can't create issue tickets to get everything up to a baseline level.

I don't mean write their code for them. But it would be huge step up in perceived end-user quality of PowerShell in general if simply all Microsoft modules correctly supported -ErrorAction and -WhatIf. Similarly, support for PowerShell Core should have been fixed for all major modules long ago.

Microsoft created PowerShell and Microsoft created the Windows Server modules. From our perspective on the outside there is only Microsoft. We don't care about your internal politics. We do care about 1K mailboxes being irreversibly damaged.

Our perception is that third-party ISVs do a better job at writing PowerShell modules than Microsoft. Half the time I spend teaching PowerShell to customers is listing the many, many ways Microsoft violates their own rules and all the fiddly little workarounds required.

Meanwhile I just tested Pwsh 7 to see how well it works, and my first experience is that Connect-AzureAd fails because it uses the non-core SHA256Cng class instead of SHA256, so it can't connect unless I use a "preview" version from outside the PowerShell gallery. Nobody in their right mind would use preview code from a non-standard source to manage thousands of accounts in production. See: https://github.com/PowerShell/PowerShell/issues/10473#issuec...

I can't do "Microsoft things" with the "Microsoft shell", which renders Pwsh 7 useless to me and my customers. As far as I'm concerned, Pwsh 6, 6.1, 7, and most like 7.1 exist only to enable Linux and Mac users to automate Azure Resource Manager. Outside of that, most "Microsoft" things do not seem to work...

Re:PowerShell 7.0 by ASalazarMX on Wednesday March 04, 2020 @01:34PM (#22486404)
I feel like we're in the "extend" phase of embrace-extend-extinguish cycle.

The last step would be creating Microsoft Linux for Developers when enough market penetration has been achieved, and making sure their tooling is hard to maintain in other distributions.

Re:PowerShell 7.0 by Ididntdothis on Wednesday March 04, 2020 @02:40PM (#22487204)
I think today embrace, extend and extinguish applies more to cloud providers like AWS. They take a lot of open source, wrap it into their own code and then lock people in. MS is one of the perpetrators but Amazon and Google are no better.
Re:PowerShell 7.0 by jamesgeck0 on Wednesday March 04, 2020 @01:42PM (#22486501)
embrace-extend-extinguish refers to Microsoft's adoption of existing technology. It's not a great fit here; Powershell is their own thing.
Re:PowerShell 7.0 by ASalazarMX on Wednesday March 04, 2020 @05:14PM (#22488730)
This is just speculation on my part, but the technology being adopted is likely Linux. First Microsoft declares its war on Linux over (Microsoft loves Linux), then the Windows tooling is extended into Linux so the lines blur, then WSL was made so you don't have to leave Windows to use Linux tooling.

In my paranoid scenario, a happy ending (for Microsoft) would be: the release of its own Linux that "just works" with the mixed tooling, and young developers considering pure Linux just for small projects.

Re:PowerShell 7.0 by unreal37 on Wednesday March 04, 2020 @01:52PM (#22486638)
Amazon has it's own Linux. Why not Microsoft?
Re:PowerShell 7.0 by animalnewbie on Wednesday March 04, 2020 @02:46PM (#22487261)
Thank God you realize this. Just yesterday I noticed that systemd uses azure pipelines for testing and somebody as wise as you told me that Microsoft is slowly adding windows Installer code to systemd and in a few years you may think you're installing linux but upon first boot systemd will actually install windows.
Re:PowerShell 7.0 by jedieaston on Wednesday March 04, 2020 @03:39PM (#22487805)
Do you have a link where I can read more about the Windows Installer code thing?
Re:PowerShell 7.0 by Anthony-G on Wednesday March 04, 2020 @06:34PM (#22489335)
Unfortunately, the person you're responding to was being sarcastic so you're not going to get a link. :(
Re:PowerShell 7.0 by animalnewbie on Thursday March 05, 2020 @06:37AM (#22492707)
> unfortunately

Found Bill Gates's account.

Re:PowerShell 7.0 by AnIdiotOnTheNet on Wednesday March 04, 2020 @02:50PM (#22487307)
People too young to remember the anti-trust days will deny it, but there is no good reason to trust that this isn't Microsoft's long term plan. You'd be a fool to believe Microsoft has the best interests of the open source community at heart.
Re:PowerShell 7.0 by josteink on Wednesday March 04, 2020 @03:35PM (#22487757)
Why can’t it be both?

Microsoft has their own selfish reasons for wanting people to use powershell, while at the same time MS open sourcing powershell and providing it as a cross-platform tool people can use on their platform of choice benefits the open-source community?

Do you honestly think the open source projects from the likes of Apple, Google, Amazon, Twitter or Facebook is based on their good wishes and interests for “the open source community” (whatever that may be)? Really?

Re:PowerShell 7.0 by JeffreySnover on Wednesday March 04, 2020 @11:21PM (#22490948)
Those youngings probably don't remember what the Germans and Japanese did in the 40's either.

Or the good old day's when Ultrix ran like a racehorse on 4MB of ram (it did BTW!).

We don't do our credibility any favor when we live in the past and don't update our worldview based upon current facts.

Jeffrey Snover [MSFT]

Re:PowerShell 7.0 by AnIdiotOnTheNet on Thursday March 05, 2020 @11:23AM (#22494915)
Current facts: Microsoft shoves ads into the start menu and file explorer, collects a ton of telemetry, resets application associations during updates, and does its best to hide the ability to setup a local-only account during install in its pay-for operating system.

So forgive me if I'm cynical of your company's current PR efforts.

Re:PowerShell 7.0 by afiori on Thursday March 05, 2020 @05:00AM (#22492315)
And the people that remember take notice of how google/apple are doing a lot worse in that space.