PowerShell / PSResourceGet

PSResourceGet is the package manager for PowerShell
https://www.powershellgallery.com/packages/Microsoft.PowerShell.PSResourceGet
MIT License
483 stars 92 forks source link

Return relevant info when a module is deprecated or replaced/superseded #1537

Open o-l-a-v opened 7 months ago

o-l-a-v commented 7 months ago

Summary of the new feature / enhancement

Find-PSResource should return info telling us if a module is replaced, superseded, deprecated and similar.

Background

I don't know where this has to be solved:

The problem still remains: Some modules are deprecated or replaced/superseded, with no way of telling.

To be sure I got all relevant modules I do (simplified) Find-Module -Name '<parent>.*', but for Az.* it will return replaced/deprecated modules too.

Example of superseded modules you can't tell is superseded with Find-PSResource

Was Became Source
AzureRM, AzureRM.* Az, Az.* src
Az.Insights Az.Monitor src
Az.Profile Az.Accounts src
ThreadJob Microsoft.PowerShell.ThreadJob src

Example output with Microsoft.PowerShell.PSResourceGet v1.0.1

Input

Find-PSResource -Repository 'PSGallery' -Type 'Module' -Name 'Az.Profile' | ConvertTo-Json | Set-Clipboard

Output

Click to expand ```json { "AdditionalMetadata": { "NormalizedVersion": "0.7.0" }, "Author": "Microsoft Corporation", "CompanyName": "Microsoft Corporation", "Copyright": "Microsoft Corporation. All rights reserved.", "Dependencies": [], "Description": "Microsoft Azure PowerShell - Profile credential management cmdlets for Azure Resource Manager in PowerShell and PowerShell Core", "IconUri": null, "Includes": { "Cmdlet": [ "Disable-AzDataCollection", "Disable-AzContextAutosave", "Enable-AzDataCollection", "Enable-AzContextAutosave", "Remove-AzEnvironment", "Get-AzEnvironment", "Set-AzEnvironment", "Add-AzEnvironment", "Get-AzSubscription", "Connect-AzAccount", "Get-AzContext", "Set-AzContext", "Import-AzContext", "Save-AzContext", "Get-AzTenant", "Send-Feedback", "Resolve-AzError", "Select-AzContext", "Rename-AzContext", "Remove-AzContext", "Clear-AzContext", "Disconnect-AzAccount", "Get-AzContextAutosaveSetting", "Set-AzDefault", "Get-AzDefault", "Clear-AzDefault", "Enable-AzureRmAlias", "Disable-AzureRmAlias", "Uninstall-AzureRm" ], "Command": [ "Disable-AzDataCollection", "Disable-AzContextAutosave", "Enable-AzDataCollection", "Enable-AzContextAutosave", "Remove-AzEnvironment", "Get-AzEnvironment", "Set-AzEnvironment", "Add-AzEnvironment", "Get-AzSubscription", "Connect-AzAccount", "Get-AzContext", "Set-AzContext", "Import-AzContext", "Save-AzContext", "Get-AzTenant", "Send-Feedback", "Resolve-AzError", "Select-AzContext", "Rename-AzContext", "Remove-AzContext", "Clear-AzContext", "Disconnect-AzAccount", "Get-AzContextAutosaveSetting", "Set-AzDefault", "Get-AzDefault", "Clear-AzDefault", "Enable-AzureRmAlias", "Disable-AzureRmAlias", "Uninstall-AzureRm" ], "DscResource": [], "Function": null, "RoleCapability": null, "Workflow": null }, "InstalledDate": null, "InstalledLocation": "", "IsPrerelease": false, "LicenseUri": "https://aka.ms/azps-license", "Name": "Az.Profile", "Prerelease": "", "ProjectUri": "https://github.com/Azure/azure-powershell", "PublishedDate": "2018-12-04T18:35:28.683", "ReleaseNotes": "Update release with latest service features and serialization fixes", "Repository": "PSGallery", "RepositorySourceLocation": "https://www.powershellgallery.com/api/v2", "Tags": [ "Azure", "ResourceManager", "ARM", "Profile", "Authentication", "Environment", "Subscription", "PSModule", "PSEdition_Core", "PSEdition_Desktop", "PSCmdlet_Disable-AzDataCollection", "PSCommand_Disable-AzDataCollection", "PSCmdlet_Disable-AzContextAutosave", "PSCommand_Disable-AzContextAutosave", "PSCmdlet_Enable-AzDataCollection", "PSCommand_Enable-AzDataCollection", "PSCmdlet_Enable-AzContextAutosave", "PSCommand_Enable-AzContextAutosave", "PSCmdlet_Remove-AzEnvironment", "PSCommand_Remove-AzEnvironment", "PSCmdlet_Get-AzEnvironment", "PSCommand_Get-AzEnvironment", "PSCmdlet_Set-AzEnvironment", "PSCommand_Set-AzEnvironment", "PSCmdlet_Add-AzEnvironment", "PSCommand_Add-AzEnvironment", "PSCmdlet_Get-AzSubscription", "PSCommand_Get-AzSubscription", "PSCmdlet_Connect-AzAccount", "PSCommand_Connect-AzAccount", "PSCmdlet_Get-AzContext", "PSCommand_Get-AzContext", "PSCmdlet_Set-AzContext", "PSCommand_Set-AzContext", "PSCmdlet_Import-AzContext", "PSCommand_Import-AzContext", "PSCmdlet_Save-AzContext", "PSCommand_Save-AzContext", "PSCmdlet_Get-AzTenant", "PSCommand_Get-AzTenant", "PSCmdlet_Send-Feedback", "PSCommand_Send-Feedback", "PSCmdlet_Resolve-AzError", "PSCommand_Resolve-AzError", "PSCmdlet_Select-AzContext", "PSCommand_Select-AzContext", "PSCmdlet_Rename-AzContext", "PSCommand_Rename-AzContext", "PSCmdlet_Remove-AzContext", "PSCommand_Remove-AzContext", "PSCmdlet_Clear-AzContext", "PSCommand_Clear-AzContext", "PSCmdlet_Disconnect-AzAccount", "PSCommand_Disconnect-AzAccount", "PSCmdlet_Get-AzContextAutosaveSetting", "PSCommand_Get-AzContextAutosaveSetting", "PSCmdlet_Set-AzDefault", "PSCommand_Set-AzDefault", "PSCmdlet_Get-AzDefault", "PSCommand_Get-AzDefault", "PSCmdlet_Clear-AzDefault", "PSCommand_Clear-AzDefault", "PSCmdlet_Enable-AzureRmAlias", "PSCommand_Enable-AzureRmAlias", "PSCmdlet_Disable-AzureRmAlias", "PSCommand_Disable-AzureRmAlias", "PSCmdlet_Uninstall-AzureRm", "PSCommand_Uninstall-AzureRm", "PSIncludes_Cmdlet" ], "Type": 1, "UpdatedDate": null, "Version": { "Major": 0, "Minor": 7, "Build": 0, "Revision": -1, "MajorRevision": -1, "MinorRevision": -1 } } ```
kilasuit commented 7 months ago

This has been discussed a bit in #1314