Profiles

I was wondering if someone could explain to me the concept of the ‘All Users’ and ‘Current Users’ as well as ‘All Hosts’ and ‘Current Host’ regarding PowerShell Profiles.

For instance, if I just edit the ‘CurrentUserAllHosts’ profile, will that apply to just my account but for every PC I might login to in a domain? Also, if I Edit the ‘CurrentUser, Current Host’ profile, does that profile only get applied on that machine for my only my login?

Same questions apply to Hosts. If I want to create a profile for every single user who logs into a terminal server, I would edit the ‘AllusersCurrentHost’ profile on that particular Terminal server?

AllUsersAllHosts : C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1
AllUsersCurrentHost : C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
CurrentUserAllHosts : C:\Users\BC\Documents\WindowsPowerShell\profile.ps1
CurrentUserCurrentHost : C:\Users\BC\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Checkout About_Profiles for a complete description.

Hosts are specific to the invocation of PowerShell, ISE, VSCode, etc. There will be two profiles per host. For example:
One for Current User / ISE
One for All Users / ISE,

These are machine specific.
There are ways to have them sync across multiple machines, but that is not default functionality.
Users are also specific to the current machine, either CurrentUser or AllUsers.

Hope this helps!