--- - name: get powershell version win_shell: $PSVersionTable.PSVersion.Major register: powershell_version - name: expect failure when running on old PS hosts win_dsc: resource_name: File register: fail_dsc_old failed_when: '"This module cannot run as it requires a minimum PowerShell version of 5.0" not in fail_dsc_old.msg' when: powershell_version.stdout_lines[0]|int < 5 - name: run tests when PSv5+ when: powershell_version.stdout_lines[0]|int >= 5 block: - name: add remote temp dir to PSModulePath win_path: name: PSModulePath state: present scope: machine elements: - '{{ remote_tmp_dir }}' - name: copy custom DSC resources to remote temp dir win_copy: src: xTestDsc dest: '{{ remote_tmp_dir }}' - name: run tests include_tasks: tests.yml always: - name: remove remote tmp dir from PSModulePath win_path: name: PSModulePath state: absent scope: machine elements: - '{{ remote_tmp_dir }}'