Summary
Hello, hello 🙂.
Thanks for clicking on this article 😁, for the record, it will be less condensed than the last one, this week, we're going softer 😛.
Basically, I'm not familiar with Powershell, I'm more in the world of penguins and all that... but a few months ago, I had to work with Powershell ... and Linux.
Today, I'd like to tell you a little about my experience of this adventure, take this article as a little story from a guy who didn't know Powershell, but had to get to grips with it 🙂.
And yes, it's a fact, you can't miss it, most of my customers are on Microsoft 365. As a result, it's hard to miss out.
With Powershell, you can do all sorts of things on your Microsoft 365 account, such as link a user to a group, add a user, delete a user, etc. In short, you get the idea.
In short, you get the idea.
Let's talk about the project I was working on.
The idea was simple: a Symfony project running on a Linux server needed to be able to communicate with Microsoft 365.
The customer had already had a Powershell script developed by someone whose job it was, and his script was impeccable, but there was a problem...
The script was written for Powershell 6, but under Linux, only Powershell 7 (Core) is available.
(Maybe I'm saying "Powershell" a bit too much in the title of this section, don't you think?)
So I had no choice but to rework the script so that it would work under Powershell 7.
To do this, I took the script, the Microsoft documentation and the artificial intelligence - no choice. As I set to work, I started to see which functions no longer existed under Powershell 7, and to find replacements, I used ChatGPT at first, the problem being that ChatGPT sometimes made errors, so I went step by step.
One of the most confusing things is that on Powershell 7, the "Get-Azure*" functions no longer exist, so I had to use functions starting with "get-MG*". I also remember that the whole "authentication" part, well yes, to communicate with 365, you have to authenticate first, which was a bit restrictive.
At the time, I still had my 2017 27-inch iMac as my main computer, so creating the Docker image wasn't very complicated.
You create an image with the Symfony project, install Powershell and Symfony can run "pwsh".
In short, nothing insurmountable.
Later, I had to come back to this project, but now I have a Mac with Apple Silicon, and the server on which this project runs is obviously an Intel processor.
So I add "--platform linux/amd64" to my Docker command, except...
Here's what happens, I imagine that Docker uses Rosetta 2 for the task, but it crashes at that point.
I didn't bother, I went back to my 2017 27-inch iMac to redo the Docker image.
We've briefly gone over it 2-3 times since, but it's been working for months: Symfony + Docker + Powershell.
As I said, it was a quiet article this week.
Just a little feedback on an experience I had a few months ago.
Having said that, Powershell on Linux works just fine 🙂.
Have a great week 😁.