--- - name: ensure test environment value is not set in all scope win_environment: name: "{{test_environment_name}}" state: absent level: "{{item}}" with_items: - machine - process - user - name: fail to create environment value with null value win_environment: name: "{{test_environment_name}}" state: present level: machine register: create_fail_null failed_when: create_fail_null.msg != "When state=present, value must be defined and not an empty string, if you wish to remove the envvar, set state=absent" - name: fail to create environment value with empty value win_environment: name: "{{test_environment_name}}" value: '' state: present level: machine register: create_fail_empty_string failed_when: create_fail_null.msg != "When state=present, value must be defined and not an empty string, if you wish to remove the envvar, set state=absent" - name: create test environment value for machine check win_environment: name: "{{test_environment_name}}" value: "{{test_machine_environment_value}}" state: present level: machine register: create_machine_check check_mode: True - name: get value of environment key for machine after changing check win_command: powershell.exe "[Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')" register: create_machine_check_actual - name: assert change test environment value for machine check assert: that: - create_machine_check is changed - create_machine_check_actual.stdout == "" - name: create test environment value for machine win_environment: name: "{{test_environment_name}}" value: "{{test_machine_environment_value}}" state: present level: machine register: create_machine - name: get value of environment key for machine after changing win_command: powershell.exe "[Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')" register: create_machine_actual - name: assert test environment value for machine assert: that: - create_machine is changed - create_machine.before_value == None - create_machine_actual.stdout == "{{test_machine_environment_value}}\r\n" - name: create test environment value for machine again win_environment: name: "{{test_environment_name}}" value: "{{test_machine_environment_value}}" state: present level: machine register: create_machine_again - name: get value of environment key for machine after changing again win_command: powershell.exe "[Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')" register: create_machine_actual_again - name: assert create test environment value for machine again assert: that: - create_machine_again is not changed - create_machine_again.before_value == test_machine_environment_value - create_machine_actual_again.stdout == "{{test_machine_environment_value}}\r\n" - name: change test environment value for machine check win_environment: name: "{{test_environment_name}}" value: "{{test_new_machine_environment_value}}" state: present level: machine register: change_machine_check check_mode: True - name: get value of environment key for machine after changing check win_command: powershell.exe "[Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')" register: change_machine_actual_check - name: assert change test environment value for machine check assert: that: - change_machine_check is changed - change_machine_check.before_value == test_machine_environment_value - change_machine_actual_check.stdout == "{{test_machine_environment_value}}\r\n" - name: change test environment value for machine win_environment: name: "{{test_environment_name}}" value: "{{test_new_machine_environment_value}}" state: present level: machine register: change_machine - name: get value of environment key for machine after changing win_command: powershell.exe "[Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')" register: change_machine_actual - name: assert change test environment value for machine assert: that: - change_machine is changed - change_machine.before_value == test_machine_environment_value - change_machine_actual.stdout == "{{test_new_machine_environment_value}}\r\n" - name: change test environment value for machine again win_environment: name: "{{test_environment_name}}" value: "{{test_new_machine_environment_value}}" state: present level: machine register: change_machine_again - name: get value of environment key for machine after changing again win_command: powershell.exe "[Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')" register: change_machine_actual_again - name: assert change test environment value for machine again assert: that: - change_machine_again is not changed - change_machine_again.before_value == test_new_machine_environment_value - change_machine_actual_again.stdout == "{{test_new_machine_environment_value}}\r\n" - name: create test environment value for user check win_environment: name: "{{test_environment_name}}" value: "{{test_user_environment_value}}" state: present level: user register: create_user_check check_mode: True - name: get value of environment key for user after changing check win_command: powershell.exe "[Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')" register: create_user_check_actual - name: assert change test environment value for user check assert: that: - create_user_check is changed - create_user_check_actual.stdout == "" - name: create test environment value for user win_environment: name: "{{test_environment_name}}" value: "{{test_user_environment_value}}" state: present level: user register: create_user - name: get value of environment key for user after changing win_command: powershell.exe "[Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')" register: create_user_actual - name: assert test environment value for user assert: that: - create_user is changed - create_user.before_value == None - create_user_actual.stdout == "{{test_user_environment_value}}\r\n" - name: create test environment value for user again win_environment: name: "{{test_environment_name}}" value: "{{test_user_environment_value}}" state: present level: user register: create_user_again - name: get value of environment key for user after changing again win_command: powershell.exe "[Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')" register: create_user_actual_again - name: assert create test environment value for user again assert: that: - create_user_again is not changed - create_user_again.before_value == test_user_environment_value - create_user_actual_again.stdout == "{{test_user_environment_value}}\r\n" - name: change test environment value for user check win_environment: name: "{{test_environment_name}}" value: "{{test_new_user_environment_value}}" state: present level: user register: change_user_check check_mode: True - name: get value of environment key for user after changing check win_command: powershell.exe "[Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')" register: change_user_actual_check - name: assert change test environment value for user check assert: that: - change_user_check is changed - change_user_check.before_value == test_user_environment_value - change_user_actual_check.stdout == "{{test_user_environment_value}}\r\n" - name: change test environment value for user win_environment: name: "{{test_environment_name}}" value: "{{test_new_user_environment_value}}" state: present level: user register: change_user - name: get value of environment key for user after changing win_command: powershell.exe "[Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')" register: change_user_actual - name: assert change test environment value for user assert: that: - change_user is changed - change_user.before_value == test_user_environment_value - change_user_actual.stdout == "{{test_new_user_environment_value}}\r\n" - name: change test environment value for user again win_environment: name: "{{test_environment_name}}" value: "{{test_new_user_environment_value}}" state: present level: user register: change_user_again - name: get value of environment key for user after changing again win_command: powershell.exe "[Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')" register: change_user_actual_again - name: assert change test environment value for user again assert: that: - change_user_again is not changed - change_user_again.before_value == test_new_user_environment_value - change_user_actual_again.stdout == "{{test_new_user_environment_value}}\r\n" - name: cleanup test changes win_environment: name: "{{test_environment_name}}" state: absent level: "{{item}}" with_items: - machine - process - user