{"id":15192234,"url":"https://github.com/powershell/packagemanagementproviderresource","last_synced_at":"2025-10-02T07:30:26.564Z","repository":{"id":29348543,"uuid":"32882718","full_name":"PowerShell/PackageManagementProviderResource","owner":"PowerShell","description":"Modules with DSC resources for the PackageManagement(aka OneGet) providers.","archived":true,"fork":false,"pushed_at":"2018-04-12T09:09:17.000Z","size":170,"stargazers_count":36,"open_issues_count":16,"forks_count":23,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-01-21T12:35:58.275Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PowerShell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-25T18:20:19.000Z","updated_at":"2025-01-13T21:03:45.000Z","dependencies_parsed_at":"2022-08-28T00:12:52.341Z","dependency_job_id":null,"html_url":"https://github.com/PowerShell/PackageManagementProviderResource","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PowerShell/PackageManagementProviderResource","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FPackageManagementProviderResource","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FPackageManagementProviderResource/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FPackageManagementProviderResource/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FPackageManagementProviderResource/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PowerShell","download_url":"https://codeload.github.com/PowerShell/PackageManagementProviderResource/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PowerShell%2FPackageManagementProviderResource/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277974402,"owners_count":25908396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-02T02:00:08.890Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-27T21:20:20.125Z","updated_at":"2025-10-02T07:30:26.295Z","avatar_url":"https://github.com/PowerShell.png","language":"PowerShell","readme":"\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n\n\u003e`Announcement`\n\nThis repo has been deprecated. The PackageManagementProviderResource module has been merged to [PackageManagement]( https://github.com/OneGet/oneget/tree/WIP/src/Microsoft.PackageManagement.DscResources).  Please use https://github.com/OneGet/oneget going forward. Thank you!\n \n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n\n\n\n\n\n### PackageManagementProviderResource\n\nThe PackageManagementProviderResource is the DSC resources for PackageManagement (aka OneGet) providers. Currently it contains the Nuget and PowerShellGet provider DSC resources to allow you to manage packages and Windows PowerShell modules.\n\n#### Contributing\nPlease check out common DSC Resources [contributing guidelines](https://github.com/PowerShell/DscResource.Kit/blob/master/CONTRIBUTING.md).\n\n#### Resources\n\n* **PackageManagement** – A generic PackageManagement provider that lets you download and install packages from any source. This provider  uses Install-Package \u0026 Get-Package cmdlets. You may have to use PackageManagementSource DSC resource to register non-default sources.\n\n* **NugetPackage** – lets you download packages from the NuGet source location (e.g., http://nuget.org/api/v2/), and install or uninstall the package.\n\n* **PSModule** – lets you download Windows PowerShell modules from the PowerShell Gallery, \"PSGallery\" (e.g., https://www.powershellgallery.com/api/v2/ ), and install them on your computer.\n\n* **PackageManagementSource** – lets you register or unregister a package source on your computer\n\n**PackageManagement** DSC resource has the following properties:\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e \u003cb\u003eProperty\u003c/b\u003e \u003c/td\u003e\n        \u003ctd\u003e\u003cb\u003eDescription\u003c/b\u003e \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eName\u003c/td\u003e\n        \u003ctd\u003eSpecifies the name of the Package to be installed or uninstalled.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eSource\u003c/td\u003e\n    \u003ctd\u003eSpecifies the name of the package source where the package can be found. This can either be a URI or a source registered with \u003ca href=\"https://technet.microsoft.com/en-us/library/dn890701.aspx\"\u003eRegister-PackageSource cmdlet\u003c/a\u003e or PackageManagementSource DSC resource. The DSC resource MSFT_PackageManagementSource can also register a package source.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eEnsure\u003c/td\u003e\n    \u003ctd\u003eDetermines whether the package is to be installed or uninstalled.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eRequiredVersion\u003c/td\u003e\n    \u003ctd\u003eSpecifies the exact version of the package that you want to install. If you do not specify this parameter, this DSC resource installs the newest available version of the package that also satisfies any maximum version specified by the MaximumVersion parameter.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eMinimumVersion\u003c/td\u003e\n    \u003ctd\u003eSpecifies the minimum allowed version of the package that you want to install. If you do not add this parameter, this DSC resource intalls the highest available version of the package that also satisfies any maximum specified version specified by the MaximumVersion parameter.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eMaximumVersion\u003c/td\u003e\n    \u003ctd\u003eSpecifies the maximum allowed version of the package that you want to install. If you do not specify this parameter, this DSC resource installs the highest-numbered available version of the package.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eSourceCredential\u003c/td\u003e\n    \u003ctd\u003eSpecifies a user account that has rights to install a package for a specified package provider or source.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eProviderName\u003c/td\u003e\n    \u003ctd\u003eSpecifies a package provider name to which to scope your package search. You can get package provider names by running the \u003ca href=\"https://technet.microsoft.com/en-us/library/dn890703.aspx\"\u003eGet-PackageProvider cmdlet\u003c/a\u003e.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eAdditionalParameters\u003c/td\u003e\n    \u003ctd\u003eProvider specific parameters that are passed as an Hashtable. For example, for NuGet provider you can pass additional parameters like DestinationPath.\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n**NugetPackage** DSC resource has the following properties:\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e \u003cb\u003eProperty\u003c/b\u003e \u003c/td\u003e\n        \u003ctd\u003e\u003cb\u003eDescription\u003c/b\u003e \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eName\u003c/td\u003e\n        \u003ctd\u003eSpecifies the name of the package to be installed or uninstalled.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eDestinationPath\u003c/td\u003e\n    \u003ctd\u003eSpecifies a file location where you want the package to be installed.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eEnsure\u003c/td\u003e\n    \u003ctd\u003eDetermines whether the package is to be installed or uninstalled.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eInstallationPolicy\u003c/td\u003e\n    \u003ctd\u003eDetermines whether you trust the package's source.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eRequiredVersion\u003c/td\u003e\n    \u003ctd\u003eSpecifies the exact version of the package you want to install or uninstall.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eMinimumVersion\u003c/td\u003e\n    \u003ctd\u003eSpecifies the minimum version of the package you want to install or uninstall.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eMaximumVersion\u003c/td\u003e\n    \u003ctd\u003eSpecifies the maximum version of the package you want to install or uninstall.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eSource\u003c/td\u003e\n    \u003ctd\u003eSpecifies the URI or name of the registered package source.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eSourceCredential\u003c/td\u003e\n    \u003ctd\u003eProvides access to the package on a remote source. This property is not used to install the package. The package is always installed on the local system account.\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n**PSModule** DSC resource has the following properties:\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cb\u003eProperty\u003c/b\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cb\u003eDescription\u003c/b\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eName\u003c/td\u003e\n        \u003ctd\u003eSpecifies the name of the PowerShell module to be installed or uninstalled.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eEnsure\u003c/td\u003e\n    \u003ctd\u003eDetermines whether the module to be installed or uninstalled.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eInstallationPolicy\u003c/td\u003e\n    \u003ctd\u003eDetermines whether you trust the source repository where the module resides.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eRequiredVersion\u003c/td\u003e\n    \u003ctd\u003eSpecifies the exact version of the module you want to install or uninstall.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eMinimumVersion\u003c/td\u003e\n    \u003ctd\u003eSpecifies the minimum version of the module you want to install or uninstall.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eRepository\u003c/td\u003e\n    \u003ctd\u003eSpecifies the name of the module source repository where the module can found.\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n**PackageManagementSource** has the following properties:\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cb\u003eProperty\u003c/b\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003cb\u003eDescription\u003c/b\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eName\u003c/td\u003e\n        \u003ctd\u003eSpecifies the name of the package source to be registered or unregistered on your system.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eProviderName\u003c/td\u003e\n      \u003ctd\u003eSpecifies the name of the OneGet provider through which you can interop with the package source.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eEnsure\u003c/td\u003e\n    \u003ctd\u003eDetermines whether the package source is to be registered or unregistered.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eInstallationPolicy\u003c/td\u003e\n    \u003ctd\u003eDetermines whether you trust the package source.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eSourceUri\u003c/td\u003e\n    \u003ctd\u003eSpecifies the URI of the package source.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n    \u003ctd\u003eSourceCredential\u003c/td\u003e\n    \u003ctd\u003eProvides access to the package on a remote source.\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\u003cbr/\u003e\n####**Requirements**####\n\nBefore you install this package, you must be running  [Windows Management Framework 5.0 RTM(https://www.microsoft.com/en-us/download/details.aspx?id=50395).\n\n\u003cbr/\u003e\n####**Installation**####\n\nTo use the **PackageManagementProviderResource** module,\n* Copy the content of the download to the $env:ProgramFiles\\WindowsPowerShell\\Modules folder.\n\nTo confirm installation,\n* Run **Get-DSCResource** to verify that PackageManagement, NugetPackage, PackageManagementSource and PSModule are among the DSC Resources listed in your DSC resources.\n\n\u003cbr/\u003e\n####**Building the Code**####\n\nThe code is a Windows PowerShell script and interpreted by the Windows PowerShell engine at runtime.\n\n\u003cbr/\u003e\n####**Running Test**####\n\nTo test the modules, run the following commands. The NuGetPackage resource is used here as an example.\n* cd $env:ProgramFiles\\WindowsPowerShell\\Modules\\PackageManagementProviderResource\\Test\n* .\\NugetPackage\\NugetPackage.Get.Tests.ps1\n* .\\NugetPackage\\NugetPackage.Set.Tests.ps1\n* .\\NugetPackage\\NugetPackage.Test.Tests.ps1\n\nYou can repeat these commands similarly for testing PackageManagement, PSModule and PackageManagementSource DSC resources.\n\n\u003cbr/\u003e\n####**Contributing to the Code**####\n\nYou are welcome to contribute to this project. There are many ways to contribute:\n\n1.\tSubmit a bug report via [Issues]( https://github.com/PowerShell/PackageManagementProviderResource/issues). For a guide to submitting good bug reports, please read [Painless Bug Tracking](http://www.joelonsoftware.com/articles/fog0000000029.html).\n\n2.\tVerify fixes for bugs.\n\n3.\tSubmit your fixes for a bug. Before submitting, please make sure you have:\n - Performed code reviews of your own\n - Updated the test cases if needed\n - Run the test cases to ensure no feature breaks or test breaks\n - Added the test cases for new code\n4.\tSubmit a feature request.\n5.\tHelp answer questions in the discussions list.\n6.\tSubmit test cases.\n7.\tTell others about the project.\n8.\tTell the developers how much you appreciate the product!\n\nYou might also read these two blog posts about contributing code: [Open Source Contribution Etiquette](http://tirania.org/blog/archive/2010/Dec-31.html) by Miguel de Icaza, and [Don’t “Push” Your Pull Requests](http://www.igvita.com/2011/12/19/dont-push-your-pull-requests/) by Ilya Grigorik.\n\nBefore submitting a feature or substantial code contribution, please discuss it with the Windows PowerShell team via [Issues]( https://github.com/WindowsPowerShell/OneGetResource/issues), and ensure it follows the product roadmap. Note that all code submissions will be rigorously reviewed by the Windows PowerShell Team. Only those that meet a high bar for both quality and roadmap fit will be merged into the source.\n\n####**Examples**####\n\nSamples are included in the Examples folder.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowershell%2Fpackagemanagementproviderresource","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpowershell%2Fpackagemanagementproviderresource","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpowershell%2Fpackagemanagementproviderresource/lists"}