community.windows.win_psrepository 模块 – 添加、删除或更新 Windows PowerShell 存储库。
注意
此模块是 community.windows 集合(版本 2.3.0)的一部分。
如果您使用的是 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install community.windows。您需要其他要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定:community.windows.win_psrepository。
概要
- 此模块有助于在基于 Windows 的系统上添加、删除和更新 Windows PowerShell 存储库。 
要求
在执行此模块的主机上需要以下要求。
- PowerShell 模块 PowerShellGet >= 1.6.0 
- PowerShell 模块 PackageManagement >= 1.1.7 
- PowerShell 包提供程序 - NuGet>= 2.8.5.201
参数
| 参数 | 注释 | 
|---|---|
| 如果  当 *state=absent* 时,*force* 没有效果。有关其他上下文,请参阅备注。 选择 
 | |
| 设置存储库的  在创建新存储库或与 *force=True* 一起使用时,将默认为  选择 
 | |
| 要使用的存储库的名称。 | |
| 用于验证私有存储库的密码。 | |
| 用于存储库的代理。 | |
| 指定将模块发布到此存储库的 URI。 | |
| 指定将脚本发布到此存储库的 URI。 | |
| 指定从该存储库发现和安装脚本的 URI。 | |
| 指定从该存储库发现和安装模块的 URI。 URI 可以是 NuGet 服务器源(最常见的情况)、HTTP、HTTPS、FTP 或文件位置。 在注册新存储库或使用 *force=True* 时是必需的。 | |
| 如果  如果  选择 
 | |
| 用于验证私有存储库的用户名。 | 
备注
注意
- 请参阅有关如何更新 NuGet 包提供程序的示例。 
- 您不能使用 - win_psrepository重新注册(添加)已删除的 PSGallery,请改用命令- Register-PSRepository -Default。
- 在注册或设置 *source_location* 时,PowerShellGet 将根据内部规则转换位置,例如遵循 HTTP/S 重定向。 
- 这可能会导致每次运行都出现 - CHANGED状态,因为这些值永远不会匹配,并且每次都会被“重置”。
- 要解决此问题,请使用 community.windows.win_psrepository_info 或 - Get-PSRepository查找真实的目标值,并更新 playbook 以匹配。
- 更新现有存储库时,除 *name* 之外的所有选项都是可选的。仅更新提供的选项。使用 *force=True* 完全匹配。 
- *script_location*、*publish_location* 和 *script_publish_location* 是可选的,但一旦设置,只能使用 *force=True* 清除。 
- 如果存在任何更改,使用 *force=True* 将取消注册并重新注册存储库,以便它与指定的选项完全匹配。 
另请参阅
另请参阅
- community.windows.win_psrepository_info
- 收集有关 PSRepositories 的信息。 
- community.windows.win_psmodule
- 添加或删除 Windows PowerShell 模块。 
示例
---
- 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
- name: Register a PowerShell repository with credentials
  community.windows.win_psrepository:
    name: MyRepository
    source_location: https://myrepo.com
    state: present
    username: repo_username
    password: repo_password
