On this page
community.windows.win_psrepository – Adds, removes or updates a Windows PowerShell repository.
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_psrepository.
Synopsis
- This module helps to add, remove and update Windows PowerShell repository on Windows-based systems.
 
Requirements
The below requirements are needed on the host that executes this module.
- PowerShell Module PowerShellGet >= 1.6.0
 - PowerShell Module PackageManagement >= 1.1.7
 - PowerShell Package Provider 
NuGet>= 2.8.5.201 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| force
        
        boolean
         | 
      
       
  | 
      
        
        If  
       True, any differences from the desired state will result in the repository being unregistered, and then re-registered.
       
        force has no effect when state=absent. See notes for additional context.
         | 
     
| installation_policy
        
        string
         | 
      
       
  | 
      
        
        Sets the  
       InstallationPolicy of a repository.
       
        Will default to  trusted when creating a new repository or used with force=True.
        | 
     
| name
        
        string / required
         | 
      
        
        Name of the repository to work with.
         | 
     |
| proxy
        
        string
        
       
        added in 1.1.0 of community.windows
         | 
      
        
        Proxy to use for repository.
         | 
     |
| publish_location
        
        string
         | 
      
        
        Specifies the URI for publishing modules to this repository.
         | 
     |
| script_publish_location
        
        string
         | 
      
        
        Specifies the URI for publishing scripts to this repository.
         | 
     |
| script_source_location
        
        string
         | 
      
        
        Specifies the URI for discovering and installing scripts from this repository.
         | 
     |
| source_location
        
        string
         | 
      
        
        Specifies the URI for discovering and installing modules from this repository.
        
       
        A URI can be a NuGet server feed (most common situation), HTTP, HTTPS, FTP or file location.
        
       
        Required when registering a new repository or using force=True.
        
       aliases: source  | 
     |
| state
        
        string
         | 
      
       
  | 
      
        
        If  
       present a new repository is added or updated.
       
        If  absent a repository is removed.
        | 
     
Notes
Note
- See the examples on how to update the NuGet package provider.
 - You can not use 
win_psrepositoryto re-register (add) removed PSGallery, use the commandRegister-PSRepository -Defaultinstead. - When registering or setting source_location, PowerShellGet will transform the location according to internal rules, such as following HTTP/S redirects.
 - This can result in a 
CHANGEDstatus on each run as the values will never match and will be “reset” each time. - To work around that, find the true destination value with community.windows.win_psrepository_info or 
Get-PSRepositoryand update the playbook to match. - When updating an existing repository, all options except name are optional. Only supplied options will be updated. Use force=True to exactly match.
 - script_location, publish_location, and script_publish_location are optional but once set can only be cleared with force=True.
 - Using force=True will unregister and re-register the repository if there are any changes, so that it exactly matches the options specified.
 
See Also
See also
- community.windows.win_psrepository_info
 - 
     
The official documentation on the community.windows.win_psrepository_info module.
 - community.windows.win_psmodule
 - 
     
The official documentation on the community.windows.win_psmodule module.
 
Examples
---
- name: Ensure the required NuGet package provider version is installed
  ansible.windows.win_shell: Find-PackageProvider -Name Nuget -ForceBootstrap -IncludeDependencies -Force
- name: Register a PowerShell repository
  community.windows.win_psrepository:
    name: MyRepository
    source_location: https://myrepo.com
    state: present
- name: Remove a PowerShell repository
  community.windows.win_psrepository:
    name: MyRepository
    state: absent
- name: Add an untrusted repository
  community.windows.win_psrepository:
    name: MyRepository
    installation_policy: untrusted
- name: Add a repository with different locations
  community.windows.win_psrepository:
    name: NewRepo
    source_location: https://myrepo.example/module/feed
    script_source_location: https://myrepo.example/script/feed
    publish_location: https://myrepo.example/api/module/publish
    script_publish_location: https://myrepo.example/api/script/publish
- name: Update only two properties on the above repository
  community.windows.win_psrepository:
    name: NewRepo
    installation_policy: untrusted
    script_publish_location: https://scriptprocessor.example/publish
- name: Clear script locations from the above repository by re-registering it
  community.windows.win_psrepository:
    name: NewRepo
    installation_policy: untrusted
    source_location: https://myrepo.example/module/feed
    publish_location: https://myrepo.example/api/module/publish
    force: True
  Authors
- Wojciech Sciesinski (@it-praktyk)
 - Brian Scholer (@briantist)
 
© 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_psrepository_module.html