Перейти к основному содержимому
Certified-сборкаТребуется пакет governance. Доступно сентябрь 2026.

Справочник политик реестра

Этот справочник описывает ключи и значения реестра для управления, защиты и настройки NVM for Windows в корпоративной среде.

Все административные политики должны применяться в разделе HKEY_LOCAL_MACHINE (HKLM). Параметры здесь обязательны и переопределяют конфликтующие настройки пользователя в локальном интерфейсе приложения.

Порядок переопределения политики

Приложение оценивает настройки в следующем порядке приоритета:

  1. HKLM\Software\Policies\Author Software\nvm (принудительная политика администратора)
  2. HKCU\Software\Author Software\Preferences\nvm (пользовательские настройки)

Доступные ключи реестра​

См. Административные шаблоны для развёртывания через GPO и Intune. Скачайте ADMX/ADML с клиентского портала. ADMX/ADML входят в пакет Governance; Distro/Audit по-прежнему могут задавать общие ключи через Registry CSP/OMA-URI или .reg.

Overridable в описании означает, что пользователь также может задать эквивалентную настройку (nvm config / HKCU). Политика машины в HKLM\Software\Policies\Author Software\nvm всегда имеет приоритет.

ИмяКлючОписание
Air-gapped license verifyAirGappedEdition: Distro+. Пропустить live-загрузку JWKS с licensing.author.io. Проверять AccessToken только по офлайн-хранилищу JWKS с подписью COSE (JwksCose или nvm-jwks.cose рядом с nvm.exe). Независимо от LocalInstallOnly.

- 0 = выкл.
- 1 = вкл.

По умолчанию: 0

REG_DWORD
Version aliasesAliasesOverridable. Централизованные псевдонимы (например, stable=24.9.0). Блокирует пользовательские псевдонимы, если задано политикой.

alias=version на запись

REG_MULTI_SZ
Allow cache deletionAllowDownloadCacheDeleteOverridable (allow_download_cache_removal). Можно ли удалять кэшированные загрузки (nvm cache remove).

- 0 = заблокировано
- 1 = разрешено

По умолчанию: 1

REG_DWORD
Allow insecure downloadsAllowInsecureDownloadsOverridable (allow_insecure_downloads). Разрешить загрузки при просроченных или недействительных TLS-сертификатах.

- 0 = заблокировано
- 1 = разрешено

По умолчанию: 0

REG_DWORD
Allow install root changeAllowRootDirChangeOverridable. Могут ли пользователи менять корень установки.

- 0 = заблокировано
- 1 = разрешено

По умолчанию: 1

REG_DWORD
Allow native tool installAllowToolInstallOverridable. Разрешить nvm install native-tools (Python, VS Build Tools и т. д.) (только shim).

- 0 = заблокировано
- 1 = разрешено

По умолчанию: 1

REG_DWORD
Allowed code signersAllowedSignersOverridable (allowed_signers). Дополнительные доверенные подписанты node.exe. OpenJS Foundation, Node.js Foundation и Author Software всегда доверенны (только shim). Одно имя подписанта на запись.

REG_MULTI_SZ
Allowed thumbprintsAllowedThumbprintsOverridable (allowed_thumbprints). Необязательные SHA-1 leaf thumbprints Authenticode (hex; разделители необязательны). Если не пусто, node.exe должен совпадать с pin после org allowlist. Пустое значение отключает pinning.

REG_MULTI_SZ
Authenticode revocationAuthenticodeRevocationOverridable (authenticode_revocation). Режим CRL/OCSP для Authenticode:

- online = сетевое получение (только install/sign/seed; по умолчанию)
- cached = только локальный URL-кэш
- disabled = без проверок отзыва

Shim runtime никогда не использует online (ограничивается до cached). AirGapped принудительно ставит cached, когда применился бы online.

По умолчанию: online

REG_SZ
Auto-detect filesAutoDetectOverridable (auto_detect). Файлы проекта для поиска pin версии (только shim). Переопределяет значения по умолчанию.

По умолчанию:
  .nvmrc
  .node-version
  package.json

REG_MULTI_SZ
Auto-install missing versionAutoInstallOverridable (auto_install). Автоустановка отсутствующих обнаруженных версий (режим shim).

- 0 = выкл.
- 1 = вкл.

По умолчанию: 0

REG_DWORD
Auto-install global modulesAutoInstallModuleListOverridable (auto_installed_modules). Глобальные npm-модули, устанавливаемые с каждой новой версией Node.js. Одно имя модуля на запись.

REG_MULTI_SZ
Prompt before auto-installAutoInstallPromptOverridable (auto_install_prompt). Подтверждение перед автоустановкой (режим shim).

- 0 = без запроса
- 1 = с запросом

По умолчанию: 1

REG_DWORD
Auto-use detected versionAutoUseOverridable (auto_use). Автопереключение на обнаруженную версию при выполнении команд (режим shim).

- 0 = выкл.
- 1 = вкл.

По умолчанию: 1

REG_DWORD
Cache downloadsCacheDownloadsOverridable (cache_downloads). Кэшировать загруженные версии Node.js для офлайн-использования.

- 0 = выкл./false
- 1 = вкл./true

По умолчанию: 0

REG_DWORD
Default detect fileDefaultDetectFileOverridable (default_detect_file). Файл, записываемый при закреплении версии (nvm pin) (только shim).

По умолчанию: .nvmrc

REG_SZ
Disable announcementsDisableAnnouncementsOverridable (disable_announcements). Скрыть объявления проекта и релизов.

- 0 = показывать
- 1 = скрывать

По умолчанию: 0

REG_DWORD
Disallow eval/string code genDisableEvalAndStringExecutionOverridable (disable_eval_and_string_execution). Shim добавляет --disallow-code-generation-from-strings, блокируя eval() и new Function() (только shim). Не влияет на node:vm.

- 0 = выкл.
- 1 = вкл.

По умолчанию: 0

REG_DWORD
Disable NVM upgradesDisableUpgradeOverridable. Блокировать обновления NVM в приложении (не блокирует развёртывание пакетов AD/GPO).

- 0 = разрешено
- 1 = заблокировано

По умолчанию: 0

REG_DWORD
Disable version managementEnabledOverridable (nvm on/nvm off). Принудительно включает или отключает управление версиями. При выкл. NVM не управляет и не перенаправляет команды Node.js.

- 0 = выкл. (nvm off)
- 1 = вкл.

По умолчанию: 1

REG_DWORD
Enforce permission modelEnforcePermissionModelOverridable (enforce_permission_model). Shim добавляет флаг permission model Node при каждом запуске node.exe (только shim). Запрет FS/сети по умолчанию, если процесс не передаёт --allow-* во время выполнения. NVM не добавляет grants --allow-*.

- Node 23+: --permission
- Node 20–22: --experimental-permission
- Node <20: без флага (не поддерживается)

- 0 = выкл.
- 1 = вкл.

По умолчанию: 0

REG_DWORD
Freeze V8 global objectsFreezeV8GlobalObjectsOverridable (freeze_v8_global_objects). Shim добавляет --frozen-intrinsics, чтобы встроенные прототипы нельзя было изменять (только shim; Node.js 12+). Увеличивает время запуска.

- 0 = выкл.
- 1 = вкл.

По умолчанию: 0

REG_DWORD
Install rootInstallRootOverridable (root). Каталог хранения версий Node.js. Переопределяет настройки машины и пользователя.

По умолчанию: %LOCALAPPDATA%\Author Software\nvm\installs

REG_SZ
Local install sourceLocalInstallDirOverridable (local_dir). Альтернативный локальный каталог архивов Node.js (air-gapped зеркала). Переопределяет кэш.

REG_SZ
Local install onlyLocalInstallOnlyOverridable (local_install_only). Ограничить установки только LocalInstallDir.

- 0 = выкл.
- 1 = вкл.

По умолчанию: 0

REG_DWORD
Audit loggingLogExecutionsOverridable (log_executions). Журналировать каждый вызов Node.js в журнал событий Windows (только shim). Наиболее полезно на Audit+ (структурированный ETW).

- 0 = выкл.
- 1 = вкл.

По умолчанию: 0

REG_DWORD
Node.js download mirrorsMirrorNodeOverridable (node_mirror). Упорядоченный список зеркал; побеждает первый успешный ответ. См. Зеркала загрузки. Зеркала Author *.author.io требуют лицензию Governance — см. Version Firewall + Author Mirror.

По умолчанию: https://nodejs.org/dist

REG_MULTI_SZ
npm registry mirrorsMirrorNpmOverridable (npm_mirror). Упорядоченный список реестров npm. Используется как fallback реестра shim.

По умолчанию: https://registry.npmjs.org

REG_MULTI_SZ
Operating modeOperatingModeOverridable (mode). Как NVM for Windows управляет версиями Node.js.

Shim (рекомендуется) использует подписанные shim для перехвата node, npm, npx, yarn и pnpm. Нужен для runtime-политик (audit logging, auto-detect, ACL).

Link использует NTFS junction/symlink в PATH.

По умолчанию: shim

REG_SZ
Package manager mismatch actionPackageManagerMismatchActionOverridable (pm_mismatch_action). Поведение при несовпадении версий npm/pnpm/yarn и Node во время install или use (только shim).

- ignore
- warn
- error

По умолчанию: error

REG_SZ
Proxy URLProxyOverridable (proxy). Прокси для загрузок. Basic и Bearer работают во всех certified-редакциях. См. Зеркала загрузки.

REG_SZ
Proxy auth valueProxyAuthOverridable (proxy_auth). Учётные данные или bearer token (хранится в открытом виде).

- user:pass
- Bearer YOUR_TOKEN

REG_SZ
Proxy auth typeProxyAuthTypeOverridable (proxy_auth_type). Схема аутентификации для настроенного прокси.

- basic, bearer — все certified-редакции
- ntlm, negotiate, ntlm,negotiate — только Governance (IWA); PAC/WPAD тоже только Governance

REG_SZ

Ключи Governance​

Эти ключи входят в набор функций Governance. Они есть в ADMX-пакете Governance.

ИмяКлючОписание
Verbose mirror license metadataApplyVerboseLicenseMetadataЕсли включено, JWT лицензии зеркала Author включают identity claims (idp_username, idp_machine_name, idp_machine_id). Не задаёт AccessToken/AccessKey.

- 0 = без claims
- 1 = с claims

По умолчанию: 0

REG_DWORD
npm module minimum ageNpmModuleMinimumAgeМинимальный возраст публикации пакета (cooldown) в минутах для установок через менеджеры пакетов (режим shim). Автоконвертация для npm/pnpm/yarn.

По умолчанию: 0 (отключено)

REG_DWORD
Allowed Node.js versionsVersionAllowListAllow list для установок. Недопустимые записи ломают enforcement. Allow побеждает block. Также питает version claims JWT Author mirror (magic tokens вроде EOL, ALPHA, MAINTENANCE, ALL).

Поддерживает exact semver, wildcards (например, 20.x), псевдонимы и negation NOT/! (одно правило на строку).

REG_SZ
Blocked Node.js versionsVersionBlockListBlock list для установок. Те же форматы правил, что у VersionAllowList.

REG_SZ
License secrets

AccessToken, AccessKey и JwksCose не являются политиками ADMX. Развёртывайте скриптами портала (Set-NvmWindowsAccessToken.ps1 на stock certified build; Set-NvmWindowsLicensing.ps1 для governance builds, также задаёт AccessKey для зеркал Author) или nvm license.

GPO vs значения реестра

Несколько политик ADMX используют инвертированные метки GPO (например, Disable automatic version detection при включении записывает AutoUse=0). Таблицы описывают значение реестра, которое администраторы должны развёртывать через GPO, Intune (импортированный ADMX или Registry CSP) или Entra custom OMA-URI.

Пример импорта реестра​

Сохраните как nvm-policy.reg, замените placeholder-пути и URL для вашей среды, затем дважды щёлкните или выполните reg import nvm-policy.reg из повышенной командной строки.

Ключи REG_MULTI_SZ

MirrorNode, MirrorNpm, Aliases, AutoDetect, AutoInstallModuleList, AllowedSigners и AllowedThumbprints — это REG_MULTI_SZ (одна строка на запись). Строка .reg вида "MirrorNode"="url1,url2" создаёт неверный REG_SZ. Задавайте их через ADMX, Registry CSP или PowerShell (ниже) — не через comma-joined REG_SZ.

Windows Registry Editor Version 5.00

; =============================================================================
; NVM for Windows — machine policy (HKLM)
; Path: HKLM\SOFTWARE\Policies\Author Software\nvm
; =============================================================================

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Author Software\nvm]

; --- Core / environment ---
"OperatingMode"="shim"
"Enabled"=dword:00000001
"InstallRoot"="%LOCALAPPDATA%\\Author Software\\nvm\\installs"
"AllowRootDirChange"=dword:00000000
"LocalInstallDir"="D:\\Node\\local_mirror"
"LocalInstallOnly"=dword:00000000
"AirGapped"=dword:00000000

; --- Version ACL (Governance) ---
"VersionAllowList"="20.x\r\n22.x"
"VersionBlockList"="!20.17.0"

; --- Network / downloads (SZ / DWORD only here; MULTI_SZ via PowerShell below) ---
"Proxy"="http://proxy.example.corp:8080"
"ProxyAuthType"="ntlm"
; "ProxyAuth"="service-account:password"
; "ProxyAuth"="Bearer YOUR_TOKEN_HERE"
"CacheDownloads"=dword:00000001
"AllowDownloadCacheDelete"=dword:00000000
"AllowInsecureDownloads"=dword:00000000
"ApplyVerboseLicenseMetadata"=dword:00000000
"DisableUpgrade"=dword:00000001
"DisableAnnouncements"=dword:00000001

; --- Shim runtime (requires OperatingMode=shim) ---
"DefaultDetectFile"=".nvmrc"
"AutoUse"=dword:00000001
"AutoInstall"=dword:00000000
"AutoInstallPrompt"=dword:00000001
"AllowToolInstall"=dword:00000000
"PackageManagerMismatchAction"="error"
"LogExecutions"=dword:00000001
"EnforcePermissionModel"=dword:00000001
"FreezeV8GlobalObjects"=dword:00000001
"DisableEvalAndStringExecution"=dword:00000001
"NpmModuleMinimumAge"=dword:000005a0

После импорта .reg (или вместо него для list values) задайте multi-string ключи с правами администратора:

$policy = 'HKLM:\SOFTWARE\Policies\Author Software\nvm'

New-ItemProperty -Path $policy -Name MirrorNode -PropertyType MultiString -Force -Value @(
'https://mirror.author.io/runtime/nodejs'
'https://nodejs.org/dist'
) | Out-Null

New-ItemProperty -Path $policy -Name MirrorNpm -PropertyType MultiString -Force -Value @(
'https://npm.example.corp'
'https://registry.npmjs.org'
) | Out-Null

New-ItemProperty -Path $policy -Name Aliases -PropertyType MultiString -Force -Value @(
'stable=24.9.0'
'lts=22.17.0'
) | Out-Null

New-ItemProperty -Path $policy -Name AutoDetect -PropertyType MultiString -Force -Value @(
'.nvmrc'
'.node-version'
'package.json'
) | Out-Null

New-ItemProperty -Path $policy -Name AutoInstallModuleList -PropertyType MultiString -Force -Value @(
'typescript'
'eslint'
'prettier'
) | Out-Null

New-ItemProperty -Path $policy -Name AllowedSigners -PropertyType MultiString -Force -Value @(
'Contoso Ltd.'
) | Out-Null