ansible.builtin.win_stat (v2.9.27) — module

Get information about Windows files

| "added in version" 1.7 of ansible.builtin"

Authors: Chris Church (@cchurch)

stableinterface | supported by core

Install Ansible via pip

Install with pip install ansible==2.9.27

Description

Returns information about a Windows file.

For non-Windows targets, use the M(stat) module instead.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Obtain information about a file
  win_stat:
    path: C:\foo.ini
  register: file_info
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Obtain information about a folder
  win_stat:
    path: C:\bar
  register: folder_info
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get MD5 checksum of a file
  win_stat:
    path: C:\foo.ini
    get_checksum: yes
    checksum_algorithm: md5
  register: md5_checksum
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- debug:
    var: md5_checksum.stat.checksum
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get SHA1 checksum of file
  win_stat:
    path: C:\foo.ini
    get_checksum: yes
  register: sha1_checksum
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- debug:
    var: sha1_checksum.stat.checksum
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get SHA256 checksum of file
  win_stat:
    path: C:\foo.ini
    get_checksum: yes
    checksum_algorithm: sha256
  register: sha256_checksum
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- debug:
    var: sha256_checksum.stat.checksum

Inputs

    
path:
    aliases:
    - dest
    - name
    description:
    - The full path of the file/object to get the facts of; both forward and back slashes
      are accepted.
    required: true
    type: path

follow:
    default: false
    description:
    - Whether to follow symlinks or junction points.
    - In the case of C(path) pointing to another link, then that will be followed until
      no more links are found.
    type: bool
    version_added: '2.8'
    version_added_collection: ansible.builtin

get_md5:
    default: false
    description:
    - Whether to return the checksum sum of the file. Between Ansible 1.9 and Ansible
      2.2 this is no longer an MD5, but a SHA1 instead. As of Ansible 2.3 this is back
      to an MD5. Will return None if host is unable to use specified algorithm.
    - The default of this option changed from C(yes) to C(no) in Ansible 2.5 and will
      be removed altogether in Ansible 2.9.
    - Use C(get_checksum=yes) with C(checksum_algorithm=md5) to return an md5 hash under
      the C(checksum) return value.
    type: bool

get_checksum:
    default: true
    description:
    - Whether to return a checksum of the file (default sha1)
    type: bool
    version_added: '2.1'
    version_added_collection: ansible.builtin

checksum_algorithm:
    choices:
    - md5
    - sha1
    - sha256
    - sha384
    - sha512
    default: sha1
    description:
    - Algorithm to determine checksum of file.
    - Will throw an error if the host is unable to use specified algorithm.
    type: str
    version_added: '2.3'
    version_added_collection: ansible.builtin

Outputs

changed:
  description: Whether anything was changed
  returned: always
  sample: true
  type: bool
stat:
  contains:
    attributes:
      description: Attributes of the file at path in raw form.
      returned: success, path exists
      sample: Archive, Hidden
      type: str
    checksum:
      description: The checksum of a file based on checksum_algorithm specified.
      returned: success, path exist, path is a file, get_checksum == True checksum_algorithm
        specified is supported
      sample: 09cb79e8fc7453c84a07f644e441fd81623b7f98
      type: str
    creationtime:
      description: The create time of the file represented in seconds since epoch.
      returned: success, path exists
      sample: 1477984205.15
      type: float
    exists:
      description: If the path exists or not.
      returned: success
      sample: true
      type: bool
    extension:
      description: The extension of the file at path.
      returned: success, path exists, path is a file
      sample: .ps1
      type: str
    filename:
      description: The name of the file (without path).
      returned: success, path exists, path is a file
      sample: foo.ini
      type: str
    hlnk_targets:
      description: List of other files pointing to the same file (hard links), excludes
        the current file.
      returned: success, path exists
      sample:
      - C:\temp\file.txt
      - C:\Windows\update.log
      type: list
    isarchive:
      description: If the path is ready for archiving or not.
      returned: success, path exists
      sample: true
      type: bool
    isdir:
      description: If the path is a directory or not.
      returned: success, path exists
      sample: true
      type: bool
    ishidden:
      description: If the path is hidden or not.
      returned: success, path exists
      sample: true
      type: bool
    isjunction:
      description: If the path is a junction point or not.
      returned: success, path exists
      sample: true
      type: bool
    islnk:
      description: If the path is a symbolic link or not.
      returned: success, path exists
      sample: true
      type: bool
    isreadonly:
      description: If the path is read only or not.
      returned: success, path exists
      sample: true
      type: bool
    isreg:
      description: If the path is a regular file.
      returned: success, path exists
      sample: true
      type: bool
    isshared:
      description: If the path is shared or not.
      returned: success, path exists
      sample: true
      type: bool
    lastaccesstime:
      description: The last access time of the file represented in seconds since epoch.
      returned: success, path exists
      sample: 1477984205.15
      type: float
    lastwritetime:
      description: The last modification time of the file represented in seconds since
        epoch.
      returned: success, path exists
      sample: 1477984205.15
      type: float
    lnk_source:
      description: Target of the symlink normalized for the remote filesystem.
      returned: success, path exists and the path is a symbolic link or junction point
      sample: C:\temp\link
      type: str
    lnk_target:
      description: Target of the symlink. Note that relative paths remain relative.
      returned: success, path exists and the path is a symbolic link or junction point
      sample: ..\link
      type: str
    md5:
      description: The MD5 checksum of a file (Between Ansible 1.9 and Ansible 2.2
        this was returned as a SHA1 hash), will be removed in Ansible 2.9.
      returned: success, path exist, path is a file, get_md5 == True
      sample: 09cb79e8fc7453c84a07f644e441fd81623b7f98
      type: str
    nlink:
      description: Number of links to the file (hard links).
      returned: success, path exists
      sample: 1
      type: int
    owner:
      description: The owner of the file.
      returned: success, path exists
      sample: BUILTIN\Administrators
      type: str
    path:
      description: The full absolute path to the file.
      returned: success, path exists, file exists
      sample: C:\foo.ini
      type: str
    sharename:
      description: The name of share if folder is shared.
      returned: success, path exists, file is a directory and isshared == True
      sample: file-share
      type: str
    size:
      description: The size in bytes of a file or folder.
      returned: success, path exists, file is not a link
      sample: 1024
      type: int
  description: dictionary containing all the stat data
  returned: success
  type: complex

See also