Как понять, является ли отсутствие powershell.config.json дефектом пакета или отсутствием пользовательской настройки: инвентаризация архива, области конфигурации и безопасный SettingsFile.
Не путайте шаблон файла с обязательным рантаймом
Официальная справка говорит, что `powershell.config.json` содержит настройки, которые PowerShell загружает при старте, и может находиться в области установки или пользователя. Она не утверждает, что непустой файл обязан присутствовать в каждой поставке. Поэтому первый вопрос — какие параметры ожидал ваш сценарий. Если команда запускается и использует значения по умолчанию, отсутствие файла само по себе не доказывает повреждение архива. Если развёртывание зависит от журналирования, experimental features, PSModulePath или политик, тогда важна не иконка файла, а фактически загруженная конфигурация. Не создавайте пустой JSON ради совпадения списка: он не восстановит отсутствующие ожидания и может скрыть проблему упаковки.
Сверьте два чистых каталога без подмены
Скачайте точный asset со страницы релиза в отдельный временный каталог и сохраните его имя, размер и локальный SHA-256. Повторная загрузка проверяет целостность вашей копии, но не подтверждает, каким должен быть эталонный состав. Затем распакуйте архив заново и сравните только список верхнего уровня с другой официальной поставкой той же версии, если она нужна для контроля. Не смешивайте файлы между `fxdependent` и самостоятельной сборкой: зависимости и назначение пакетов различаются. Если файл присутствует только в одном варианте, это полезная граница для issue, а не инструкция скопировать его. Сохраните исходные архивы неизменными, чтобы разработчики могли повторить сравнение.
Проверьте области и приоритет конфигурации
Файл в `$PSHOME` задаёт AllUsers-конфигурацию для конкретной установки, а пользовательский файл живёт в каталоге профиля. На Windows групповые политики имеют более высокий приоритет; затем AllUsers стоит выше CurrentUser. Это значит, что простое добавление файла рядом с `pwsh` может повлиять на все сессии этой распаковки и всё равно не переопределить управляемую политику. Проверьте, нет ли уже пользовательской конфигурации и корпоративного управления. Невалидный JSON, по предупреждению Microsoft, способен помешать запуску интерактивной сессии. Поэтому ручное создание выполняют только из известных параметров, после проверки JSON и на копии установки, а не из случайного файла другой машины.
Для единичного теста используйте явный SettingsFile
Справка `about_pwsh` предусматривает параметр `-SettingsFile`, который на одну сессию заменяет системный `powershell.config.json`. Это безопаснее для диагностики конкретной настройки: подготовьте минимальный файл в тестовом каталоге, запустите одну сессию и проверьте только ожидаемый эффект. Не переносите execution policy, transcription или пути модулей без понимания последствий. В отчёт включите точное имя asset, локальный хеш, список верхнего уровня, наличие файла в обеих чистых распаковках и результат запуска без настроек и с явным SettingsFile. Не прикладывайте корпоративные политики, сетевые пути и журналы команд. Issue подтверждает только наблюдение автора для одного asset, а релизная страница — существование официальной версии и набора загрузок.
Материал подготовлен редакцией VOne с применением ИИ для инвентаризации; области и параметры вручную сверены по Microsoft Learn, а issue отделён от технических доказательств.
Источники и проверка
- Microsoft Learn — about_PowerShell_Config проверено 2026-08-10
- PowerShell GitHub — release v7.6.4 проверено 2026-08-10
- Microsoft Learn — about_pwsh SettingsFile проверено 2026-08-10
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.