Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

[OTTER] register PSGallery using Ensure-PsRepository failed



  • Hi
    We are using Ensure-PsRepository to remove PSGallery from our server (at least for inedo agent).
    This is working fine.
    Role : os-w-base

        Ensure-PsRepository
        (
            Exists: false,
            InstallationPolicy: Untrusted,
            SourceLocation: https://www.powershellgallery.com/api/v2,
            Name: PSGallery
        );
    

    As there is a mess with PSGallery some Powershell modules cannot be installed thru Proget (used as proxy for PSGallery).

    So, I decided to reconfigure PSGallery using Ensure-PsRepository to be able to install theses modules.

    Role : os-w-base

        Ensure-PsRepository
        (
            Exists: true,
            InstallationPolicy: Untrusted,
            SourceLocation: https://www.powershellgallery.com/api/v2,
            Name: PSGallery
        );
    

    I try a remediation on a server (w2022), and the result is killing me 😵
    04d58166-0ecb-4e27-9f99-2fa7c25e23ae-image.png

    is it possible you update the Ensure-PsRepository function ?

    Cheers
    PhilippeC.


  • inedo-engineer

    Hi @philippe-camelio_3885,

    We didn't change the operation that I can tell, but I researched/tested it using the CmdLets that Otter invokes: Register-PSRepository and Unregister-PSRepository .

    Here's what I discovered:

    • Unregister-PSRepository -Name PSGallery is fine
    • Register-PSRepository -Name PSGallery -Source ... is not allowed at all
    • Register-PSRepository -Default -Source ... is also not allowed
    • Register-PSRepository -Default is apparently the only allowed option

    You can see the Unregister/Register approach that we use in PsRepositoryConfiguration.cs#L187. So that's why you get this error....

    How about doing this as a work-around?

    {
        Ensure-PsRepository
        (
            Exists: false,
            Name: PSGallery
        );
        PSExec Register-PSRepository -Default;
    }
    

    That should have the same effect of restoring to the default values...

    Thanks,
    Alana

    Cheers,
    Alana



  • Hi @atripp

    Thanks you for the tips

    Beste reagrds
    PhilippeC.


Log in to reply
 

Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation