PowerCLI Core has been tried on two Linux distributions: VMware's Photon OS and Ubuntu 14.04, however that is not to say it would not work on other distros. In fact, .Net Core (which PowerCLI Core consumes) supports a variety of Linux distributions which can be found here. I recently needed to run PowerCLI Core on a Debian 8 system which required a few minor tweaks to get working. I figure I might as well document the steps in case this might help others wanting to use PowerCLI Core which now includes PowerNSX on a Debian system.

Step 1 - Append the following repo source to /etc/apt/sources.list configuration file:

deb http://ftp.de.debian.org/debian sid main

Step 2 - Run the following command to update the repo

apt-get update

Step 3 - Download .deb package for latest Powershell release and run the following command which will generate list of required dependencies:

wget https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-alpha.14/powershell_6.0.0-alpha.14-1ubuntu1.16.04.1_amd64.deb
dpkg -i powershell_6.0.0-alpha.14-1ubuntu1.16.04.1_amd64.deb

Step 4 - Run the following command to install powershell along with its dependencies:

apt-get -f install

Step 5 - The next series of commands will download and setup PowerCLI Core:

mkdir -p /powershell
wget https://download3.vmware.com/software/vmw-tools/powerclicore/PowerCLI_Core.zip -O /powershell/PowerCLI.ViCore.zip
apt-get -y install unzip
unzip /powershell/PowerCLI.ViCore.zip -d /powershell
mkdir -p /root/.config/powershell/
mkdir -p ~/.local/share/powershell/Modules
unzip /powershell/PowerCLI.ViCore.zip -d ~/.local/share/powershell/Modules
unzip /powershell/PowerCLI.Vds.zip -d ~/.local/share/powershell/Modules
mv /powershell/Start-PowerCLI.ps1 /root/.config/powershell/Microsoft.PowerShell_profile.ps1

Step 6 (Optional) - Install PowerNSX module:

wget https://github.com/vmware/powernsx/archive/master.zip -O /powershell/master.zip
unzip /powershell/master.zip -d /powershell/
mkdir ~/.local/share/powershell/Modules/PowerNSX
cp /powershell/powernsx-master/PowerNSX.ps*1 ~/.local/share/powershell/Modules/PowerNSX/

If everything installed successfully, you should be able to now launch PowerCLI Core by simply typing "powershell"

4 thoughts on “How to install PowerCLI Core on Debian Linux?

  1. Thanks for this! This is cool…. However:

    It appears that some cmdlets are not included I have PowerShell scripts for windows. And these work fine on a Windows host.

    I get this error when trying to login to an Esxi host.

    Get-VICredentialStoreItem : The term ‘Get-VICredentialStoreItem’ is not recognized as the name of a cmdlet, function,
    script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is
    correct and try again.

    • Tim,

      Coupe of things. Not all PowerCLI cmdlets have been ported over, especially ones that have a reliance on Microsoft Powershell cmdlets such as Credential Store (this is already a known issue which we’ve published PowerCLI Core Fling page here https://labs.vmware.com/flings/powercli-core). .Net Core (Powershell for Linux) is currently only in Alpha milestone, which means there’s still a lot of work on their end to finish the port before we can finish our port which will also take some time. If there are any other missing cmdlets that you think we should work on next, be sure to leave a note here or on the Fling page as I know the PM is actively looking for feedback as they prioritize cmdlet porting over to PowerCLI Core

    • I have gotten it installed on Cent 7 with minor issues. As William says above not all cmdlets have been ported over, but the ones in the fling I have gotten working. The one problem I do have with Cent is that it does not come with a default Libcurl SSL and you will have to do a quirky workaround to accept unsigned certificates until powershell gets an update.

Thanks for the comment!