doc/dsc/modules/Hosts.md
Manages configuration for the Hosts File Editor utility, a quick editor for the Windows hosts file.
The Hosts module configures PowerToys Hosts File Editor, a utility that
provides a user-friendly interface for viewing and editing the Windows hosts
file. It simplifies the process of adding, modifying, and managing DNS
entries in the hosts file.
The Hosts module supports the following configurable properties:
Controls whether the Hosts File Editor launches with administrator privileges by default.
Type: boolean
Default: false
Description: When enabled, the editor will always attempt to launch with
elevated permissions, which is required to edit the hosts file.
Controls how duplicate loopback addresses are handled.
Type: boolean
Default: false
Controls where additional lines are positioned when editing entries.
Type: integer
Allowed values:
0 - Top1 - BottomDefault: 0
This example configures the Hosts editor to always launch with admin rights.
$config = @{
settings = @{
properties = @{
LaunchAdministrator = $true
}
name = "Hosts"
version = "1.0"
}
} | ConvertTo-Json -Depth 10 -Compress
PowerToys.DSC.exe set --resource 'settings' --module Hosts --input $config
This example enables administrator launch and configures line positioning.
dsc config set --file hosts-config.dsc.yaml
# hosts-config.dsc.yaml
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
- name: Configure Hosts File Editor
type: Microsoft.PowerToys/HostsSettings
properties:
settings:
properties:
LaunchAdministrator: true
AdditionalLinesPosition: 1
name: Hosts
version: 1.0
This example installs PowerToys and configures the Hosts editor for admin launch.
winget configure winget-hosts.yaml
# winget-hosts.yaml
$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json
metadata:
winget:
processor: dscv3
resources:
- name: Install PowerToys
type: Microsoft.WinGet.DSC/WinGetPackage
properties:
id: Microsoft.PowerToys
source: winget
- name: Configure Hosts File Editor
type: Microsoft.PowerToys/HostsSettings
properties:
settings:
properties:
LaunchAdministrator: true
LoopbackDuplicates: false
name: Hosts
version: 1.0
This example configures for development use with new entries at the bottom.
dsc config set --file hosts-development.dsc.yaml
# hosts-development.dsc.yaml
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
- name: Development hosts configuration
type: Microsoft.PowerToys/HostsSettings
properties:
settings:
properties:
LaunchAdministrator: true
AdditionalLinesPosition: 1
name: Hosts
version: 1.0
Configure for frequent hosts file editing:
resources:
- name: Admin configuration
type: Microsoft.PowerToys/HostsSettings
properties:
settings:
properties:
LaunchAdministrator: true
name: Hosts
version: 1.0
Configure for development environment management:
resources:
- name: Developer configuration
type: Microsoft.PowerToys/HostsSettings
properties:
settings:
properties:
LaunchAdministrator: true
AdditionalLinesPosition: 1
name: Hosts
version: 1.0