Коротко — так происходит потому, что ярлык/процесс запуска PowerShell не задаёт «рабочую папку», поэтому Windows по умолчанию ставит её в C:\Windows\System32 (особенно заметно при запуске от имени администратора). Изменить можно несколькими способами — выберите удобный.
1) Изменить «Start in» у ярлыка (самый простой)
- Откройте меню Пуск → найдите PowerShell → правый клик → «Ещё» → «Открыть расположение файла».
- Правый клик на ярлыке → Свойства → вкладка «Ярлык» → поле «Рабочая папка» (Start in) — туда впишите путь, например %USERPROFILE% или C:\Users\Имя.
- Сохраните. Теперь PowerShell, запущенный этим ярлыком, откроется в указанной папке.
2) Задать директорию в профиле PowerShell (работает любым способом запуска)
- Откройте PowerShell и выполните:
- notepad $PROFILE
- Если файла нет, Notepad предложит создать — соглашаемся.
- Вставьте строку, например:
- Set-Location -LiteralPath 'C:\Users\ВашеИмя'
или
- cd $HOME
- Сохраните. Этот код выполнится при каждом запуске PowerShell и установит текущую папку.
3) Передать параметр в ярлык (альтернатива «Start in»)
- Измените целевой путь ярлыка, добавив:
- powershell.exe -NoExit -Command "Set-Location -LiteralPath 'C:\Путь\К\Папке'"
(для pwsh: pwsh.exe -NoExit -Command "Set-Location 'C:\Путь'")
4) Для Windows Terminal / PowerShell (Core, pwsh)
- В настройках Windows Terminal у профиля PowerShell установите startingDirectory (или через GUI — «Starting directory») в %USERPROFILE% или нужный путь.
Примечания
- При запуске «Запуск от имени администратора» рабочая папка часто становится C:\Windows\System32 — если вы запускаете с повышением привилегий, профиль всё равно выполнится (если это тот же пользователь), поэтому установка через $PROFILE обычно надёжна.
- Есть разные $PROFILE: текущий пользователь/хост, all users и т.д. Проверить путь можно командой $PROFILE в PowerShell.
Если скажете, какую версию (Windows PowerShell 5.1 или PowerShell 7/pwsh) и как вы запускаете (обычное/от имени администратора/через Windows Terminal), я подскажу точные шаги для вашего случая.