--- - name: check if -SmbShare cmdlets are available win_command: powershell.exe "Get-Command -Name Get-SmbShare" register: module_available failed_when: False - name: check that module fails with helpful message on older hosts win_share: name: test register: module_not_supported when: module_available.rc == 1 failed_when: module_not_supported.msg != 'The current host does not support the -SmbShare cmdlets required by this module. Please run on Server 2012 or Windows 8 and later' check_mode: yes # Run the actual tests - block: # setup for tests - name: create testing folder win_file: path: "{{test_win_share_path}}" state: directory - name: ensure testing folder isn't shared as a baseline win_share: name: "{{test_win_share_name}}" state: absent - name: run tests on hosts that support it include_tasks: tests.yml when: module_available.rc == 0 always: # cleanup - name: ensure testing folder isn't shared anymore win_share: name: "{{test_win_share_name}}" state: absent - name: remove testing folder win_file: path: "{{test_win_share_path}}" state: absent when: module_available.rc == 0