community.windows.win_defrag – Consolidate fragmented files on local volumes

Note

This plugin is part of the community.windows collection (version 1.9.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.windows.

To use it in a playbook, specify: community.windows.win_defrag.

Synopsis

Requirements

The below requirements are needed on the host that executes this module.

  • defrag.exe

Parameters

Parameter Choices/Defaults Comments
exclude_volumes
list / elements=string
A list of drive letters or mount point paths to exclude from defragmentation.
freespace_consolidation
boolean
    Choices:
  • no ←
  • yes
Perform free space consolidation on the specified volumes.
include_volumes
list / elements=string
A list of drive letters or mount point paths of the volumes to be defragmented.
If this parameter is omitted, all volumes (not excluded) will be fragmented.
parallel
boolean
    Choices:
  • no ←
  • yes
Run the operation on each volume in parallel in the background.
priority
string
    Choices:
  • low ←
  • normal
Run the operation at low or normal priority.

Examples

- name: Defragment all local volumes (in parallel)
  community.windows.win_defrag:
    parallel: yes

- name: 'Defragment all local volumes, except C: and D:'
  community.windows.win_defrag:
    exclude_volumes: [ C, D ]

- name: 'Defragment volume D: with normal priority'
  community.windows.win_defrag:
    include_volumes: D
    priority: normal

- name: Consolidate free space (useful when reducing volumes)
  community.windows.win_defrag:
    freespace_consolidation: yes

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
changed
boolean
always
Whether or not any changes were made.

Sample:
True
cmd
string
always
The complete command line used by the module.

Sample:
defrag.exe /C /V
msg
string
failed
Possible error message on failure.

Sample:
Command 'defrag.exe' not found in $env:PATH.
rc
integer
always
The return code for the command.

stderr
string
always
The error output from the command.

stdout
string
always
The standard output from the command.

Sample:
Success.


Authors

  • Dag Wieers (@dagwieers)