Policy controls
The templates decide what the Highwind client shows and allows on a managed device. They need no Azure resources.
| Requirement | Setting |
|---|---|
| Hide pages that a role does not need | Visibility*Page, per page and elevation level |
| Give standard users a read-only view of ASR events | VisibilityAsrEventsPage = 3. Exclusion actions still require an administrator |
| Prevent data from being exported to files | DisableExportButtons |
| Prevent the client from targeting other computers | DisableRemoteTarget |
| Make the client observe-only | ForceReadOnlyMode |
| Limit ASR exclusions to a set duration | AsrAllowPermanentExclusions = 0 with AsrExclusionMaxHours |
| Pilot preview features with a small group | ShowPreviewFeatures |
These settings are guardrails, not a security boundary. See Security model.
Download
Highwind.admx, en-US\Highwind.adml and a README. Free, and covered by the same Highwind Client License as the client.
Prefer the individual files? Highwind.admx · en-US/Highwind.adml · README.md
Install the templates
Central Store: recommended for domain environments
Copy the two files into your domain’s Central Store. Every administrator who opens the Group Policy editor then sees the settings, with no per-workstation installation.
\\<your-domain>\SYSVOL\<your-domain>\Policies\PolicyDefinitions\Highwind.admx
\\<your-domain>\SYSVOL\<your-domain>\Policies\PolicyDefinitions\en-US\Highwind.adml
$domain = $env:USERDNSDOMAIN
$store = "\\$domain\SYSVOL\$domain\Policies\PolicyDefinitions"
New-Item -ItemType Directory -Path "$store\en-US" -Force | Out-Null
Copy-Item .\Highwind.admx -Destination $store -Force
Copy-Item .\en-US\Highwind.adml -Destination "$store\en-US" -Force
PolicyDefinitions folder in SYSVOL and copy the entire contents of C:\Windows\PolicyDefinitions from a machine running your newest Windows build into it first. If you create the folder containing only these two files, the editor will show only these settings and every built-in Windows policy will disappear from view.
Single machine
For a lab, or where you administer policy from one workstation:
C:\Windows\PolicyDefinitions\Highwind.admx
C:\Windows\PolicyDefinitions\en-US\Highwind.adml
Local policy on a non-domain machine
After copying to C:\Windows\PolicyDefinitions, open gpedit.msc and browse to the same location. Note that gpedit.msc is not present on Home editions.
Where the settings appear
Computer Configuration
└── Policies
└── Administrative Templates
└── Highwind
├── Background Collector
├── Telemetry Upload
├── Identity and Authentication
├── Data Collection Scope
├── Device Tagging
├── Application Lockdown
├── ASR Exclusion Guardrails
├── Logging and Diagnostics
└── Page Visibility
| Folder | What it covers | Typical use |
|---|---|---|
| Background Collector | Enable collection, interval, cache folder, file count and retention. | Turn on client reporting. |
| Telemetry Upload | Function App URL and audience, blob storage destination, interval, timeout, retries. | Point endpoints at your ingestion endpoint. |
| Identity and Authentication | Tenant, preferred auth method, Azure cloud, authority override. | Sovereign clouds and non-standard tenants. Usually leave alone. |
| Data Collection Scope | Six switches for Defender status, Defender policies, firewall, App Control, enrollment and Device Guard. | Reduce what leaves the device. |
| Device Tagging | Device tag, organizational unit, environment. | Slice fleet dashboards by business unit, site or environment. |
| Application Lockdown | Block exports, restrict to local machine, force read-only mode, show preview features. | Constrain what helpdesk staff can do with the tool. |
| ASR Exclusion Guardrails | Allow permanent exclusions, allow temporary exclusions, maximum duration, duration menu. | Stop long-lived ASR exclusions accumulating. More on ASR → |
| Logging and Diagnostics | Log level, log file path, rotation size. | Troubleshoot a deployment that is not reporting. |
| Page Visibility | Twelve settings, one per page, each with Hidden / Administrators / Standard users / Both. | Show only the pages a given audience needs. |
Common configurations
Four starting points. Each one is a handful of settings, not a wholesale lockdown.
Client reporting only
- Background Collector → Enable the background collector: Enabled
- Telemetry Upload → Enable upload to an Azure Function App: Enabled
- Telemetry Upload → Azure Function App endpoint: your URL and audience
- Device Tagging → set the environment and organizational unit
Helpdesk read-only
- Application Lockdown → Force read-only mode: Enabled
- Application Lockdown → Restrict the application to the local machine: Enabled
- Page Visibility → ASR Rules events page: Both
- Page Visibility → hide pages the team does not need
High-security workstations
- Application Lockdown → Block data export: Enabled
- Application Lockdown → Restrict to the local machine: Enabled
- ASR → Allow permanent ASR exclusions: Disabled
- ASR → Maximum ASR exclusion duration: 4 hours
- Page Visibility → AI Analysis page: Hidden
Preview pilot group
- Application Lockdown → Show preview features: Enabled
- Page Visibility → Machine Investigator page: Administrators only
- Scope the GPO to a pilot security group
- What Machine Investigator does →
Verify a deployment
gpupdate /target:computer /force
# Everything the toolkit will read
Get-ItemProperty "HKLM:\SOFTWARE\Policies\Highwind" | Format-List
# Which pages are policy-controlled
Get-Item "HKLM:\SOFTWARE\Policies\Highwind" |
Select-Object -ExpandProperty Property |
Where-Object { $_ -like "Visibility*" }
Run gpresult /h gpreport.html for a report showing which GPO supplied each value; useful when two policies disagree.
Using Intune instead
Intune imports the same template, so cloud-managed devices get the same settings, names and help text as Group Policy. The values land in the same key, HKLM\SOFTWARE\Policies\Highwind.
- In the Intune admin center, go to Devices → Configuration → Import ADMX and choose Import.
- Select
Highwind.admxas the ADMX file anden-US\Highwind.admlas the ADML file, then Create. Refresh until State shows Available. - Go to Devices → Configuration → Create → New policy. Platform Windows 10 and later, profile type Templates → Imported Administrative templates (Preview).
- Under Computer Configuration → Highwind, set the same values you would in Group Policy, then assign the profile to a device group.
“ADMX file referenced not found NamespaceMissing:Microsoft.Policies.Windows”? Templates released before 3.7.0 declared the Windows namespace without using it, and Intune insists on every declared namespace being uploaded first. Download the current template; it declares no dependencies.
- Before importing again: delete the failed entry under Import ADMX; Intune will not accept a second file with the same name.
- When you upgrade the template later: delete the old import first. Intune does not let you delete an imported template while a profile uses it, so remove its settings from the profile (or the profile) beforehand.
Settings show “Not applicable” on Azure Virtual Desktop? Session hosts that run Windows Enterprise multi-session do not support every kind of Intune profile, and an imported Administrative template can be reported as Not applicable there.
Check in Intune under the profile’s Device status and open a device to see which setting reports it. If the hosts are multi-session, use one of these instead; both write the same values the template would:
- A script. Deploy Set-HighwindPolicy.ps1 as an Intune platform script or Remediation, or run it in your golden image. Example:
.\Set-HighwindPolicy.ps1 -Value @{ FleetFirewallReportingEnabled = 1 }. Add-WhatIfto preview. - Group Policy. If the hosts are domain joined, install the template in the Central Store and set the policy there.
A PowerShell script deployed through Intune is often simpler for a one-off rollout. The registry reference lists every value, its type and its default.
Notes and caveats
- Computer scope only. There are no user-scope settings; everything applies to the machine.
- Version awareness. Each setting declares which toolkit version introduced it under Supported on. Applying a setting to an older build is harmless; it is simply ignored.
- Upgrades are safe. The MSI seeds each value at its built-in default but never overwrites an existing one, so policy-set values survive.
- Two settings changed behaviour in 3.3.2.
DisableExportButtonsandDisableRemoteTargetwere previously documented but had no effect. They are now genuinely enforced. If you set either speculatively and still want export or remote targeting, set them back to Disabled before rolling out 3.3.2. - Seven values were removed in 3.3.2. They are ignored if present, and are deliberately absent from these templates. See the 3.3.2 release notes.
- English only for now. Only
en-USresources are supplied. Copy the ADML into another language folder to have it load in that locale; the text will remain English.