Profiles
Profiles are special scripts that PowerShell hosts run automatically when they start a new session. Each host looks in four different locations for profile scripts, running any of them that it finds. To find where these locations are, for the host you're in, look at the $profile
automatic variable:
The first thing you'll notice is that there's only one path listed. To see all of them, you have to look at the extra properties that have been spliced onto $profile
:
The names of these properties should give you a good idea when each of them is used. The AllHosts
profiles are used by all the hosts. The AllUsers
profiles are used by all the users. The CurrentHost
profiles are used by the host you're in (console or ISE). The CurrentUser
profiles are specific to the user running this PowerShell session. It might be helpful to see the output of the same command from the PowerShell console instead of the ISE. The AllHosts
profiles are the same, but the CurrentHost
profiles are different, specific...