Back to Powertoys

FileLocksmith Module

doc/dsc/modules/FileLocksmith.md

0.99.14.0 KB
Original Source

FileLocksmith Module

Synopsis

Manages configuration for the File Locksmith utility, which identifies processes that are locking files or folders.

Description

The FileLocksmith module configures PowerToys File Locksmith, a Windows shell extension that helps identify which processes are using (locking) specific files or folders. It integrates with the Windows Explorer context menu for easy access.

Properties

The FileLocksmith module supports the following configurable properties:

ExtendedContextMenuOnly

Controls whether File Locksmith appears only in the extended context menu.

Type: boolean
Default: false
Description: When true, File Locksmith only appears in the context menu when you hold Shift while right-clicking. When false, it appears in the standard context menu.

Examples

Example 1 - Show in standard context menu with direct execution

This example configures File Locksmith to appear in the standard context menu.

powershell
$config = @{
    settings = @{
        properties = @{
            ExtendedContextMenuOnly = $false
        }
        name = "FileLocksmith"
        version = "1.0"
    }
} | ConvertTo-Json -Depth 10 -Compress

PowerToys.DSC.exe set --resource 'settings' --module FileLocksmith `
    --input $config

Example 2 - Extended menu only with DSC

This example configures File Locksmith to appear only in the extended context menu.

bash
dsc config set --file filelocksmith-extended.dsc.yaml
yaml
# filelocksmith-extended.dsc.yaml
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
  - name: Configure File Locksmith for extended menu
    type: Microsoft.PowerToys/FileLocksmithSettings
    properties:
      settings:
        properties:
          ExtendedContextMenuOnly: true
        name: FileLocksmith
        version: 1.0

Example 3 - Install and configure with WinGet

This example installs PowerToys and configures File Locksmith for standard menu access.

bash
winget configure winget-filelocksmith.yaml
yaml
# winget-filelocksmith.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 File Locksmith
    type: Microsoft.PowerToys/FileLocksmithSettings
    properties:
      settings:
        properties:
          ExtendedContextMenuOnly: false
        name: FileLocksmith
        version: 1.0

Example 4 - Minimize context menu clutter

This example configures for extended menu to reduce clutter.

bash
dsc config set --file filelocksmith-minimal.dsc.yaml
yaml
# filelocksmith-minimal.dsc.yaml
$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
resources:
  - name: Minimal context menu
    type: Microsoft.PowerToys/FileLocksmithSettings
    properties:
      settings:
        properties:
          ExtendedContextMenuOnly: true
        name: FileLocksmith
        version: 1.0

Use cases

System administration

Quick access for troubleshooting file locks:

yaml
resources:
  - name: Admin quick access
    type: Microsoft.PowerToys/FileLocksmithSettings
    properties:
      settings:
        properties:
          ExtendedContextMenuOnly: false
        name: FileLocksmith
        version: 1.0

Clean context menu

Reduce menu clutter for casual users:

yaml
resources:
  - name: Clean menu
    type: Microsoft.PowerToys/FileLocksmithSettings
    properties:
      settings:
        properties:
          ExtendedContextMenuOnly: true
        name: FileLocksmith
        version: 1.0

See also

<!-- Link reference definitions -->