A PowerShell profile is used to load user defined variables and functions automatically.

PowerShell profiles are not automatically created for users.

To create a PowerShell profile C:>New-Item -ItemType File $profile.

If you are in ISE you can use the built in editor C:>psEdit $profile

An easy way to get started with your personal profile for the current host is to save some text to path stored in the $profile-variable

"#Current host, current user" > $profile

Further modification to the profile can be done using PowerShell ISE, notepad, Visual Studio Code or any other editor.

The $profile-variable returns the current user profile for the current host by default, but you can access the path to the machine-policy (all users) and/or the profile for all hosts (console, ISE, 3rd party) by using it’s properties.

PS> $PROFILE | Format-List -Force

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

PS> $PROFILE.AllUsersAllHosts
C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\profile.ps1