{"id":14063864,"url":"https://github.com/dsccommunity/xPSDesiredStateConfiguration","last_synced_at":"2025-07-29T16:34:36.633Z","repository":{"id":30468260,"uuid":"34022246","full_name":"dsccommunity/xPSDesiredStateConfiguration","owner":"dsccommunity","description":"DSC resources for configuring common operating systems features, files and settings.","archived":false,"fork":false,"pushed_at":"2024-11-12T16:18:10.000Z","size":4271,"stargazers_count":212,"open_issues_count":135,"forks_count":134,"subscribers_count":38,"default_branch":"main","last_synced_at":"2024-11-28T19:04:48.001Z","etag":null,"topics":["dsc","dsc-resources","powershell-dsc"],"latest_commit_sha":null,"homepage":"https://dsccommunity.org","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/dsccommunity.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-04-15T22:43:04.000Z","updated_at":"2024-11-24T16:08:50.000Z","dependencies_parsed_at":"2022-07-09T10:31:20.102Z","dependency_job_id":"ff6d424a-db7c-4a40-9afa-a4bf528ddf1b","html_url":"https://github.com/dsccommunity/xPSDesiredStateConfiguration","commit_stats":{"total_commits":1099,"total_committers":97,"mean_commits":"11.329896907216495","dds":0.8234758871701546,"last_synced_commit":"7703bb11324d26c97d80684bdc4fe46cb982b0ca"},"previous_names":[],"tags_count":63,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsccommunity%2FxPSDesiredStateConfiguration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsccommunity%2FxPSDesiredStateConfiguration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsccommunity%2FxPSDesiredStateConfiguration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsccommunity%2FxPSDesiredStateConfiguration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dsccommunity","download_url":"https://codeload.github.com/dsccommunity/xPSDesiredStateConfiguration/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228032913,"owners_count":17858914,"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","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":["dsc","dsc-resources","powershell-dsc"],"created_at":"2024-08-13T07:03:32.749Z","updated_at":"2024-12-04T02:30:38.730Z","avatar_url":"https://github.com/dsccommunity.png","language":"PowerShell","funding_links":[],"categories":["PowerShell"],"sub_categories":[],"readme":"# xPSDesiredStateConfiguration\r\n\r\n[![Build Status](https://dev.azure.com/dsccommunity/xPSDesiredStateConfiguration/_apis/build/status/dsccommunity.xPSDesiredStateConfiguration?branchName=main)](https://dev.azure.com/dsccommunity/xPSDesiredStateConfiguration/_build/latest?definitionId=8\u0026branchName=main)\r\n![Code Coverage](https://img.shields.io/azure-devops/coverage/dsccommunity/xPSDesiredStateConfiguration/8/main)\r\n[![Azure DevOps tests](https://img.shields.io/azure-devops/tests/dsccommunity/xPSDesiredStateConfiguration/8/main)](https://dsccommunity.visualstudio.com/xPSDesiredStateConfiguration/_test/analytics?definitionId=8\u0026contextType=build)\r\n[![PowerShell Gallery (with prereleases)](https://img.shields.io/powershellgallery/vpre/xPSDesiredStateConfiguration?label=xPSDesiredStateConfiguration%20Preview)](https://www.powershellgallery.com/packages/xPSDesiredStateConfiguration/)\r\n[![PowerShell Gallery](https://img.shields.io/powershellgallery/v/xPSDesiredStateConfiguration?label=xPSDesiredStateConfiguration)](https://www.powershellgallery.com/packages/xPSDesiredStateConfiguration/)\r\n[![codecov](https://codecov.io/gh/dsccommunity/xPSDesiredStateConfiguration/branch/main/graph/badge.svg)](https://codecov.io/gh/dsccommunity/xPSDesiredStateConfiguration)\r\n\r\nThe **xPSDesiredStateConfiguration** module contains the same resources as\r\nthe module [PSDscResources](https://github.com/PowerShell/PSDscResources)\r\nbut also includes bugfixes and new features, including additional resources.\r\nSome resources in this module use the prefix 'x' to not conflict with the\r\nolder built-in resources in the Windows PowerShell `PSDesiredStateConfiguration`\r\nmodule and the `PSDscResources` module. The prefix 'x' has no other\r\nmeaning and does not indicate that these are experimental resources.\r\n\r\nThis module is no longer comparable with the module [PSDscResources](https://github.com/PowerShell/PSDscResources)\r\nas they are completely separate modules and they have a different lifecycle.\r\nThe `xPSDesiredStateConfiguration` module surpasses the `PSDscResources`\r\nmodule in both features and bugfixes.\r\n\r\nThe module xPSDesiredStateConfiguration is supported by the DSC community\r\nwho fixes bugs and adds features.\r\n\r\n\u003e The module [PSDscResources](https://github.com/PowerShell/PSDscResources)\r\n\u003e is supported by Microsoft and is meant to be 1:1 replacement for the\r\n\u003e built-in resources (in Windows PowerShell), with the exception for the\r\n\u003e File resource. For that reason new features are no longer being added to\r\n\u003e the PSDscResource module, and bugfixes must be approved (most likely through\r\n\u003e a Microsoft Support case) to be merged. If you require new features or\r\n\u003e missing bugfixes, please migrate to **xPSDesiredStateConfiguration** and\r\n\u003e request/add the features or bugfixes against this module.\r\n\r\nThis module is automatically tested using PowerShell 5.1 on servers running\r\nWindows 2016 and Windows 2019, and is expected to work on other operating\r\nsystems running PowerShell 5.1. While this module may work with PowerShell\r\nversions going back to PowerShell 4, there is no automatic testing performed\r\nfor these versions, and thus no guarantee that the module will work as\r\nexpected.\r\n\r\n## Code of Conduct\r\n\r\nThis project has adopted [this code of conduct](CODE_OF_CONDUCT.md).\r\n\r\n## Releases\r\n\r\nFor each merge to the branch `main` a preview release will be\r\ndeployed to [PowerShell Gallery](https://www.powershellgallery.com/).\r\nPeriodically a release version tag will be pushed which will deploy a\r\nfull release to [PowerShell Gallery](https://www.powershellgallery.com/).\r\n\r\n## Contributing\r\n\r\nPlease check out common DSC Community [contributing guidelines](https://dsccommunity.org/guidelines/contributing).\r\n\r\n## Change log\r\n\r\nA full list of changes in each version can be found in the [change log](CHANGELOG.md).\r\n\r\n## Resources\r\n\r\n- **xArchive** provides a mechanism to expand an archive (.zip) file to a\r\n  specific path or remove an expanded archive (.zip) file from a specific path\r\n  on a target node.\r\n- **xDscWebService** configures an OData endpoint for DSC service to make a\r\n  node a DSC pull server.\r\n- **xEnvironment** provides a mechanism to configure and manage environment\r\n  variables for a machine or process.\r\n- **xGroup** provides a mechanism to manage local groups on a target node.\r\n- **xMsiPackage** provides a mechanism to install and uninstall .msi packages.\r\n- **xPackage** manages the installation of .msi and .exe packages.\r\n- **xRegistry** provides a mechanism to manage registry keys and values on a\r\n  target node.\r\n- **xRemoteFile** ensures the presence of remote files on a local machine.\r\n- **xScript** provides a mechanism to run PowerShell script blocks on a target\r\n  node.\r\n- **xService** provides a mechanism to configure and manage Windows services.\r\n- **xUser** provides a mechanism to manage local users on the target node.\r\n- **xWindowsFeature** provides a mechanism to install or uninstall Windows\r\n  roles or features on a target node.\r\n- **xWindowsOptionalFeature** provides a mechanism to enable or disable\r\n  optional features on a target node.\r\n- **xWindowsPackageCab** provides a mechanism to install or uninstall a package\r\n  from a Windows cabinet (cab) file on a target node.\r\n- **xWindowsProcess** provides a mechanism to start and stop a Windows process.\r\n\r\n## Composite Resources\r\n\r\n- **xFileUpload** is a composite resource which ensures that local files exist\r\n  on an SMB share.\r\n- **xGroupSet** provides a mechanism to configure and manage multiple xGroup\r\n  resources with common settings but different names.\r\n- **xProcessSet** allows starting and stopping of a group of windows processes\r\n  with no arguments.\r\n- **xServiceSet** provides a mechanism to configure and manage multiple\r\n  xService resources with common settings but different names.\r\n- **xWindowsFeatureSet** provides a mechanism to configure and manage multiple\r\n  xWindowsFeature resources on a target node.\r\n- **xWindowsOptionalFeatureSet** provides a mechanism to configure and manage\r\n  multiple xWindowsOptionalFeature resources on a target node.\r\n\r\n## Nano Server Support\r\n\r\nThe following resources and composite resources work on Nano Server:\r\n\r\n- xGroup\r\n- xService\r\n- xScript\r\n- xUser\r\n- xWindowsOptionalFeature\r\n- xWindowsOptionalFeatureSet\r\n- xWindowsPackageCab\r\n\r\n## Register a Node with DSC Pull Server\r\n\r\nThis module contains an example meta configuration that can be used to configure\r\nthe Local Configuration Manager to register with a DSC Pull Server.\r\n\r\n[LCM Register Node](\\source\\Examples\\LCM\\1-LCM_RegisterNode_Config.ps1)\r\n\r\n## Functions\r\n\r\nThis resource also contains support functions that can be used to manage a deployed\r\nDSC pull server.\r\n\r\n### Publish-ModuleToPullServer\r\n\r\nPublishes a 'ModuleInfo' object(s) to the pull server module repository or user\r\nprovided path. It accepts its input from a pipeline so it can be used in\r\nconjunction with Get-Module as in 'Get-Module -Name ModuleName' |\r\nPublish-Module\r\n\r\n### Publish-MofToPullServer\r\n\r\nPublishes a 'FileInfo' object(s) to the pull server configuration repository. It\r\naccepts FileInfo input from a pipeline so it can be used in conjunction with\r\nGet-ChildItem .*.mof | Publish-MOFToPullServer\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsccommunity%2FxPSDesiredStateConfiguration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsccommunity%2FxPSDesiredStateConfiguration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsccommunity%2FxPSDesiredStateConfiguration/lists"}