Search code examples
xmllinuxpowershell.net-corexml-rpc

powershell core error: The specified module 'RPC-Client' was not loaded


How do I find out more information about xml-rpc for powershell?

PS /home/nicholas> 
PS /home/nicholas> Update-Help                     
PS /home/nicholas> 
PS /home/nicholas> Get-Help Send-XmlRpcRequest     
Get-Help: Get-Help could not find Send-XmlRpcRequest in a help file in this session. To download updated help topics type: "Update-Help". To get help online, search for the help topic in the TechNet library at https://go.microsoft.com/fwlink/?LinkID=107116.       PS /home/nicholas>                                                                                                                  PS /home/nicholas> Get-Host | Select-Object Version                                                                                                                                                                                                                     Version                                                                                                                             -------                                                                                                                             
7.1.0

PS /home/nicholas> 
PS /home/nicholas> exit
nicholas@mordor:~$ 
nicholas@mordor:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.1 LTS
Release:    20.04
Codename:   focal
nicholas@mordor:~$ 

As I ran Update-help I'd expect to find more information.

perhaps add a module?

I tried:

nicholas@mordor:~/powershell$ 
nicholas@mordor:~/powershell$ pwsh hello.ps1 
Import-Module: /home/nicholas/powershell/hello.ps1:1
Line |
   1 |  import-module RPC-Client
     |  ~~~~~~~~~~~~~~~~~~~~~~~~
     | The specified module 'RPC-Client' was not loaded because no valid module file was found in any module directory.

hello
nicholas@mordor:~/powershell$ 
nicholas@mordor:~/powershell$ cat hello.ps1 
import-module RPC-Client 


"hello"
nicholas@mordor:~/powershell$ 

How do I add that into powershell core?

I tried to install as:

PS /home/nicholas/powershell> 
PS /home/nicholas/powershell> Find-Module -Name Xml

Version              Name                                Repository           Description
-------              ----                                ----------           -----------
7.0                  Xml                                 PSGallery            A module providing converters for HTML to XML, vario…

PS /home/nicholas/powershell> 
PS /home/nicholas/powershell> Find-Module -Name Rpc
Find-Package: /snap/powershell/149/opt/powershell/Modules/PowerShellGet/PSModule.psm1:8879
Line |
8879 |          PackageManagement\Find-Package @PSBoundParameters | Microsoft …
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | No match was found for the specified search criteria and module name 'Rpc'. Try Get-PSRepository to see all
     | available registered module repositories.

PS /home/nicholas/powershell> 
PS /home/nicholas/powershell> Find-Module -Name foo
Find-Package: /snap/powershell/149/opt/powershell/Modules/PowerShellGet/PSModule.psm1:8879
Line |
8879 |          PackageManagement\Find-Package @PSBoundParameters | Microsoft …
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | No match was found for the specified search criteria and module name 'foo'. Try Get-PSRepository to see all
     | available registered module repositories.

PS /home/nicholas/powershell> Find-Module -Name Rpc-Client
Find-Package: /snap/powershell/149/opt/powershell/Modules/PowerShellGet/PSModule.psm1:8879
Line |
8879 |          PackageManagement\Find-Package @PSBoundParameters | Microsoft …
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | No match was found for the specified search criteria and module name 'Rpc-Client'. Try Get-PSRepository to see all
     | available registered module repositories.

PS /home/nicholas/powershell> 

but perhaps need to "download" it first? Something like:

sudo powershell -Command {Install-Module -Name AzureRM.Netcore}

or at least along those lines.


Solution

  • There is no XML-RPC functionality built into PowerShell.

    Providing such functionality therefore requires third-party code.

    In your case, it seems your script requires the XmlRpc module, available from the PowerShell Gallery here (which means you can install it with Install-Module XmlRpc).

    However, this module was last updated more than 5 years ago, predating PowerShell's cross-platform edition, PowerShell (Core), so you'll have to find out yourself if it works on a Unix-like platform such as Ubuntu.