On this page
community.windows.win_defrag – Consolidate fragmented files on local volumes
Note
This plugin is part of the community.windows collection (version 1.7.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
- Locates and consolidates fragmented files on local volumes to improve system performance.
 - More information regarding 
win_defragis available from: https://technet.microsoft.com/en-us/library/cc731650(v=ws.11.aspx) 
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
         | 
      
       
  | 
      
        
        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
         | 
      
       
  | 
      
        
        Run the operation on each volume in parallel in the background.
         | 
     
| priority
        
        string
         | 
      
       
  | 
      
        
        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)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/community/windows/win_defrag_module.html