What you see for the path is right. It is the path for your user profile (for the console host) and it is normal to not see the folder and the file. You can create it and start using your profile:

new-item -type file -path $profile -force

See here for more: about_Profiles.

Answer from manojlds on Stack Overflow
🌐
Microsoft Learn
learn.microsoft.com › en-us › powershell › module › microsoft.powershell.core › about › about_profiles
about_Profiles - PowerShell | Microsoft Learn
September 29, 2025 - The profile paths include the following variables: The $PSHOME variable stores the installation directory for PowerShell · The $HOME variable stores the current user's home directory ... In Windows, the location of the Documents folder can be changed by folder redirection or OneDrive.
Top answer
1 of 2
3

The answer from harrymc is mostly right, except Microsoft has changed things and moves things around and doesn't update their documentation.

Try this to understand your Powershell "profile" scripts:

PS C:\Users\you> $PROFILE | select-object *

The output will be something like:

AllUsersAllHosts       : C:\Program Files\PowerShell\7\profile.ps1
AllUsersCurrentHost    : C:\Program Files\PowerShell\7\Microsoft.PowerShell_profile.ps1
CurrentUserAllHosts    : C:\Users\you\OneDrive\Documents\PowerShell\profile.ps1
CurrentUserCurrentHost : C:\Users\you\OneDrive\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
Length                 : 77

This tells you where the profiles are, for you.

2 of 2
2

The blog post you have found is from 2012 and refers to an older version of Windows. While most of it is still correct, the profile folders are not up to date.

The article you found is more recent from 2023, so is to be taken seriously. The "Current user, Current Host" profile location is said to be in $HOME\Documents\PowerShell, which refers to C:\Users\USER-NAME\Documents\PowerShell.

If you install OneDrive, it will by default backup the Documents folder, by relocating it into the OneDrive sync folder and leaving only a pointer to it in C:\Users\USER-NAME.

This means that, if you have accepted the default setup of OneDrive, your PowerShell profiles are by default synced to OneDrive, but your reference is to a local folder. The profiles will be backed up to OneDrive, but the reference should stay to the local disk, not to the OneDrive folder in the cloud, to avoid problems when there is no internet connection.

🌐
Medium
wenijinew.medium.com › i-changed-the-powershell-profile-location-b8d414a6bf18
I Changed the PowerShell Profile Location | by Bruce Wen | Medium
February 16, 2024 - By default, the PowerShell profile location is $HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 on Windows for the current user and current host.
🌐
Visual Studio Code
code.visualstudio.com › docs › configure › settings
User and workspace settings
November 3, 2021 - The user settings JSON file for a profile is located in the following directory:
🌐
TechTarget
techtarget.com › searchwindowsserver › tutorial › How-to-find-and-customize-your-PowerShell-profile
How to find and customize your PowerShell profile | TechTarget
On our system, the result is C:\Program Files\PowerShell\7\profile.ps1 for the path. Because the file is in the Program Files hierarchy and we can't edit that without administrative permissions, let's instead focus on the CurrentUserCurrentHost ...
Find elsewhere
🌐
Github
persistence-info.github.io › Data › powershellprofile.html
PowerShell Profile | persistence-info.github.io
Where $PSHOME variable = installation directory for PowerShell, $Home variable = current user’s home directory.
🌐
Computer Performance
computerperformance.co.uk › home › powershell
PowerShell scripting, how to configure settings for profile.ps1
July 21, 2018 - Once you have absorbed the concept then you can truly customize your profile.ps1, merely look at examples for ideas and then adapt the most promising to set your PowerShell environment. Working Directory. My first task was to change the working directory from My Documents..\..\. to D:\ scripts. I typed set-location d:\ scripts in the Microsoft Shell – it worked.
🌐
Leidos
careers.leidos.com › jobs › 17644537-ms365-engineer-senior
MS365 Engineer Senior in Remote, US (Remote)
2 weeks ago - Strong expertise in Microsoft 365 services, PowerShell scripting, and Microsoft Entra ID (Azure AD) identity management.
🌐
GitLab
docs.gitlab.com › user › ssh
Use SSH keys with GitLab | GitLab Docs
Use SSH keys for secure authentication and communication with GitLab repositories.
🌐
Parking News
parking.net › parking-jobs › t2-systems-inc › senior-devops-engineer-various-locations-usca-1
Senior Devops Engineer (Various Locations, US/CA)
2 weeks ago - We integrate the best people, processes, and technology to provide powerful, high performance, and secure parking solutions. T2 Systems is headquartered in Indianapolis, Indiana with its Canadian office located in Burnaby, BC.
🌐
Microsoft
devblogs.microsoft.com › dev blogs › scripting blog [archived] › powertip: find all powershell profile locations
PowerTip: Find All PowerShell Profile Locations - Scripting Blog [archived]
July 19, 2014 - Summary: Use the hidden properties of $profile to find Windows PowerShell profile locations. How can I find the path to Windows PowerShell profile locations on my computer? Use the –Force parameter from Format-List to display the hidden properties ...
🌐
Gemini CLI
geminicli.com › docs › get-started › authentication
Gemini CLI authentication setup | Gemini CLI
3 weeks ago - Windows (PowerShell) (for example, ~/.bashrc, ~/.zshrc, or ~/.profile): Terminal window · echo 'export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"' >> ~/.bashrc · source ~/.bashrc · (for example, $PROFILE): Terminal window · Add-Content -Path $PROFILE -Value '$env:GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"' .
🌐
Helge Klein
helgeklein.com › blog › changing-location-powershell-profile-script
Changing the Location of PowerShell Profile Scripts
March 14, 2026 - That’s it! We effectively redirected from %USERPROFILE%\Documents\PowerShell\profile.ps1 to D:\Data\PowerShell\profile_v7.ps1. ... Depending on your KeePass package (installer or portable), the default settings location may resolve to the installation directory or the user profile.
🌐
Bun
bun.com › docs › installation
Installation - Bun
If the command runs successfully but bun --version is not recognized, it means that bun is not in your system’s PATH. To fix this, open a Powershell terminal and run the following command:
Top answer
1 of 6
16

As @FrankMerrow posted, on this Stack Overflow question you will find the answer, but the correct is the one from Neck Beard, I'll copy it here.

As @woter324 points out issuing $profile | select * will show you the paths from where PowerShell gets profiles. As stated in the MS documentation:

The profiles are listed in precedence order. The first profile has the highest precedence.

<username>$> $profile | select *

AllUsersAllHosts       : C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1
AllUsersCurrentHost    : C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
CurrentUserAllHosts    : C:\Users\<username>\Documentos\WindowsPowerShell\profile.ps1
CurrentUserCurrentHost : C:\Users\<username>\Documentos\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Length                 : <will vary>

Those above are mine's, I supose you get something like

CurrentUserAllHosts    : H:\WindowsPowerShell\profile.ps1
CurrentUserCurrentHost : H:\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

In order to edit those paths you have two ways

Via regedit

Edit the key with name Personal that you will find under HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

Via PowerShell

I didn't test this one, in the linked thread a user says it has to be tweaked in order to work but I supose it should be easy to get through.

Issue

New-ItemProperty 
  'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders' 
  Personal -Value 'Your New Path Here' -Type ExpandString -Force

Either way you have to reboot Power Shell (or windoes terminal) for this to take effect. You can then check again with $profile | select *.

2 of 6
10

You might also check out this post on Stack Overflow. The best solution offered so far (to my almost identical question) is to change $profile.AllUsersAllHosts to "dot source" another file of your own choosing.

I've seen nothing so far to indicate you can change the default value of $profile itself.

🌐
Astral
docs.astral.sh › uv › getting-started › installation
Installation | uv
1 day ago - if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force } Add-Content -Path $PROFILE -Value '(& uv generate-shell-completion powershell) | Out-String | Invoke-Expression'
🌐
Home Assistant
community.home-assistant.io › community guides
Setup a Microsoft Teams status light from your Virtual Desktop (without GraphAPI, App Registration, or Admin Rights) - Community Guides - Home Assistant Community
2 weeks ago - If you work from home using Microsoft Teams in a Virtual Desktop Infrastructure (VDI) environment (AVD, Windows365, Terminal Server, etc.) and want a presence light in Home Assistant, most existing solutions won’t work for you. They either require Graph API app registrations (needing IT admin ...