On this page
community.windows.win_psmodule – Adds or removes a Windows PowerShell module
Note
This plugin is part of the community.windows collection (version 1.7.0).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install community.windows.
To use it in a playbook, specify: community.windows.win_psmodule.
Synopsis
- This module helps to install Windows PowerShell modules and register custom modules repository on Windows-based systems.
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| allow_clobber
        
        boolean
         | 
      
       
  | 
      
        
        If  yes allows install modules that contains commands those have the same names as commands that already exists.
        | 
     
| allow_prerelease
        
        boolean
         | 
      
       
  | 
      
        
        If  
       yes installs modules marked as prereleases.
       
        It doesn't work with the parameters  
       minimum_version and/or maximum_version.
       
        It doesn't work with the  state set to absent.
        | 
     
| maximum_version
        
        string
         | 
      
        
        The maximum version of the PowerShell module that has to be installed.
         | 
     |
| minimum_version
        
        string
         | 
      
        
        The minimum version of the PowerShell module that has to be installed.
         | 
     |
| name
        
        string / required
         | 
      
        
        Name of the Windows PowerShell module that has to be installed.
         | 
     |
| repository
        
        string
         | 
      
        
        Name of the custom repository to use.
         | 
     |
| required_version
        
        string
         | 
      
        
        The exact version of the PowerShell module that has to be installed.
         | 
     |
| skip_publisher_check
        
        boolean
         | 
      
       
  | 
      
        
        If  yes, allows you to install a different version of a module that already exists on your computer in the case when a different one is not digitally signed by a trusted publisher and the newest existing module is digitally signed by a trusted publisher.
        | 
     
| state
        
        string
         | 
      
       
  | 
      
        
        If  
       present a new module is installed.
       
        If  
       absent a module is removed.
       
        If  latest a module is updated to the newest version.
        | 
     
| url
        
        string
         | 
      
        
        URL of the custom repository to register.
        
       
        DEPRECATED, will be removed in a major release after  2021-07-01, please use the community.windows.win_psrepository module instead.
        | 
     
Notes
Note
- PowerShell modules needed - PowerShellGet >= 1.6.0 - PackageManagement >= 1.1.7
 - PowerShell package provider needed - NuGet >= 2.8.5.201
 - On PowerShell 5.x required modules and a package provider will be updated under the first run of the win_psmodule module.
 - On PowerShell 3.x and 4.x you have to install them before using the win_psmodule.
 
See Also
See also
- community.windows.win_psrepository
 - 
     
The official documentation on the community.windows.win_psrepository module.
 
Examples
---
- name: Add a PowerShell module
  community.windows.win_psmodule:
    name: PowerShellModule
    state: present
- name: Add an exact version of PowerShell module
  community.windows.win_psmodule:
    name: PowerShellModule
    required_version: "4.0.2"
    state: present
- name: Install or update an existing PowerShell module to the newest version
  community.windows.win_psmodule:
    name: PowerShellModule
    state: latest
- name: Install newer version of built-in Windows module
  community.windows.win_psmodule:
    name: Pester
    skip_publisher_check: yes
    state: present
- name: Add a PowerShell module and register a repository
  community.windows.win_psmodule:
    name: MyCustomModule
    repository: MyRepository
    state: present
- name: Add a PowerShell module from a specific repository
  community.windows.win_psmodule:
    name: PowerShellModule
    repository: MyRepository
    state: present
- name: Remove a PowerShell module
  community.windows.win_psmodule:
    name: PowerShellModule
    state: absent
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| nuget_changed
        
        boolean
         | 
      always | 
        
        True when Nuget package provider is installed.
         Sample:
        
       
        True
         | 
     
| output
        
        string
         | 
      always | 
        
        A message describing the task result.
         Sample:
        
       
        Module PowerShellCookbook installed
         | 
     
| repository_changed
        
        boolean
         | 
      always | 
        
        True when a custom repository is installed or removed.
         Sample:
        
       
        True
         | 
     
Authors
- Wojciech Sciesinski (@it-praktyk)
 - Daniele Lazzari (@dlazz)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/community/windows/win_psmodule_module.html