Desired State Configuration

自版本 0.80 起,PowerToys 安装程序已在 GitHub 上发布,其中包含 Microsoft.PowerToys.ConfigureDSC资源,允许使用 Winget 配置文件配置 PowerToys。

安装

先决条件

下载

Microsoft.PowerToys.Configure 随 PowerToys 一起安装。 根据安装程序的类型,安装方式如下:

  • 对于每个用户的安装范围,模块位于 %USERPROFILE%\Documents\PowerShell\Modules\Microsoft.PowerToys.Configure 中。
  • 对于计算机范围的安装范围,位于 %ProgramFiles%\WindowsPowerShell\Modules\Microsoft.PowerToys.Configure

使用情况

可以使用以下 Powershell 语法直接调用资源:

Invoke-DscResource -Name PowerToysConfigure -Method Set -ModuleName Microsoft.PowerToys.Configure -Property @{ Awake = @{ Enabled = $false; Mode = "TIMED"; IntervalMinutes = "10" } }

但是,以更简单的格式创建一个包含所需设置的 configuration.dsc.yaml 文件会更方便。 下面是一个示例:

properties:
  resources:
    - resource: Microsoft.WinGet.DSC/WinGetPackage
      id: installPowerToys
      directives:
        description: Install PowerToys
        allowPrerelease: true
      settings:
        id: Microsoft.PowerToys
        source: winget

    - resource: Microsoft.PowerToys.Configure/PowerToysConfigure
      dependsOn:
        - installPowerToys
      directives:
        description: Configure PowerToys
      settings:
        ShortcutGuide:
          Enabled: false
          OverlayOpacity: 50
        FancyZones:
          Enabled: true
          FancyzonesEditorHotkey: "Shift+Ctrl+Alt+F"
        FileLocksmith:
          Enabled: false
  configurationVersion: 0.2.0

使用以下命令应用文件中的配置:

winget configure .\configuration.dsc.yaml

此命令安装最新版本的 PowerToys,并使用PowerToys配置资源为多个 PowerToys 模块应用设置。 可以在 PowerToys 存储库中找到更多示例。

按模块列出的可用配置设置

AlwaysOnTop

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
热键 KeyboardKeys 自定义用于固定或取消固定应用窗口的快捷方式。
FrameEnabled 布尔 显示固定窗口周围的边框。
FrameThickness int 边框粗细(以像素为单位)。
FrameColor 字符串 #FFFFFFFF 格式指定颜色。
FrameOpacity int 边框不透明度(以百分比表示)。
FrameAccentColor 布尔 使用自定义 FrameColor 值。
SoundEnabled 布尔 固定窗口时播放声音。
DoNotActivateOnGameMode 布尔 当“游戏模式”处于开启状态时,禁用激活快捷方式。
ExcludedApps 字符串 以'\r'分隔的可执行文件名列表,以排除固定在顶部。
RoundCornersEnabled 布尔 启用圆角。

唤醒

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
KeepDisplayOn 布尔 此设置仅在保持电脑处于唤醒状态时可用。
模型 AwakeMode 可能的值:PASSIVE、INDEFINITE、TIMED、EXPIRABLE。
IntervalHours UInt32 使用 TIMED 模式时,指定小时数。
IntervalMinutes UInt32 使用 TIMED 模式时,指定分数数。
ExpirationDateTime DateTimeOffset 使用 EXPIRABLE 模式时,以 DateTimeOffset.TryParse 可分析格式指定日期和时间。

ColorPicker

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ActivationShortcut HotkeySettings 自定义用于激活此模块的快捷方式。
CopiedColorRepresentation 字符串 要使用的默认颜色表示形式。 示例:"HEX"。
ActivationAction ColorPickerActivationAction 可能的值:OpenEditor、OpenColorPickerAndThenEditor、OpenOnlyColorPicker。
VisibleColorFormats
ShowColorName 布尔 这将在选取颜色时显示颜色的名称。

注意

尚不支持通过 DSC 配置自定义颜色格式。

CropAndLock

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ReparentHotkey KeyboardKeys 将应用程序窗口裁剪为裁剪窗口的快捷方式。
ThumbnailHotkey KeyboardKeys 用于裁剪和创建另一个窗口的缩略图的快捷方式。

环境变量

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
LaunchAdministrator 布尔 需要以管理员身份启动才能更改系统环境变量。

FancyZones

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
FancyzonesShiftDrag 布尔 按住 Shift 键可在拖动窗口时激活区域。
FancyzonesMouseSwitch 布尔 使用非主要鼠标按钮来切换区域激活。
FancyzonesMouseMiddleClickSpanningMultipleZones 布尔 使用鼠标中键可以切换多个区域的跨度。
FancyzonesOverrideSnapHotkeys 布尔 这会覆盖 Windows 贴靠快捷方式(Win + 箭头)以在区域之间移动窗口。
FancyzonesMoveWindowsAcrossMonitors 布尔 跨所有监视器在区域之间移动窗口。
FancyzonesMoveWindowsBasedOnPosition 布尔 根据相对位置或区域索引移动窗口。
FancyzonesOverlappingZonesAlgorithm int 当多个区域重叠算法索引时。
FancyzonesDisplayOrWorkAreaChangeMoveWindows 布尔 当屏幕分辨率或工作区域发生变化时,使窗口保持在各自的区域内。
FancyzonesZoneSetChangeMoveWindows 布尔 在区域布局变化时,分配给区域的窗口将匹配新的大小/位置。
FancyzonesAppLastZoneMoveWindows 布尔 将新创建的窗口移动到最后一个已知区域。
FancyzonesOpenWindowOnActiveMonitor 布尔 将新创建的窗口移动到当前活动的监视器(实验性)。
FancyzonesRestoreSize 布尔 在取消贴靠时还原窗口的原始大小。
FancyzonesQuickLayoutSwitch 布尔 启用快速布局切换。
FancyzonesFlashZonesOnQuickSwitch 布尔 切换布局时刷写区域。
UseCursorposEditorStartupscreen 布尔 在鼠标所在的显示器上打开编辑器。
FancyzonesShowOnAllMonitors 布尔 在拖动窗口时在所有监视器上显示区域。
FancyzonesSpanZonesAcrossMonitors 布尔 允许区域跨监视器。
FancyzonesMakeDraggedWindowTransparent 布尔 让被拖动的窗口透明。
FancyzonesAllowChildWindowSnap 布尔 允许子窗口贴靠。
FancyzonesDisableRoundCornersOnSnap 布尔 在贴靠窗口时禁用圆角。
FancyzonesZoneHighlightColor 字符串 如果未使用 FancyzonesSystemTheme,请突出显示要以 #FFFFFFFF 格式使用的颜色。
FancyzonesHighlightOpacity int 区域不透明度(以百分比表示)。
FancyzonesEditorHotkey KeyboardKeys 自定义用于激活此模块的快捷方式。
FancyzonesWindowSwitching 布尔 在当前区域的窗口之间切换。
FancyzonesNextTabHotkey KeyboardKeys 下一个窗口快捷方式。
FancyzonesPrevTabHotkey KeyboardKeys 上一个窗口快捷方式。
FancyzonesExcludedApps 字符串 以'\r'分隔的可执行文件名列表,以从捕获中排除。
FancyzonesBorderColor 字符串 如果未使用 FancyzonesSystemTheme,请为要以 #FFFFFFFF 格式使用的颜色加上边框。
FancyzonesInActiveColor 字符串 如果未使用 FancyzonesSystemTheme,请停用要以 #FFFFFFFF 格式使用的颜色。
FancyzonesNumberColor 字符串 如果未使用 FancyzonesSystemTheme,请为要以 #FFFFFFFF 格式使用的颜色编号。
FancyzonesSystemTheme 布尔 为区域外观使用系统主题。
FancyzonesShowZoneNumber 布尔 显示区域编号。

注意

尚不支持通过 DSC 配置布局。

FileLocksmith

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ExtendedContextMenuOnly 布尔 仅在扩展上下文菜单中或在默认上下文菜单中显示 File Locksmith。

FindMyMouse

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ActivationMethod int 激活方法索引。
ActivationShortcut HotkeySettings 为 ActivationMethod 使用自定义时,自定义激活快捷方式。
DoNotActivateOnGameMode 布尔 当“游戏模式”处于开启状态时,禁用激活快捷方式。
BackgroundColor 字符串 #FFFFFFFF 格式的背景色。
SpotlightColor 字符串 #FFFFFFFF 格式的聚焦颜色。
OverlayOpacity int 覆盖不透明度(以百分比表示)。
SpotlightRadius int 聚焦半径(以像素为单位)。
AnimationDurationMs int 动画持续时间(以毫秒为单位)。
SpotlightInitialZoom int 动画开始时的聚焦缩放系数。
ExcludedApps 字符串 “\r”分隔的可执行名称列表,以防止模块激活。
ShakingMinimumDistance int 使用摇动鼠标 ActivationMethod 时,鼠标摇动激活的最小距离,用于调整灵敏度。
ShakingIntervalMs int 使用摇动鼠标 ActivationMethod 时,跟踪鼠标移动以检测摇动的时间跨度,用于调整灵敏度。
ShakingFactor int 使用摇动鼠标 ActivationMethod 时,摇动系数(以百分比表示)。

主机

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
LaunchAdministrator 布尔 需要以管理员身份打开才能更改系统环境变量。
ShowStartupWarning 布尔 在启动时显示警告。
LoopbackDuplicates 布尔 将环回地址视为重复项。
AdditionalLinesPosition HostsAdditionalLinesPosition 可能的值:顶部、底部。
编码 HostsEncoding 可能的值:Utf8、Utf8Bom。

ImageResizer

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ImageresizerSelectedSizeIndex int 默认大小预设索引。
ImageresizerShrinkOnly 布尔 使图片变小,而不是变大。
ImageresizerReplace 布尔 覆盖文件。
ImageresizerIgnoreOrientation 布尔 忽略图片的方向。
ImageresizerJpegQualityLevel int JPEG 质量级别(以百分比表示)。
ImageresizerPngInterlaceOption int PNG 交错选项索引。
ImageresizerTiffCompressOption int Tiff 压缩索引。
ImageresizerFileName 字符串 此格式用作已调整大小的图像的文件名。
ImageresizerSizes
ImageresizerKeepDateModified 布尔 删除不影响呈现的元数据。
ImageresizerFallbackEncoder 字符串 要使用的后备编码器。
ImageresizerCustomSize

注意

尚不支持通过 DSC 配置自定义大小。

KeyboardManager

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ActiveConfiguration
KeyboardConfigurations

注意

尚不支持通过 DSC 配置重新映射。

MeasureTool

Measure Tool 是屏幕标尺的内部名称。

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ActivationShortcut HotkeySettings 自定义用于打开命令栏的快捷方式。
ContinuousCapture 布尔 在测量期间连续捕获屏幕。
DrawFeetOnCross 布尔 将英尺添加到交叉线的末尾。
PerColorChannelEdgeDetection 布尔 启用其他边缘检测算法。
PixelTolerance int 边缘检测的像素容错。
MeasureCrossColor 字符串 #FFFFFFFF 格式的线条颜色。
DefaultMeasureStyle int 默认测量样式索引。

MouseHighlighter

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ActivationShortcut HotkeySettings 自定义用于打开或关闭此模式的快捷方式。
LeftButtonClickColor 字符串 主按钮以 #FFFFFFFF 格式突出显示颜色。
RightButtonClickColor 字符串 次要按钮以 #FFFFFFFF 格式突出显示颜色。
AlwaysColor 字符串 始终以 #FFFFFFFF 格式突出显示颜色。
HighlightRadius int 突出显示半径(以像素为单位)。
HighlightFadeDelayMs int 淡化延迟(以毫秒为单位)。
HighlightFadeDurationMs int 淡化持续时间(以毫秒为单位)。
AutoActivate 布尔 在实用工具启动时自动激活。

MouseJump

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ActivationShortcut HotkeySettings 自定义用于打开或关闭此模式的快捷方式。
ThumbnailSize MouseJumpThumbnailSize 缩略图大小。

MousePointerCrosshairs

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ActivationShortcut HotkeySettings 自定义用于显示/隐藏十字标线的快捷方式。
CrosshairsColor 字符串 #FFFFFFFF 十字标线颜色。
CrosshairsOpacity int 十字标线不透明度(以百分比表示)。
CrosshairsRadius int 十字标线中心半径(以像素为单位)。
CrosshairsThickness int 十字标线粗细(以像素为单位)。
CrosshairsBorderColor 字符串 #FFFFFFFF 格式的十字标线边框颜色。
CrosshairsBorderSize int 十字标线边框大小(以像素为单位)。
CrosshairsAutoHide 布尔 当鼠标指针处于隐藏状态时,自动隐藏十字标线。
CrosshairsIsFixedLengthEnabled 布尔 修复十字标线长度。
CrosshairsFixedLength int 十字标线固定长度(以像素为单位)。
AutoActivate 布尔 在实用工具启动时自动激活。

MouseWithoutBorders

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ShowOriginalUI 布尔 显示原始的无边框鼠标 UI。
WrapMouse 布尔 当鼠标移过最后一台计算机时,将控制移回第一台计算机。
ShareClipboard 布尔 如果共享剪贴板停止工作,请按 Ctrl+Alt+Del,然后按 Esc 键可以解决问题。
TransferFile 布尔 如果复制了文件 (<100MB),它将被传输到远程计算机剪贴板。
HideMouseAtScreenEdge 布尔 将鼠标隐藏在屏幕边缘。
DrawMouseCursor 布尔 在 Windows 10 及更高版本的 Windows 中,当没有连接物理鼠标时,鼠标光标可能不可见。
ValidateRemoteMachineIP 布尔 反向 DNS 查找,以验证计算机 IP 地址。
SameSubnetOnly 布尔 仅连接到同一 Intranet NNN.NNN.. 中的计算机(仅在两台计算机都启用了 IPv4 时有效)。
BlockScreenSaverOnOtherMachines 布尔 阻止其他计算机上的屏幕保护程序。
MoveMouseRelatively 布尔 当远程计算机的监视器设置不同或远程计算机具有多个监视器时,请使用此选项。
BlockMouseAtScreenCorners 布尔 将鼠标挡在屏幕角落,避免意外切换到屏幕角落。
ShowClipboardAndNetworkStatusMessages 布尔 显示剪贴板和网络状态消息。
EasyMouse int 简单鼠标模式索引。
HotKeySwitchMachine int 在计算机索引之间切换的快捷方式。
ToggleEasyMouseShortcut HotkeySettings 切换“简单鼠标”的快捷方式。
LockMachineShortcut HotkeySettings 锁定所有计算机的快捷方式。
ReconnectShortcut HotkeySettings 尝试重新连接的快捷方式。
Switch2AllPCShortcut HotkeySettings 切换到多台计算机模式的快捷方式。
Name2IP 字符串 IP 地址映射。

PastePlain

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ActivationShortcut HotkeySettings 自定义用于激活此模块的快捷方式。

速览

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ActivationShortcut HotkeySettings 自定义用于激活此模块的快捷方式。
AlwaysRunNotElevated 布尔 始终执行不提升的运行,即使在提升了 PowerToys 时。
CloseAfterLosingFocus 布尔 “查看”窗口失去焦点后自动将其关闭。

PowerAccent

PowerAccent 是 Quick Accent 的内部名称。

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ActivationKey PowerAccentActivationKey 可能的值:LeftRightArrow、Space、Both。
DoNotActivateOnGameMode 布尔 当“游戏模式”处于开启状态时,禁用激活快捷方式。
ToolbarPosition 字符串 工具栏位置索引。
InputTime int 输入时间延迟(以毫秒为单位)。
SelectedLang 字符串 要使用的字符集。
ExcludedApps 字符串 “\r”分隔的可执行文件名称列表,以防止模块激活(如果它们位于前台)。
ShowUnicodeDescription 布尔 显示当前所选字符的 Unicode 代码和名称。
SortByUsageFrequency 布尔 按使用频率对字符进行排序。
StartSelectionFromTheLeft 布尔 从左侧开始选择。

PowerLauncher

PowerLaucher 是 PowerToys Run 的内部名称。

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
OpenPowerLauncher HotkeySettings 自定义用于激活此模块的快捷方式。
IgnoreHotkeysInFullscreen 布尔 在全屏模式下忽略快捷方式。
ClearInputOnLaunch 布尔 在打开时清除上一查询。
TabSelectsContextButtons 布尔 按 Tab 键切换上下文按钮。
主题 主题 可能的值:System、Light、Dark、HighContrastOne、HighContrastTwo、HighContrastBlack、HighContrastWhite。
TitleFontSize Int32 文本大小(以磅为单位)。
Position StartupPosition 可能的值:Cursor、PrimaryMonitor、Focus。
UseCentralizedKeyboardHook 布尔 使用集中式键盘挂钩。
SearchQueryResultsWithDelay 布尔 输入平滑。
SearchInputDelay Int32 即时插件延迟(以毫秒为单位)。
SearchInputDelayFast Int32 后台执行插件延迟(以毫秒为单位)。
SearchClickedItemWeight Int32 所选项权重。
SearchQueryTuningEnabled 布尔 结果顺序优化。
SearchWaitForSlowResults 布尔 等待较慢的插件结果,然后再选择结果中的顶部项。
MaximumNumberOfResults int 在必须滚动之前显示的结果数。
UsePinyin 布尔 使用拼音。
GenerateThumbnailsFromFiles 布尔 启用文件的缩略图生成。
插件 在下一小节中介绍 启用文件的缩略图生成。

PowerToys Run 插件

PowerToys Run 插件可以在 Plugins 属性中配置。 可以在 PowerToys 存储库中找到一个示例

以下是配置每个插件的可用属性:

名称 Type 说明
名称 字符串 要配置的插件的名称
已禁用 布尔 应禁用插件
IsGlobal 布尔 此插件的结果显示在全局结果中
ActionKeyword 字符串 配置插件的操作关键字
WeightBoost int 权重修饰符有助于排序此插件的结果

注意

尚不支持通过 DSC 配置插件的其他属性。

PowerOcr

PowerOcr 是文本提取器的内部名称。

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
ActivationShortcut HotkeySettings 自定义用于激活此模块的快捷方式。
PreferredLanguage 字符串 应与系统中安装的一种语言的全名相匹配。 例如:“英语(美国)”。

PowerPreview

名称 Type 描述 可用
EnableSvgPreview 布尔 可缩放矢量图形预览控件已启用状态。
SvgBackgroundColorMode int 颜色模式索引。
SvgBackgroundSolidColor 字符串 使用纯色 SvgBackgroundColorMode 时,以 #FFFFFFFF 格式指定颜色。
SvgBackgroundCheckeredShade int 使用棋盘模式 SvgBackgroundColorMode 时,指定阴影索引。
EnableSvgThumbnail 布尔 可缩放矢量图形缩略图生成器已启用状态。
EnableMdPreview 布尔 Markdown 预览控件已启用状态。
EnableMonacoPreview 布尔 源代码文件预览控件已启用状态。
EnableMonacoPreviewWordWrap 布尔 自动换行。
MonacoPreviewTryFormat 布尔 尝试对源文件进行格式化以便预览。
MonacoPreviewMaxFileSize int 可预览的文件大小上限 (KB)。
EnablePdfPreview 布尔 可移植文档格式预览控件已启用状态。
EnablePdfThumbnail 布尔 可移植文档格式缩略图生成器已启用状态。
EnableGcodePreview 布尔 几何代码预览控件已启用状态。
EnableGcodeThumbnail 布尔 几何代码缩略图生成器已启用状态。
EnableStlThumbnail 布尔 Stereolithography 缩略图生成器已启用状态。
StlThumbnailColor 字符串 #FFFFFFFF 格式的缩略图颜色。
EnableQoiPreview 布尔 相当棒的图像预览控件已启用状态。
EnableQoiThumbnail 布尔 相当棒的图像缩略图生成器已启用状态。

PowerRename

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
MRUEnabled 布尔 为“搜索”和“替换”字段启用自动完成。
MaxMRUSize int 要记住的最近使用的项目的最大数量。
ExtendedContextMenuOnly 布尔 仅在扩展上下文菜单中或在默认上下文菜单中显示 PowerRename。
UseBoostLib 布尔 使用增强库。

RegistryPreview

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
DefaultRegApp 布尔 将注册表预览设置为打开 .reg 文件的默认应用。

ShortcutGuide

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
OpenShortcutGuide HotkeySettings 自定义用于激活此模块的快捷方式。
OverlayOpacity int 背景不透明度(以百分比表示)。
UseLegacyPressWinKeyBehavior 布尔 如果应通过按 Windows 键激活 ShortcutGuide。
PressTimeForGlobalWindowsShortcuts int 在以毫秒为单位显示全局 Windows 快捷方式之前按持续时间。
PressTimeForTaskbarIconShortcuts int 在以毫秒为单位显示任务栏图标快捷方式之前按持续时间。
主题 字符串 主题索引。
DisabledApps 字符串 当这些应用程序具有焦点时,关闭快捷键指南。

VideoConference

名称 Type 描述 可用
已启用 布尔 此实用工具的启用状态。
MuteCameraAndMicrophoneHotkey KeyboardKeys 设置摄像头和麦克风静音的快捷方式。
MuteMicrophoneHotkey KeyboardKeys 设置麦克风静音的快捷方式。
PushToTalkMicrophoneHotkey KeyboardKeys 一键通的快捷方式。
PushToReverseEnabled 布尔 如果启用,则支持按下说话和按下静音,具体取决于麦克风状态。
MuteCameraHotkey KeyboardKeys 设置摄像头静音的快捷方式。
SelectedCamera 字符串 设备名称。
SelectedMicrophone 字符串 设备名称或 [全部]。
ToolbarPosition 字符串 工具栏位置选项:“顶部中间”、“底部中间”、“右上角”、“左上角”、“右下角”、“左下角”。
ToolbarMonitor 字符串 工具栏监视器选项:“主监视器”、“所有监视器”。
CameraOverlayImagePath 字符串 用于摄像头覆盖的图像的路径。
ToolbarHide 字符串 何时隐藏工具栏:“从不”、“取消摄像头和麦克风静音时”、“摄像头和麦克风静音时”、“超时后”。
StartupAction 字符串 启动操作:“无”、“取消静音”、“静音”。

GeneralSettings

名称 Type 描述 可用
启动 布尔 在启动时自动启用 PowerToys。
EnableWarningsElevatedApps 布尔 与提升的应用程序一起运行时,显示有关功能问题的警告。
主题 字符串 要用于设置应用程序的主题:“系统”、“深色”、“浅色”。
ShowNewUpdatesToastNotification 布尔 当有新 PowerToys 更新可用时,显示 Toast 通知。
AutoDownloadUpdates 布尔 如果应在后台自动下载 PowerToys 的新更新。
ShowWhatsNewAfterUpdates 布尔 更新 PowerToys 后,打开“新增功能”屏幕。
EnableExperimentation 布尔 选择加入实验功能。

贡献

请参阅开发人员文档中的相关 devdocs 部分,开始使用 DSC 模块。