To launch ISESteroids you can run Start-Steroids
, or import the module via Import-Module -Name ISESteroids
. Both have the same effect, and ISESteroids loads.
The launch of ISESteroids may be delayed if it cannot find the license server or if your network is blocking 8.8.8.8.
To check whether network conditions cause a slow start, simply disconnect from the Internet before you launch ISESteroids and see if it launches (much) faster without Internet connectivity. You can re-enable your Internet connectivity once ISESteroids has launched.
If you are using ISESteroids frequently, you can automatically load it whenever you launch the ISE editor: simply add Start-Steroids
to your PowerShell Profile Script.
Quickly Explained: Profile Scripts
To customize your PowerShell environment, PowerShell supports Profile Scripts that run automatically whenever PowerShell launches. You can add arbitrary commands to a profile script, define default variables, load Snap-Ins (if you still use these), change color settings or PowerShell Preferences.
How it Works…
Whenever PowerShell starts, it checks a number of predefined file paths, and if these files exist, runs them. Since Profile Scripts are regular scripts, they require that script execution is permitted, so in order to use Profile Scripts, you may have to enable script execution first. This needs to be done only once:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Application-Specific Profile Scripts
Profile scripts can be application-specific, so each PowerShell Host uses a different profile script. That’s great because you may want to set up the PowerShell Console differently than the ISE editor.
The path to the most important personal and application-specific profile script can always be found in $profile. Since it is application-specific, the path depends on the PowerShell Host. When you dump $profile in the ISE editor, it reports this path:
PS> $profile
C:\Users\HenryI\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
If you do the same from within the PowerShell Console or VSCode, the path is different, respectively. This is the path for the PowerShell Console:
PS> $profile
C:\Users\HenryI\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Application-Unspecific Profile Scripts
Anything you want to automatically execute in any PowerShell Host can be added to the application-unspecific profile:
PS> $profile.CurrentUserAllHosts
C:\Users\HenryI\Documents\WindowsPowerShell\profile.ps1
The unspecific profile script is called profile.ps1. Any host-specific profile script prepends the file name with the host name:
Application | Host Name | Profile Name |
---|---|---|
PowerShell Console | Microsoft.PowerShell | Microsoft.PowerShell_profile.ps1 |
ISE Editor | Microsoft.PowerShellISE | Microsoft.PowerShellISE_profile.ps1 |
VSCode | Microsoft.VSCode | Microsoft.VSCode_profile.ps1 |
All | profile.ps1 |
None of these scripts exist by default. You may need to create them yourself if you want to use them.
Automatically Loading ISESteroids
To automatically load ISESteroids whenever you launch the ISE editor, simply add Start-Steroids
to the ISE profile script.
1. Open Profile Script
It’s super easy to open a profile script from within ISESteroids (and create it on-the-fly if it does not yet exist). So launch ISESteroids and once it is loaded, click on the “man” button in the toolbar:
The script opens. If it does not yet exist, ISESteroids offers to create it for you.
2. Add “Start-Steroids” to Profile Script
Add Start-Steroids
to the profile script, and save the script. That’s all. Next time you launch the ISE editor, it automatically launches ISESteroids.
To test-drive, close ISESteroids, and launch the ISE editor again. ISESteroids should now start automatically.
Skipping Automatic Loading
If you have set up your profile script as described above, whenever you launch ISE, it loads ISESteroids. If you want to launch ISE without ISESteroids, you can use the parameter -NoProfile to prevent the profile scripts from running.
For example, open a PowerShell Console, then run this command:
ise -noprofile