PowerShell 5 can connect to the PowerShellGallery, an online repository for PowerShell modules. ISESteroids is available there, too, so if you run Windows 10 (which includes PowerShell 5) or have installed the WMF5 preview, then there is a new and beautiful way for you to install and even update ISESteroids directly from inside PowerShell.
In this little walkthrough, I am going to show you what PowerShellGet and the PowerShellGallery are, and use ISESteroids as an example of how you can download, install, and even update modules like ISESteroids from the online PowerShellGallery with almost no effort.
If you do not have Administrator privileges, or if you want to install ISESteroids for your account only, then simply launch your ISE editor, and enter this one liner:
PS> Find-Module -Name ISESteroids | Install-Module -Scope CurrentUser
If you do have Administrator privileges, then launch ISE with full privileges, and run this line instead:
PS> Find-Module -Name ISESteroids | Install-Module
After a confirmation, the module is downloading and will be installed. That was easy.
If you do not get a confirmation dialog, and ISESteroids won’t be installed, check out the “Install-Module won’t prompt for confirmation” section below.
Once the module is installed, simply launch ISESteroids like this:
That is really it. ISESteroids fires up, you may have to accept the EULA, and ready you are for a test ride. To make your test ride worthwhile, and to discover all the powerful features delivered by ISESteroids, you may want to check out the many great walkthrough blogs listed here.
Just remember that ISESteroids is an extension for the ISE editor, not the PowerShell console.
So if you have launched the PowerShell console instead of the ISE editor, make sure you launch the ISE first, and then enter Start-Steroids into the ISE. Not the console.
To launch the ISE editor, in the PowerShell console enter:
If you have used the parameter -Scope CurrentUser with Install-Module, then ISESteroids will be copied to your user profile. Any user can do this, so no special permissions are required. However, the drawback of this is that ISESteroids won’t be available for other users.
Even worse: If user profiles are roaming, they may actually reside in the network without knowing, and PowerShell may refuse to load binary modules like ISESteroids from a network location. Also, launching ISESteroids may be slow at times, depending on settings and network traffic.
This is why it does make sense to install ISESteroids with Administrator privileges, and not use -Scope CurrentUser. This will install the module to your ProgramFiles folder. It is now accessible for all users, and guaranteed to be stored locally. Roaming user profiles are no longer a problem.
Install-Module won’t prompt for confirmation
If you do not get a confirmation prompt after running Install-Module, then the module is already installed in one of your module folders. You would need to manually remove the module folder (simply delete it) as there is no cmdlet to delete modules.
To find out where exactly your module is installed, run this line:
PS> Get-Module -Name ISESteroids -ListAvailable | Select-Object -Property ModuleBase
Or, you could create your own Delete-Module command (thanks to Kirk Munro for suggesting)(Remove-Module is already taken by another cmdlet with a different purpose) BTW:
PS> (Get-Module ISESteroids -ListAvailable).ModuleBase | Remove-Item -Recurse -Force
The great thing about the PowerShell gallery is that it can automatically check versions. So if you wanted to make sure you have the latest and greatest version of ISESteroids, then this is all you need:
PS> Update-Module -Name ISESteroids
This line checks whether there is a newer version available in the PowerShell gallery, and if so, downloads and updates the module.
Note that Update-Module will try and update the module it finds first. So if the module was originally installed in ProgramFiles, then you will need Administrator privileges to update it. Essentially, for updates you need the same privileges that were required for the original installation.
With the PowerShellGallery, it is now super easy to get your favorite tools and extensions whereever you are. All you need is an Internet connection – and PowerShell 5. All the new cmdlets like Find-Module and Install-Module are part of the new module PowerShellGet. Hopefully, this module will eventually be available on older PowerShell versions, too.
If you are adventurous and brave and impatient enough, you could try and copy the module “PowerShellGet” from a Windows 10 machine to your older OS and see if it works there, too.