Private/Provider/Invoke-ProviderGetInfo.ps1
|
function Invoke-ProviderGetInfo { param( [string]$Name, [string]$Repository = 'PSGallery' ) $provider = Get-ModuleProvider try { Import-ActiveProvider -Provider $provider $raw = if ($provider -eq 'PSResourceGet') { Find-PSResource -Name $Name -Repository $Repository -Type Module -ErrorAction Stop | Sort-Object -Property Version -Descending | Select-Object -First 1 } else { Find-Module -Name $Name -Repository $Repository -ErrorAction Stop } if (-not $raw) { Write-Error "Module '$Name' not found in repository '$Repository'." return $null } return $raw | ConvertTo-ModuleInfo -ProviderType $provider } catch { Write-Error "Failed to retrieve info for '$Name': $_" return $null } } |