Skip to content

Latest commit

 

History

History
599 lines (434 loc) · 32.6 KB

CHANGELOG.rst

File metadata and controls

599 lines (434 loc) · 32.6 KB

Ansible Windows Release Notes

Release summary for v2.5.0. This is the first release that provides official support for using the ssh connection plugin.

  • Set minimum supported Ansible version to 2.15 to align with the versions still supported by Ansible.
  • owner - Migrated to Ansible.Basic format to add basic checks like invocation args checking
  • win_powershell - Changed sensitive_parameters to use New-Object, rather than ::new()
  • setup - Better handle orphaned users when attempting to retrieve ansible_machine_id - #606
  • win_owner - Try to enable extra privileges if available to set the owner even when the caller may not have explicit rights to do so normally - #633
  • win_powershell - Fix up depth handling on $Ansible.Result when using a custom executable - #642
  • win_powershell - increase open timeout for executable parameter to prevent exceptions on first-run or slower targets. (#644).
  • win_updates - Base64 encode the update wrapper and payload to prevent locale-specific encoding issues.
  • win_updates - Handle race condition when Wait-Process did not handle when the process had ended - #623

Release summary for v2.4.0

  • win_powershell - Added the sensitive_parameters option that can be used to pass in a SecureString or PSCredential parameter value.
  • win_setup - Added the ansible_win_rm_certificate_thumbprint fact to display the thumbprint of the certificate in use
  • win_user - Added the ability to set an account expiration date using the account_expires option - #610
  • setup - Provide WMI/CIM fallback for facts that rely on SMBIOS when that is unavailable

Release summary for v2.3.0

  • win_uri - Max depth for json object conversion used to be 2. Can now send json objects with up to 20 levels of nesting
  • win_get_url - Fix Tls1.3 getting removed from the list of security protocols
  • win_powershell - Remove unecessary using in code causing stray error records in output - #571

Release summary for v2.2.0

  • Set minimum supported Ansible version to 2.14 to align with the versions still supported by Ansible.
  • win_share - Added a new param called scope_name that allows file shares to be scoped for Windows Server failover cluster roles.
  • Process.cs - Fix up the ProcessCreationFlags.CreateProtectedProcess typo in the enum name
  • setup - Fix up typo collection -> collect when a timeout occurred during a fact subset
  • win_acl - Fix broken path in case of volume junction
  • win_service_info - Warn and not fail if ERROR_FILE_NOT_FOUND when trying to query a service - #556
  • win_updates - Fix up typo for Download progress event messages - #554

Release summary for v2.1.0

  • win_updates - Avoid using a scheduled task to spawn the updates background job when running as become. This provides an alternative method available to users in case the task scheduler does not work on their system - #543
  • Remove some code which is no longer valid for dotnet 5+
  • win_async - Set maximum data size allowed when deserializing async output - #520
  • win_group_membership - Return accurate results when using check_mode - #532
  • win_updates - Add special handling for KB2267602 in case it fails - #530
  • win_updates - Fix up endless retries when an update failed to install more than once - #343

Version 2.0.0 is a major release of the ansible.windows collection that removes some deprecated features. Please review the changelog to see what deprecated features have been removed in this release.

  • win_certificate_store - the private key check, when exporting to pkcs12, has been modified to handle the case where the PrivateKey property is null despite it being there
  • win_find - Added depth option to control how deep to go when scanning into the target path - #335
  • Add warning when using Server 2012 or 2012 R2 with the setup module. These OS' are nearing the End of Life and will not be tested in CI when that time is reached.
  • win_domain - Module is deprecated in favour of the microsoft.ad.domain module, the ansible.windows.win_domain module will be removed in the 3.0.0 release of this collection.
  • win_domain_controller - Module is deprecated in favour of the microsoft.ad.domain_controller module, the ansible.windows.win_domain_controller module will be removed in the 3.0.0 release of this collection.
  • win_domain_membership - Module is deprecated in favour of the microsoft.ad.membership module, the ansible.windows.win_domain_membership module will be removed in the 3.0.0 release of this collection.
  • win_get_url - Removed the deprecated option alias passwordd, use url_password instead.
  • win_get_url - Removed the deprecated option alias user and username, use url_username instead.
  • win_package - Removed deprecated module option ensure, use state instead.
  • win_package - Removed deprecated module option productid, use product_id instead.
  • win_package - Removed deprecated module option username, user_name, password, and user_password. Use become with become_flags: logon_type=new_credentials logon_flags=netcredentials_only on the task instead to replicate the same functionality instead.
  • win_reboot - Removed backwards compatibility check where ignore_errors: true will be treated like ignore_unreachable: true. Going forward ignore_errors: true will only ignore errors the plugin encountered and not an unreachable host. Use ignore_unreachable: true to ignore that error like any other module.
  • win_regedit - Removed support for using a path with forward slashes as a key separator. Using a forward slash has been deprecated since Ansible 2.9. If using forward slashes in the win_regedit path value, make sure to change the forward slash / to a backslash \. If enclosed in double quotes the backslash will have to be doubled up.
  • win_updates - Removed deprecated alias blacklist, use reject_list instead.
  • win_updates - Removed deprecated alias whitelist, use accept_list instead.
  • win_updates - Removed deprecated module option use_scheduled_task. This option did not change any functionality in the module and can be safely removed from the task entry.
  • win_uri - Removed the deprecated option alias password, use url_password instead.
  • win_uri - Removed the deprecated option alias user and username, use url_username instead.
  • win_updates - Add retry mechanism when polling output in case file is locked by another process like an Anti Virus - #490

Release summary for v1.14.0

  • Process - Add support for starting a process with a custom parent
  • win_updates - Added the rebooted return value to document if a host was rebooted - #485
  • setup - Be more resilient when parsing the BIOS release date - #496
  • win_package - Fix product_id check and skip downloaded requested file if the package is already installed - #479
  • win_updates - Add better handling for the polling output for connection plugins that might drop newlines on the output - #477
  • win_updates - Ensure failure condition doesn't lock the polling file - #490
  • win_updates - Improve batch task runner reliability and attempt to return more info on failures - #448

Release summary for v1.13.0

  • Set the minimum Ansible version supported by this collection to Ansible 2.12
  • win_reboot - Display connection messages under 4 v's -vvvv instead of 3
  • setup - Fallback to using the WMI Win32_Processor provider if the SMBIOS version is too old to return processor core counts
  • setup - Fix calculation for ansible_processor_threads_per_core to reflect the number of threads per core instead of threads per processor
  • setup - Ignore processors that are not enabled in the ansible_processor_count return value
  • setup - Support core and thread counts greater than 256 in ansible_processor_count and ansible_processor_threads_per_core
  • win_dns_client - Fix failure to lookup registry DNS servers when it contains null characters
  • win_powershell - Support PowerShell 7 script syntax when targeting executable: pwsh.exe - #452
  • win_wait_for - fix incorrect function name during state=drained - #451

Release summary for v1.12.0

  • win_acl - Added the follow parameter with will follow the symlinks and junctions before applying ACLs to change the target instead of the link
  • win_powershell - Add support for setting diff output with $Ansible.Diff in the script
  • win_uri - Use SHA256 for file idempotency checks instead of SHA1
  • win_acl_inheritance - Fix broken pathqualifier when using a UNC path - (#408).
  • win_certificate_store - Allow to reimport a certificate + key if the private key was not present the first time you imported it
  • win_setup - Fix custom facts that return false are missing - #430
  • win_updates - Fix broken call when logging a warning about updates with errors - #411
  • win_updates - Handle running with a temp profile path that is deleted between reboots - #417

Release summary for v1.11.1

  • win_command - Fix bug that stopped win_command from finding executables that are located more than once in PATH - #403
  • win_copy - Fix error message when failing to find src on the controller filesystem

Release summary for v1.11.0

  • Raise minimum Ansible version to 2.11 or newer
  • setup - also read *.json files in fact_path as raw JSON text in addition to .ps1 scripts
  • win_acl_inheritance - support for setting inheritance for registry keys
  • win_command - Added the argv module option for specifying the command to run as a list to be escaped rather than the free form input
  • win_command - Added the cmd module option for specifying the command to run as a module option rather than the free form input
  • win_command - Migrated to the newer Ansible.Basic style module to improve module invocation output
  • win_stat - Added get_size to control whether win_stat will calculate the size of files or directories - #384
  • setup - Ignore PATH entries with invalid roots when trying to find facter.exe - #397
  • setup - Ignore invalid PATH entries when trying to find facter.exe - #364
  • win_find - Fix up share checks when the share contains the ' character
  • win_package - Skip msix provider on older hosts that do not implement the required cmdlets
  • win_powershell - Do not attempt to serialize ETS properties of primitive types - #360
  • win_powershell - Make sure target_object on an error record uses the depth object when serializing the value - #375
  • win_stat - Fix up share checks when the share contains the ' character
  • win_updates - Try to display warnings on search suceeded with warnings - #366

Release summary for v1.10.0

  • setup - Added ipv4, ipv6, mtu and speed data to ansible_interfaces
  • win_environment - Trigger WM_SETTINGCHANGE on a change to notify other host processes of an environment change
  • win_path - Migrate to newer style module parser that adds features like module invocation under -vvv
  • win_path - Trigger WM_SETTINGCHANGE on a change to notify other host processes of an environment change
  • win_reboot - Always set a minimum of 2 seconds for pre_reboot_delay to ensure the plugin can read the result
  • win_dsc - deduplicated error writing code with a new function. No actual error text was changed.
  • win_powershell - Added $Ansible.Verbosity for scripts to adjust code based on the verbosity Ansible is running as
  • win_command - Use the 24 hour format for the hours of start and end - #303
  • win_copy - improve dest folder size detection to handle broken and recursive symlinks as well as inaccesible folders - #298
  • win_dsc - Provide better error message when trying to invoke a composite DSC resource
  • win_shell - Use the 24 hour format for the hours of start and end - #303
  • win_updates - Fix return value for updates and filtered_updates to match original stucture - #307
  • win_updates - Fixed issue when attempting to run task.ps1 with a host that has a restrictive execution policy set through GPO
  • win_updates - prevent the host from going to sleep if a low sleep timeout is set - #310
  • win_updates - Added the skip_optional module option to skip optional updates
  • win_copy - Fix remote dest size calculation logic
  • win_dns_client - Fix method used to read IPv6 DNS settings given by DHCP - #283
  • win_file - Fix conflicts with existing LIB environment variable
  • win_find - Fix conflicts with existing LIB environment variable
  • win_stat - Fix conflicts with existing LIB environment variable
  • win_updates - Fix conflicts with existing LIB environment variable
  • win_updates - Ignore named pipes with illegal filenames when checking for the task named pipe during bootstrapping - #291
  • win_updates - Improve error handling when starting background update task
  • win_user - Fix msg return value when setting state: query
  • win_whoami - Fix conflicts with existing LIB environment variable
  • win_reboot - Fix local variable referenced before assignment issue - #276
  • win_updates - Bypass execution policy checks when polling or cancelling the update task - #272
  • win_user - Set validate user logic to always check local database
  • win_group - fixed description setting for a group that doesn't exist when running in check_mode (#260).
  • win_dsc - Fix import errors when running against host that wasn't installed with the en-US locale - #83
  • win_state - Fixed the creationtime, lastaccesstime, and lastwritetime to report the time in UTC. This matches the stat module's behaviour and what many would expect for a epoch based timestamp - #240
  • win_updates - Fixed win_updates output to not cast to an integer to preserve original behaviour and issues with non integer values - #247
  • win_updates - fallback to run as SYSTEM if current user does not have batch logon rights - #253
  • win_updates - Added accept_list and reject_list to replace whitelist and blacklist
  • win_updates - Added failure_msg result to the return value of each update that gives a human readable error message if the update failed to download or install
  • win_updates - Added filtered_reasons that list all the reasons why the update has been filtered - #226
  • win_updates - Added progress logs to display on higher verbosities the download and install progress for each host
  • win_updates - Added the downloaded result to the return value of each update to indicate if an update was downloaded or not
  • win_updates - Added the category * that matches all categories
  • win_updates - Improve Windows Update HRESULT error messages
  • win_updates - Improve the details present in the log_path log entries for better monitoring
  • win_updates - Deprecated the filtered_reason return value for each filtered up in favour of filtered_reasons. This has been done to show all the reasons why an update was filtered and not just the first reason.
  • win_updates - Deprecated the use_scheduled_task option as it is no longer used.
  • win_updates - Deprecated the whitelist and blacklist options in favour of accept_list and reject_list respectively to conform to the new standards used in Ansible for these types of options.
  • win_reboot - Handle connection failures when getting the first boot time command
  • win_updates - Always return the failed_updates_count on a standard failure - #13
  • win_updates - Always use a scheduled task which should be less prone to random token errors when trying to connect to Windows Update - #193
  • win_updates - Attempt a reboot once when reboot=True is set and a failure occurred - #22
  • win_updates - Improve the reboot detection behaviour when reboot=True is set - #25
  • win_updates - Improve the reboot mechanism - #143
  • win_updates - Reboot the host when reboot=True if the first search result indicates a reboot is required - #49
  • win_reboot - Change the default test_command run after a reboot to wait for more services to start up before the plugin finished. This should better handle waiting until the logon screen appears rather than just when WinRM is first online.
  • win_reboot - Unreachable hosts can be ignored with ignore_errors: True, this ability will be removed in a future version. Use ignore_unreachable: True to ignore unreachable hosts instead. - #62
  • win_reboot - Removed shutdown_timeout and shutdown_timeout_sec which has not done anything since Ansible 2.5.
  • win_certificate_store - Make sure store_name: CertificateAuthority refers to the CA store for backwards compatibility - #216
  • win_reboot - Ensure documented return values are always returned even on a failure
  • win_reboot - Handle more connection failures during the reboot phases
  • win_reboot - User defined commands are run wrapped as a PowerShell command so they work on all shells - #36
  • win_certificate_store - Added functionality to open the store for a service account using store_type=service store_location=<service name>
  • win_user - Support specifying groups using the SecurityIdentifier - #153
  • setup - Return correct epoch integer value for the ansible_date_time.epoch_int fact
  • win_template - Fix changed internal API that win_template uses to work with devel again
  • win_user - Compare existing vs desired groups in a case insenstive way - #168
  • win_powershell - Run PowerShell scripts
  • setup - Added more virtualization types to the virtual facts based on the Linux setup module
  • win_package - fix msi detection when the msi product is already installed under a different version - #166
  • win_package - treat a missing creates_path when creates_version as though the package was not installed instead of a failure - #169
  • setup - add epoch_int option to date_time facts (ansible/ansible#72479).
  • win_environment - add variables dictionary option for setting many env vars at once (#113).
  • win_find - Change hidden: yes to return hidden files and normal files to match the behaviour with find - #130
  • win_service - Allow opening driver services using this module. Not all functionality is available for these types of services - #115
  • setup - handle PATH environment vars that contain blank entries like C:\Windows;;C:\Program Files - #78 (comment)
  • win_package - Do not fail when trying to set SYSTEM ACE on read only path - #142
  • win_service - Fix edge case bug when running against PowerShell 5.0 - #125
  • win_service - Fix opening services with limited rights - #118
  • win_service - Fix up account name lookup when dealing with netlogon formatted accounts (DOMAIN\account) - #156
  • win_service_info - Provide failure details in warning when failing to open service
  • win_copy - fix bug when copying a single file during a folder copy operation
  • win_hostname - Added diff mode support
  • win_hostname - Use new Ansible.Basic.AnsibleModule wrapper
  • win_user - Added check mode support
  • win_user - Added diff mode support
  • win_user - Added the home_directory option
  • win_user - Added the login_script option
  • win_user - Added the profile option
  • win_user - Use new Ansible.Basic.AnsibleModule wrapper for better invocation reporting
  • win_user_right - Improved error messages to show what right and account an operation failed on
  • win_user_right - Refactored to use Ansible.Basic.AnsibleModule for better module invocation reporting
  • win_find - module has been refactored to better match the behaviour of the find module. Here is what has changed:
    • When the directory specified by paths does not exist or is a file, it will no longer fail and will just warn the user
    • Junction points are no longer reported as islnk, use isjunction to properly report these files. This behaviour matches the win_stat module
    • Directories no longer return a size, this matches the stat and find behaviour and has been removed due to the difficulties in correctly reporting the size of a directory
  • win_user - Change idempotency checks for description to be case sensitive
  • win_user - Change idempotency checks for fullname to be case sensitive
  • win_domain_controller - the log_path option has been deprecated and will be removed in a later release. This was undocumented and only related to debugging information for module development.
  • win_package - the ensure alias for the state option has been deprecated and will be removed in a later release. Please use state instead of ensure.
  • win_package - the productid alias for the product_id option has been deprecated and will be removed in a later release. Please use product_id instead of productid.
  • win_package - the username and password options has been deprecated and will be removed in a later release. The same functionality can be done by using become: yes and become_flags: logon_type=new_credentials logon_flags=netcredentials_only on the task.
  • win_stat - removed the deprecated get_md55 option and md5 return value.

This is the first proper release of the ansible.windows collection on 2020-07-18. The changelog describes all changes made to the modules and plugins included in this collection since Ansible 2.9.0.

  • Checks for and resolves a condition where effective nameservers are obfucated, usually by malware. See https://www.welivesecurity.com/2016/06/02/crouching-tiger-hidden-dns/
  • Windows - add deprecation notice in the Windows setup module when running on Server 2008, 2008 R2, and Windows 7
  • setup - Added ansible_architecture2` to match the same format that setup on POSIX hosts return. Unlike ansible_architecture this value is not localized to the host's language settings.
  • setup - Implemented the gather_timeout option to restrict how long each subset can run for
  • setup - Refactor to speed up the time taken to run the module
  • setup.ps1 - parity with linux regarding missing local facts path (ansible/ansible#57974)
  • win_command, win_shell - Add the ability to override the console output encoding with output_encoding_override - ansible/ansible#54896
  • win_dns_client - Added support for setting IPv6 DNS servers - ansible/ansible#55962
  • win_domain_computer - Use new Ansible.Basic wrapper for better invocation reporting
  • win_domain_controller - Added the domain_log_path to control the directory for the new AD log files location - ansible/ansible#59348
  • win_find - Improve performance when scanning heavily nested directories and align behaviour to the find module.
  • win_package - Added proxy support for retrieving packages from a URL - ansible/ansible#43818
  • win_package - Added support for .appx, .msix, .appxbundle, and .msixbundle package - ansible/ansible#50765
  • win_package - Added support for .msp packages - ansible/ansible#22789
  • win_package - Added support for specifying the HTTP method when getting files from a URL - ansible/ansible#35377
  • win_package - Move across to Ansible.Basic for better invocation logging
  • win_package - Read uninstall strings from the QuietUninstallString if present to better support argumentless uninstalls of registry based packages.
  • win_package - Scan packages in the current user's registry hive - ansible/ansible#45950
  • win_regedit - Use new Ansible.Basic wrapper for better invocation reporting
  • win_share - Implement append parameter for access rules (ansible/ansible#59237)
  • windows setup - Added ansible_os_installation_type to denote the type of Windows installation the remote host is.
  • setup - Make sure ansible_date_time.epoch is seconds since EPOCH in UTC to mirror the POSIX facts. The ansible_date_time.epoch_local contains seconds since EPOCH in the local timezone for backwards compatibility
  • setup - Will now add the IPv6 scope on link local addresses for ansible_ip_addresses
  • setup - ansible_processor will now return the index before the other values to match the POSIX fact behaviour
  • win_find - No longer filters by size on directories, this feature had a lot of bugs, slowed down the module, and not a supported scenario with the find module.
  • win_domain_computer - Deprecated the undocumented log_path option. This option will be removed in a major release after 2022-07-01.
  • win_regedit - Deprecated using forward slashes as a path separator, use backslashes to avoid ambiguity between a forward slash in the key name or a forward slash as a path separator. This feature will be removed in a major release after 2021-07-01.
  • Fix detection of DHCP setting so that resetting to DHCP doesn't cause CHANGED status on every run. See ansible/ansible#66450
  • setup - Remove usage of WMI to speed up execution time and work with standard user accounts
  • win_acl - Fixed error when setting rights on directory for which inheritance from parent directory has been disabled.
  • win_dns_client - Only configure network adapters that are IP Enabled - ansible/ansible#58958
  • win_dsc - Always import module that contains DSC resource to ensure the required assemblies are loaded before parsing it - #66
  • win_find - Fix deduped files mistaken for directories (ansible/ansible#58511)
  • win_find - Get-FileStat used [int] instead of [int64] for file size calculations
  • win_package - Handle quoted and unquoted strings in the registry UninstallString value - ansible/ansible#40973
  • win_reboot - add boot_time_command parameter to override the default command used to determine whether or not a system was rebooted (ansible/ansible#58868)
  • win_share - Allow for root letters paths
  • win_uri win_get_url - Fix the behaviour of follow_redirects: safe to actual redirect on GET and HEAD requests - ansible/ansible#65556