I just recently had the opportunity to sit with Aaron Nelson and go through some really cool Powershell features, and I’m certainly going to spend time getting to know Powershell a lot better. If you didn’t know, Powershell isn’t exclusive to Windows anymore – you can actually run a basic set of Powershell features, called Powershell Core, on Mac OS and Linux as well.
But there’s a problem.
There are two tricky little problems when setting your path variable in PowerShell. Here's how to get past them. First, lots of guides show things like this: Which works on Windows but won't work on OS X. The variable name has to be all-caps: Next, the separator between path elements on Windows is. How to Install PowerShell on a Mac. To install PowerShell on a Mac, just double-click the downloaded.pkg file. It will launch a package installer and install PowerShell like any other application. At the moment, the package doesn’t appear to be signed, so you’ll have to bypass Gatekeeper to install it. To do so, right-click or Ctrl-click. Powershell for Mac OS X. Archived Forums Azure Search. Where and how I can find the power shell package to install on Mac OS X or is it supported by Mac or not.
By default, running the “pwsh” command just starts Powershell Core in a regular terminal window. The first thing you’ll notice is that this doesn’t really play well if you’re using a white background, as the output is often light grey, yellow or even white.
So wouldn’t it be cool if we could launch our Powershell Core in the stylish blue world of bliss that Windows users have become so accustomed to?
Powershell Mac Os X
Setting up a color profile
You probably already know that you can customize the Mac Terminal to death, and you may even have noticed that you can create different profiles for different purposes:
What you can do is, you can create a separate profile for your Powershell Core stuff, customize all those colors, fonts, and what-not. But here’s where it gets funkier:
You can set a custom command to start when you open a terminal window with this profile: enter pwsh in the “Run command” field at the top, and now, every time you open a window with this profile, it starts Powershell Core automatically, saving you all of five keystrokes.
The “Run inside shell” checkbox needs to be enabled!
In fact, you may even want to put “pwsh; exit” (without the quotes) in the “Run command” field – this will terminate the bash shell automatically when the pwsh process ends, so typing “exit” in Powershell will close the window.
Another slight annoyance is that when you want to close the window, technically the “pwsh” process is still running (unless you type “exit”), so you’ll get a friendly confirmation dialog that you’ll have to deal with:
To make this window go away, and save you another five keystrokes, look at the bottom of the “Shell” tab of the “Preferences” window, in the “Ask when closing” section. If you add “pwsh” to that list of applications, the terminal won’t ask you for confirmation if you want to close the window.
Obviously, that warning is there for a reason, so it’s really your call if you want to do this.
Now, when you open Terminal, you can select “New Window” -> “Powershell” from the “Shell” menu…
… and voilà:
Microsoft has really turned over a new leaf in regards to its view of the previously despised Linux operating systems. Satya Nadella has led the company through a complete 180. Not only have they stopped dissing Linux, Microsoft seemingly fully supports it. Previous CEO Steve Balmer tried to put Linux in a guillotine with its 59,000 strong, patent portfolio blade. He pushed companies into signing patent licensing deals; search Amdocs for the details on one such agreement.
Powershell Mac Os X
With Nadella at the helm, the company now views Linux as an asset rather than a competitor. They may be on to something, Linux is a fantastic operating system that has propagated to data centers world-wide. It usually far outnumbers Windows nodes in those same dcs. However, a lot of the software available for Linux is sub-par in many a users’ eye. Kolab is able to ape some of the best features of Microsoft Exchange, but lacks the polish and scalability features. Libre Office Writer 5 is good for free software, but I write all my documents in Microsoft Word.
The ablity to run Microsoft’s flagship software on Linux machines could greatly expand Microsoft’s user base, both in the Enterprise and by individuals. Last year MS released an edition of its SQL 2016 Server that runs on Linux and enabled Bash (the Linux terminal for my Windows readers) in Windows 10. It fully supports Linux virtual machines in its Azure cloud and Unbuntu on Windows is available in the Microsoft store. Its latest offering is the ubiquitous PowerShell and .Net core. The old lines in the sand are starting to become awfully blurry. The official Microsoft announcement is here if you’d like to read it.
Run Powershell On Mac Os X
Speculation could lead one to ponder what else will run on Linux now that it has the next-gen .Net framework easily available. Rumors abound that everything from Microsoft Exchange to Microsoft Office is on the way. Only the future will tell for sure, but I can’t imagine that MS went to all this trouble just to let Windows admins run their PowerShell scripts on the Linux team’s VMs. Python isn’t that big of a leap for those of us that are proficient at PowerShell, there’d be no reason for this type of overture unless they have plans to do something more with it.
So how do we get PowerShell on to Linux and what can you do with it after you do? Let’s find out! If you don’t have an old system lying around that you can toss your favorite Linux distro on, I suggest building a VM on your Windows machine. You can use Hyper-V if you have Windows 10 Pro or Server, and VirtualBox if you don’t. See my article about building a VM on windows for more info.
I’m using Ubuntu 17.10 and I’m going to add the Microsoft repository to my package manager so that my install stays up to date with my regular update procedure. If you’re doing this on a MAC you’ll want to grab one of the OS X packages from the GitHub Repository. The Macintosh operating system has an unknown developer lock on it just like your phone does. You’ll need to CTRL + Click on the PKG file that you downloaded and then pick Open to bypass the security feature. Follow the Wizard to complete the installation.
In Ubuntu, open a terminal and follow the instructions below.
- We need to add the curl program unless you’ve already had to for some other task.
- Type: sudo apt install curl and press enter.
- Now we’re going to import the repository GPG keys.
- Type: curl https://packages.microsoft.com/keys/microsoft.asc sudo apt-key add – then press enter.
- We need to register the repository.
- Type: curl https://packages.microsoft.com/config/ubuntu/17.04/prod.list sudo tee /etc/apt/sources.list.d/microsoft.list and press enter.
- Next we need to check for updates.
- Type: Sudo apt-get update and press enter.
- All that’s left is to install PowerShell
- Type: sudo apt-get install -y powershell
That’s it, you’ve installed PowerShell on Linux. To those of us that have been in tech for more than a few years, that is a very odd sentence to type. Now what? Well, first you’ll need to launch it. Open your terminal and depending on the version of Linux/Mac OS X and the package you’ll need to type either powershell or pwsh to access it.
Once you’re in, it works exactly like it does on Windows. A good way to see what you can do is to list out the commands and modules available. Try Get-Help Get* for a list of get commands and Get-Help Set* for the settings you can alter. Get-Module -list is also handy.
There are a lot of commands available but some of my favorites are missing. Mac os system update. Get-NetAdapterConfiguration and Test-Connection are nowhere to be seen but the trusty Get-ChildItem and Get-Process are both fully functional. You’ll have to check for your favorites. One would assume cmdlets will be added with future updates as there were in the evolution of PowerShell on Windows.
As I’ve stated in numerous posts before, I like and use all technology. I see the new trend of intergration as an extreme advantage for the future of computing in general. I sincerely hope it continues.