community.windows.win_psmodule_info – Gather information about PowerShell Modules
Note
This plugin is part of the community.windows collection (version 1.2.0).
To install it use: ansible-galaxy collection install community.windows.
To use it in a playbook, specify: community.windows.win_psmodule_info.
Synopsis
- Gather information about PowerShell Modules including information from PowerShellGet.
Requirements
The below requirements are needed on the host that executes this module.
- 
PowerShellGetmodule
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| name  string  | Default: "*" | The name of the module to retrieve. Supports any wildcard pattern supported by  Get-Module.If omitted then all modules will returned. | 
| repository  string  | The name of the PSRepository the modules were installed from. This acts as a filter against the modules that would be returned based on the name option. Modules that were not installed from a repository will not be returned if this option is set. Only modules installed from a registered repository will be returned. If the repository was re-registered after module installation with a new  SourceLocation, this will not match. | 
See Also
See also
- community.windows.win_psrepository_info
- 
The official documentation on the community.windows.win_psrepository_info module. 
- community.windows.win_psscript_info
- 
The official documentation on the community.windows.win_psscript_info module. 
Examples
- name: Get info about all modules on the system
  community.windows.win_psmodule_info:
- name: Get info about the ScheduledTasks module
  community.windows.win_psmodule_info:
    name: ScheduledTasks
- name: Get info about networking modules
  community.windows.win_psmodule_info:
    name: Net*
- name: Get info about all modules installed from the PSGallery repository
  community.windows.win_psmodule_info:
    repository: PSGallery
  register: gallery_modules
- name: Update all modules retrieved from above example
  community.windows.win_psmodule:
    name: "{{ item }}"
    state: latest
  loop: "{{ gallery_modules.modules | map(attribute=name) }}"
- name: Get info about all modules on the system
  community.windows.win_psmodule_info:
  register: all_modules
- name: Find modules installed from a repository that isn't registered now
  set_fact:
    missing_repository_modules: "{{
      all_modules
      | json_query('modules[?repository!=null && repository==repository_source_location].{name: name, version: version, repository: repository}')
      | list
    }}"
- debug:
    var: missing_repository_modules
   Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | ||
|---|---|---|---|---|
| modules  list / elements=dictionary  | always | A list of modules (or an empty list is there are none). | ||
| access_mode  string  | success | The module's access mode. See https://docs.microsoft.com/en-us/dotnet/api/system.management.automation.moduleaccessmode
 Sample: ReadWrite | ||
| author  string  | success | The author of the module. Sample: Warren Frame | ||
| clr_version  string  | success | The CLR version of the module. Sample: 4.0 | ||
| company_name  string  | success | The company name of the module. Sample: Microsoft Corporation | ||
| compatible_ps_editions  list / elements=string  | success | The PS Editions the module is compatible with. Sample: ['Desktop'] | ||
| copyright  string  | success | The copyright of the module. Sample: (c) 2016 Warren F. All rights reserved. | ||
| dependencies  list / elements=string  | success | The modules required by this module. | ||
| description  string  | success | The description of the module. Sample: Provides cmdlets to work with local users and local groups | ||
| dot_net_framework_version  string  | success | The .Net Framework version of the module. Sample: 4.6.1 | ||
| exported_aliases  list / elements=string  | success | The aliases exported from the module. Sample: ['glu', 'slu'] | ||
| exported_cmdlets  list / elements=string  | success | The cmdlets exported from the module. Sample: ['Get-Certificate', 'Get-PfxData'] | ||
| exported_commands  list / elements=string  | success | All of the commands exported from the module. Includes functions, cmdlets, and aliases. Sample: ['glu', 'Get-LocalUser'] | ||
| exported_dsc_resources  list / elements=string  | success | The DSC resources exported from the module. Sample: ['xWebAppPool', 'xWebSite'] | ||
| exported_format_files  list / elements=path  | success | The format files exported from the module. Sample: ['C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules\\DnsClient\\DnsCmdlets.Format.ps1xml', 'C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules\\DnsClient\\DnsConfig.Format.ps1xml', 'C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules\\DnsClient\\DnsClientPSProvider.Format.ps1xml'] | ||
| exported_functions  list / elements=string  | success | The functions exported from the module. Sample: ['New-VirtualDisk', 'New-Volume'] | ||
| exported_type_files  list / elements=path  | success | The type files exported from the module. Sample: ['C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules\\DnsClient\\DnsCmdlets.Types.ps1xml', 'C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules\\DnsClient\\DnsConfig.Types.ps1xml', 'C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules\\DnsClient\\DnsClientPSProvider.Types.ps1xml'] | ||
| exported_variables  list / elements=string  | success | The variables exported from the module. Sample: ['GitPromptScriptBlock'] | ||
| exported_workflows  list / elements=string  | success | The workflows exported from the module. | ||
| file_list  list / elements=path  | success | The files included in the module. Sample: ['C:\\Program Files\\WindowsPowerShell\\Modules\\PowerShellGet\\1.6.0\\PSModule.psm1', 'C:\\Program Files\\WindowsPowerShell\\Modules\\PowerShellGet\\1.6.0\\PSGet.Format.ps1xml', 'C:\\Program Files\\WindowsPowerShell\\Modules\\PowerShellGet\\1.6.0\\PSGet.Resource.psd1'] | ||
| guid  string  | success | The GUID of the module. Sample: 74c9fd30-734b-4c89-a8ae-7727ad21d1d5 | ||
| help_info_uri  string  | success | The help info address of the module. Sample: https://go.microsoft.com/fwlink/?linkid=390823 | ||
| icon_uri  string  | success | The address of the icon of the module. Sample: https://raw.githubusercontent.com/powershell/psscriptanalyzer/master/logo.png | ||
| installed_date  string  | success | The date the module was installed. Sample: 2018-02-14T17:55:34.9620740-05:00 | ||
| installed_location  string  | success | The path where the module is installed. This should have the same value as  module_basebut only has a value when the module was installed via PowerShellGet.Sample: C:\Program Files\WindowsPowerShell\Modules\posh-git\0.7.1 | ||
| license_uri  string  | success | The address of the license for the module. Sample: https://github.com/PowerShell/xPendingReboot/blob/master/LICENSE | ||
| log_pipeline_execution_details  boolean  | success | Determines whether pipeline execution detail events should be logged. | ||
| module_base  string  | success | The path that contains the module's files. Sample: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\PKI | ||
| module_list  list / elements=dictionary  | success | A list of modules packaged with this module. This value is not often returned and the modules are not automatically processed. | ||
| guid  string  | success | The GUID of the module. Sample: 82fdb72c-ecc5-4dfd-b9d5-83cf6eb9067f | ||
| maximum_version  string  | success | The maximum version of the module. Sample: 2.9 | ||
| name  string  | success | The name of the module. This may also be a path to the module file. Sample: .\WindowsUpdateLog.psm1 | ||
| required_version  string  | success | The exact version of the module required. Sample: 3.1.4 | ||
| version  string  | success | The minimum version of the module. Sample: 2.0 | ||
| module_type  string  | success | The module's type. See https://docs.microsoft.com/en-us/dotnet/api/system.management.automation.moduletype
 Sample: Script | ||
| name  string  | success | The name of the module. Sample: PSReadLine | ||
| nested_modules  list / elements=dictionary  | success | A list of modules nested with and loaded into the scope of this module. This list contains full module objects, so each item can have all of the properties listed here, including  nested_modules. | ||
| package_management_provider  string  | success | If the module was installed from PowerShellGet, this is the package management provider used. Sample: NuGet | ||
| path  string  | success | The path to the module. Sample: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\PKI\PKI.psd1 | ||
| power_shell_host_name  string  | success | The name of the PowerShell host that the module requires. Sample: Windows PowerShell ISE Host | ||
| power_shell_host_version  string  | success | The version of the PowerShell host that the module requires. Sample: 1.1 | ||
| power_shell_version  string  | success | The minimum version of PowerShell that the module requires. Sample: 5.1 | ||
| prefix  string  | success | The default prefix applied to  Verb-Nouncommands exported from the module, resulting inVerb-PrefixNounnames. | ||
| private_data  dictionary  | success | Arbitrary private data used by the module. This is typically defined in the module manifest. This module limits the depth of the data returned for module types other than  ScriptandManifest.The  PSDatais commonly supplied and provides metadata for PowerShellGet but those fields are surfaced in top-level properties as well.Sample: {'PSData': {'LicenseUri': 'https://example.com/module/LICENSE', 'ProjectUri': 'https://example.com/module/', 'ReleaseNotes': 'v2 - Fixed some bugs\nv1 - First release\n', 'Tags': ['networking', 'serialization']}} | ||
| procoessor_architecture  string  | success | The module's processor architecture. See https://docs.microsoft.com/en-us/dotnet/api/system.reflection.processorarchitecture
 Sample: Amd64 | ||
| project_uri  string  | success | The address of the module's project. Sample: https://github.com/psake/psake | ||
| published_date  string  | success | The date the module was published. Sample: 2017-03-15T04:18:09.0000000 | ||
| release_notes  string  | success | The module's release notes. This is a free text field and no specific format should be assumed. Sample: ## 1.4.6 - Update `HelpInfoUri` to point to the latest content ## 1.4.5 - Bug fix for deadlock when getting parameters in an event ## 1.4.4 - Bug fix when installing modules from private feeds | ||
| repository  string  | success | The PSRepository where the module was installed from. This value is not historical. It depends on the PSRepositories that are registered now for the current user. The  repository_source_locationmust match the current source location of a registered repository to get a repository name.If there is no match, then this value will match  repository_source_location.Sample: PSGallery | ||
| repository_source_location  string  | success | The source location of the repository where the module was installed from. Sample: https://www.powershellgallery.com/api/v2 | ||
| required_assemblies  string  | success | A list of assemblies that the module requires. The values may be a simple name or a full path. Sample: ['Microsoft.Management.Infrastructure.CimCmdlets.dll', 'Microsoft.Management.Infrastructure.Dll'] | ||
| required_modules  list / elements=dictionary  | success | A list of modules required by this module. This list contains full module objects, so each item can have all of the properties listed here, including  required_modules.These module objects may not contain full information however, so you may see different results than if you had directly queried the module. | ||
| root_module  string  | success | The root module as defined in the manifest. This may be a module name, filename, or full path. Sample: WindowsErrorReporting.psm1 | ||
| scripts  list / elements=string  | success | A list of scripts ( .ps1files) that run in the caller's session state when the module is imported.This value comes from the  ScriptsToProcessfield in the module's manifest.Sample: ['PrepareEnvironment.ps1', 'InitializeData.ps1'] | ||
| tags  list / elements=string  | success | The tags defined in the module's  PSDatametadata.Sample: ['networking', 'serialization', 'git', 'dsc'] | ||
| updated_date  string  | success | The date the module was last updated. Sample: 2019-12-31T09:20:02.0000000 | ||
| version  string  | success | The module version. Sample: 1.2.3 | ||
Authors
- Brian Scholer (@briantist)
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.10/collections/community/windows/win_psmodule_info_module.html