The /enable command is the easy part. The checks most guides omit are: whether your build already contains the feature code, whether the feature ID matches that build, and whether you can roll back cleanly. A feature flag is a hidden on/off switch in Windows code; ViVeTool changes the switch, but it cannot add code that is not already present.

C:\Users\<you>\Downloads\ViVeTool\ViVeTool.exe.<feature-id> as a placeholder and replace it with an ID from the release notes or a trusted tracker for your exact build.Get-PSDrive C.Create a checkpoint before changing anything:
Enable-ComputerRestore -Drive "C:\"
Checkpoint-Computer -Description "Before ViVeTool" -RestorePointType MODIFY_SETTINGS
Get-ComputerRestorePoint | Select-Object -Last 1
Example: the last command should return a recent entry with Description : Before ViVeTool. If System Protection is disabled by policy, the checkpoint command fails; stop and fix that first.
If the feature depends on a Windows update that has not arrived, install the update first. The manual catalog procedure is covered in Step-by-Step: How to Install a Windows 11 Security Update Manually via Microsoft Update Catalog.

What to do: open an administrator PowerShell window and save the OS build, architecture, and your feature-ID worksheet before running ViVeTool.
Why: feature IDs are tied to specific Windows builds. If the ID does not exist in your build, /enable may report success while nothing changes. The baseline also tells you what to restore if the feature causes instability.
How to check: confirm that the output contains WindowsProductName, OsBuildNumber, and OsArchitecture, and that the baseline file exists on your Desktop.
$baseline = "$env:USERPROFILE\Desktop\vive-baseline.txt"
Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsBuildNumber, OsArchitecture | Tee-Object -FilePath $baseline
[System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture | Tee-Object -FilePath $baseline -Append
Expected output has this shape:
WindowsProductName : Windows 11 ...
WindowsVersion : <version>
OsBuildNumber : <build-number>
OsArchitecture : <architecture>
Example: if OsArchitecture returns X64, use the x64 ViVeTool build; if it returns Arm64, use the ARM64 build. Do not mix them.
Record the experiment in a small worksheet:
| Item | Example value | Why it matters |
|---|---|---|
| Feature ID | `<feature-id>` | Must match the build |
| Build before | `<build-number>` | Rollback reference |
| ViVeTool SHA256 | `<sha256>` | Integrity check |
| Result after reboot | `Enabled` or `No change` | Keep-or-rollback decision |
Checklist before continuing:
vive-baseline.txtGet-ComputerRestorePointWhat to do: extract ViVeTool, verify the executable hash, query the feature ID, and enable that single ID from an elevated PowerShell window.
Why: one ID at a time keeps the result attributable. If you enable several IDs and the UI breaks, you cannot tell which flag caused it. Querying first also proves the ID exists in your build before you change state.
How to check: Get-FileHash must match the hash published with your ViVeTool release, \/query must show the feature ID, and \/enable should print a success message such as Successfully set feature configuration(s).
$work = "$env:USERPROFILE\Downloads\ViVeTool"
New-Item -ItemType Directory -Path $work -Force
Expand-Archive -LiteralPath "$env:USERPROFILE\Downloads\ViVeTool.zip" -DestinationPath $work -Force
Set-Location $work
Get-ChildItem
Get-FileHash .\ViVeTool.exe -Algorithm SHA256
Example: Get-ChildItem shows ViVeTool.exe; Get-FileHash returns a SHA256 value. Compare it with the value on the release page. If it differs, delete the folder and download again.
Open an elevated window:
Start-Process powershell -Verb RunAs
In the elevated window, query before enabling:
Set-Location "$env:USERPROFILE\Downloads\ViVeTool"
.\ViVeTool.exe /query /id:<feature-id>
.\ViVeTool.exe /query > "$env:USERPROFILE\Desktop\vive-before.txt"
.\ViVeTool.exe /enable /id:<feature-id>
Example: replace <feature-id> with a value such as the ID listed for your build in the release notes. Do not copy an ID from an unrelated build. If /query /id:<feature-id> returns no matching feature, stop; the ID is wrong for this build.
Reboot so the flag is loaded at startup:
Restart-Computer

What to do: after reboot, query the same feature ID again and then check the Windows UI or app behavior that the flag is supposed to change.
Why: ViVeTool state and visible behavior are two different checks. A flag can show Enabled while the UI remains unchanged because another dependency, a server-side experiment, or an app update is missing. That is the “where this does NOT work” case most guides skip.
How to check: the query should show the feature ID with an enabled state; the target UI should show the new control or behavior after a short wait and, when relevant, a sign-out or second reboot.
Set-Location "$env:USERPROFILE\Downloads\ViVeTool"
.\ViVeTool.exe /query /id:<feature-id> | Select-String -Pattern "Enabled|State|Feature"
Example: a successful query returns a line containing the feature ID and an enabled state. Then open the relevant Settings page or app. If the control is absent, do not enable more IDs blindly; use the decision table below.
| Query result | Visible result | Action |
|---|---|---|
| State shows enabled | Feature appears | Keep it; record the build and ID |
| State shows enabled | Feature absent | Check dependencies, app version, and server-side gating; then disable |
| No matching feature | Not applicable | Wrong build or wrong ID; stop and re-check the source |
If the feature does not appear and you do not need it, roll back immediately:
.\ViVeTool.exe /disable /id:<feature-id>
Restart-Computer
Example: after /disable, the same /query /id:<feature-id> should show the feature as disabled or no longer active. If it does not, restore the checkpoint from Step 1.
Problem. PowerShell cannot find ViVeTool
The term 'ViVeTool.exe' is not recognized as the name of a cmdlet, function, script file, or operable program..\, or you are in the wrong directory.Set-Location "$env:USERPROFILE\Downloads\ViVeTool"
.\ViVeTool.exe /query
Problem. The enable command fails with access denied
Access is denied([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
The command must return True. If it returns False, close the window and start PowerShell with Run as administrator.
Problem. SmartScreen blocks the downloaded executable
Windows protected your PC and Microsoft Defender SmartScreen prevented an unrecognized app from starting.Unblock-File -Path .\ViVeTool.exe
Get-FileHash .\ViVeTool.exe -Algorithm SHA256
Enable one feature ID at a time, record the build and hash, and keep the matching /disable command ready for rollback. If you are cleaning up a test machine after the experiment, apply the same staged approach to ads, telemetry, and AI features with How to disable ads, telemetry and AI features in Windows 11.
Does ViVeTool add features that are not installed?
No. It changes flags that already exist in the Windows build. If the code is absent, the flag cannot make the feature appear.
Can I use any feature ID I find online?
No. Feature IDs are build-specific and can change. Use only IDs tied to your exact build from release notes or a trusted tracker; this source does not provide feature IDs.
Why did /enable succeed but the UI is unchanged?
The flag may depend on another flag, an app update, specific hardware, or a server-side experiment controlled by Microsoft. Disable the ID and verify the dependency list before retrying.
How do I undo the change?
Run .\ViVeTool.exe /disable /id:<feature-id> and reboot. If the system is unstable, restore the checkpoint created in Step 1.
Status: practical guide. Some statements come from vendors; verify in your environment.
Time: 20–30 minutes, including one reboot and a restore-point check. Difficulty: Intermediate.
Machine data: Citation Map JSON · JSON-LD · Semantic Embeddings — separate stage.
| Entity | Type | Role |
|---|---|---|
| vivevtool как пользоваться | тема/инструмент | упоминается в заголовке, TL;DR или разделах гайда |
| включить скрытые функции windows 11 | продукт/модель | упоминается в заголовке, TL;DR или разделах гайда |
| vivevtool скачать windows 11 | продукт/модель | упоминается в заголовке, TL;DR или разделах гайда |
| экспериментальные функции windows 11 включить | продукт/модель | упоминается в заголовке, TL;DR или разделах гайда |
| vivevtool feature id | тема/инструмент | упоминается в заголовке, TL;DR или разделах гайда |
| Windows | платформа/технология | упоминается в заголовке, TL;DR или разделах гайда |
No independent confirmation is provided; source claims and editorial conclusions are separated below.
| Source | Type | Role |
|---|---|---|
| No external links | — | — |
Cite as: AI Release. Пошаговое руководство: как включить скрытые функции Windows 11 заранее с помощью ViVeTool. ai-release.org.