community.windows.win_psrepository_copy 模块 – 将注册的 PSRepository 复制到其他用户配置文件
注意
此模块是 community.windows 集合 (版本 2.3.0) 的一部分。
如果您使用的是 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.windows
。
要在 playbook 中使用它,请指定:community.windows.win_psrepository_copy
。
community.windows 1.3.0 中的新增功能
概要
将指定的已注册 PSRepository 复制到系统上的其他用户配置文件。
可以包括
Default
配置文件,以便新用户从选定的存储库开始。可以包括像本地 SYSTEM 用户、LocalService、NetworkService 这样的特殊服务帐户。
参数
参数 |
注释 |
---|---|
要排除的存储库的名称。 名称被解释为通配符。 如果一个名称同时匹配包含 (name) 和排除,它将被排除。 |
|
要排除的用户配置文件的名称。 如果一个配置文件同时匹配包含 (profiles) 和exclude_profiles,它将被排除。 默认情况下,服务帐户配置文件被排除。 要显式排除任何内容,请设置 exclude_profiles=[]。 默认值: |
|
要复制的存储库的名称。 名称被解释为通配符。 默认值: |
|
要使用存储库填充的用户配置文件的名称。 名称被解释为通配符。 也可以匹配 无法以 默认值: |
|
源存储库 XML 文件的完整路径。 默认为当前用户注册的存储库。 默认值: |
注意
注意
不需要
PowerShellGet
模块或任何其他外部依赖项。用户配置文件从注册表加载。如果给定的路径不存在(例如,如果配置文件目录被删除),它将被静默跳过。
如果设置服务帐户配置文件,您可能需要
become=yes
。请参阅示例。当 PowerShellGet 首次设置存储库文件时,它总是添加
PSGallery
,但是如果此模块创建一个新的存储库文件并且您选择的存储库不包含PSGallery
,它将不会在您的目标中。在 profiles(和 exclude_profiles)中搜索的值是配置文件名称,不一定是用户名。当配置文件路径被故意更改或当域用户名与来自本地计算机或另一个域的用户冲突时,可能会发生这种情况。在这种情况下,第二个或多个用户可能会附加域名或本地计算机名称,例如
JoeUser.Contoso
与JoeUser
。如果您打算过滤用户配置文件,请确保您的过滤器捕获正确的名称。在服务帐户的情况下,特定配置文件是
systemprofile
(对于SYSTEM
用户),以及LocalService
或NetworkService
,分别对应这些帐户。具有凭据(需要身份验证)或代理信息的存储库将复制,但凭据和代理详细信息不会复制,因为该信息不会与存储库一起存储。
另请参阅
另请参阅
- community.windows.win_psrepository
添加、删除或更新 Windows PowerShell 存储库。
- community.windows.win_psrepository_info
收集有关 PSRepositories 的信息。
示例
- name: Copy the current user's PSRepositories to all non-service account profiles and Default profile
community.windows.win_psrepository_copy:
- name: Copy the current user's PSRepositories to all profiles and Default profile
community.windows.win_psrepository_copy:
exclude_profiles: []
- name: Copy the current user's PSRepositories to all profiles beginning with A, B, or C
community.windows.win_psrepository_copy:
profiles:
- 'A*'
- 'B*'
- 'C*'
- name: Copy the current user's PSRepositories to all profiles beginning B except Brian and Brianna
community.windows.win_psrepository_copy:
profiles: 'B*'
exclude_profiles:
- Brian
- Brianna
- name: Copy a specific set of repositories to profiles beginning with 'svc' with exceptions
community.windows.win_psrepository_copy:
name:
- CompanyRepo1
- CompanyRepo2
- PSGallery
profiles: 'svc*'
exclude_profiles: 'svc-restricted'
- name: Copy repos matching a pattern with exceptions
community.windows.win_psrepository_copy:
name: 'CompanyRepo*'
exclude: 'CompanyRepo*-Beta'
- name: Copy repositories from a custom XML file on the target host
community.windows.win_psrepository_copy:
source: 'C:\data\CustomRepostories.xml'
### A sample workflow of seeding a system with a custom repository
# A playbook that does initial host setup or builds system images
- name: Register custom respository
community.windows.win_psrepository:
name: PrivateRepo
source_location: https://example.com/nuget/feed/etc
installation_policy: trusted
- name: Ensure all current and new users have this repository registered
community.windows.win_psrepository_copy:
name: PrivateRepo
# In another playbook, run by other users (who may have been created later)
- name: Install a module
community.windows.win_psmodule:
name: CompanyModule
repository: PrivateRepo
state: present