Skip to content

Commit

Permalink
Merge pull request #97 from dsccommunity/DSC_CMGroupDiscovery_Creation
Browse files Browse the repository at this point in the history
Dsc_CMGroupDiscovery resource creation.
  • Loading branch information
jeffotterpohl authored Sep 16, 2021
2 parents ee02d74 + 9511258 commit 8e2a7dd
Show file tree
Hide file tree
Showing 13 changed files with 2,994 additions and 48 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Added ConfigMgrCBDsc.ReverseDsc module
- Added CMEmailNotificationComponent
- Added CMGroupDiscovery Resource

### Fixed

Expand Down
66 changes: 62 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,8 @@ Please check out common DSC Community [contributing guidelines](https://dsccommu
file replication settings in Configuration Manager.
- **CMEmailNotificationComponent**: Provides a resource for modifying email notification
component settings.
- **CMGroupDiscovery**: Provides a resource to manage the Configuration Manager
Group Discovery method.

### xSccmPreReqs

Expand Down Expand Up @@ -1361,6 +1363,61 @@ you are using apply and auto correct.
- [CMEmailNotificationComponent_Present](Source\Examples\Resources\CMEmailNotificationComponent\CMEmailNotificationComponent_Present.ps1)
- [CMEmailNotificationComponent_Absent](Source\Examples\Resources\CMEmailNotificationComponent\CMEmailNotificationComponent_Absent.ps1)

### CMGroupDiscovery

- **[String] SiteCode** _(Key)_: Specifies the Site Code for the Configuration
Manager site.
- **[Boolean] Enabled** _(Key)_: Specifies the enablement of the system discovery
method.
- **[Boolean] EnableDeltaDiscovery** _(Write)_: Indicates whether Configuration Manager
discovers resources created or modified in AD DS since the last discovery cycle.
- **[UInt32] DeltaDiscoveryMins** _(Write)_: Specifies the number of minutes for
the delta discovery.
- Values Range: 5 - 60
- **[Boolean] EnableFilteringExpiredLogon** _(Write)_: Indicates whether Configuration
Manager discovers only computers that have logged onto a domain within a specified
number of days.
- **[UInt32] TimeSinceLastLogonDays** _(Write)_: Specify the number of days for
EnableFilteringExpiredLogon.
- Values Range: 14 - 720
- **[Boolean] EnableFilteringExpiredPassword** _(Write)_: Indicates whether Configuration
Manager discovers only computers that have updated their computer account password
within a specified number of days.
- **[UInt32] TimeSinceLastPasswordUpdateDays** _(Write)_: Specify the number of days
for EnableFilteringExpiredPassword.
- Values Range: 30 - 720
- **[EmbeddedInstance] GroupDiscoveryScope[]** _(Write)_: Specifies an array of Group
Discovery Scopes to match to the discovery.
- **[EmbeddedInstance] GroupDiscoveryScopeToInclude[]** _(Write)_: Specifies an array
of Group Discovery Scopes to add to the discovery.
- **[String] GroupDiscoveryScopeToExclude[]** _(Write)_: Specifies an array of names
of Group Discovery Scopes to exclude to the discovery.
- **[Boolean] DiscoverDistributionGroupMembership** _(Write)_: Specify if group discovery
will discover distribution groups and the members of the group.
- **[String] Start** _(Write)_: Specifies the start date and start time for the
collection refresh schedule Month/Day/Year, example 1/1/2020 02:00.
- **[String] ScheduleType** _(Write)_: Specifies the schedule type for the collection
refresh schedule.
- Values include: { MonthlyByDay | MonthlyByWeek | Weekly | Days | Hours |
Minutes | None }
- **[UInt32] RecurInterval** _(Write)_: Specifies how often the ScheduleType is run.
- **[String] MonthlyWeekOrder** _(Write)_: Specifies week order for MonthlyByWeek
schedule type.
- Values include: { First | Second | Third | Fourth | Last }
- **[String] DayOfWeek** _(Write)_: Specifies the day of week name for MonthlyByWeek
and Weekly schedules.
- Values include: { Sunday | Monday | Tuesday | Wednesday | Thursday | Friday |
Saturday }
- **[UInt32] DayOfMonth** _(Write)_: Specifies the day number for MonthlyByDay schedules.
Note specifying 0 sets the schedule to run the last day of the month.
- Values Range: 0 - 31

#### CMGroupDiscovery Examples

- [GroupDiscovery_Enabled](Source\Examples\Resources\CMGroupDiscovery\GroupDiscovery_Enabled.ps1)
- [GroupDiscovery_Include_Exclude](Source\Examples\Resources\CMGroupDiscovery\GroupDiscovery_Include_Exclude.ps1)
- [GroupDiscovery_Disabled](Source\Examples\Resources\CMGroupDiscovery\GroupDiscovery_Disabled.ps1)

## ReverseDsc

Most organizations using this module already have an existing Configuration Manager
Expand Down Expand Up @@ -1417,6 +1474,7 @@ all of the modules and specify if it is currently supported by ReverseDSC.
- DSC_CMFallbackStatusPoint: Fully Supported
- DSC_CMFileReplication: Not Supported
- DSC_CMForestDiscovery: Fully Supported
- DSC_CMGroupDiscovery: Fully Supported
- DSC_CMHeartbeatDiscovery: Fully Supported
- DSC_CMIniFile: Not Supported
- DSC_CMMaintenanceWindows: Fully Supported
Expand Down Expand Up @@ -1462,19 +1520,19 @@ After importing the module, Set-ConfigMgrCBDscReverse will be available.
ClientPush|ClientStatusSettings|CollectionEvaluationComponent|Collections|
DistributionGroups|DistributionPoint|DistributionPointGroupMembers|EmailNotificationComponent|
FallbackPoints|ForestDiscovery|HeartbeatDiscovery|MaintenanceWindow|ManagementPoint|
NetworkDiscovery|PullDistributionPoint|PxeDistributionPoint|
NetworkDiscovery|PullDistributionPoint|PxeDistributionPoint|GroupDiscovery|
ReportingServicesPoint|SecurityScopes|ServiceConnection|SiteMaintenance|
SiteSystemServer|SoftwareDistributionComponent|SoftwareupdatePoint|
SiteSystemServer|SoftwareDistributionComponent|SoftwareUpdatePoint|
StatusReportingComponent|SystemDiscovery|UserDiscovery|ConfigFileOnly }
- **[String] Exclude** _(Write)_: Specifies which resources will be excluded from
being evaluated. Only evaluated when Include = 'All'
- Values include: { Accounts|AdministrativeUser|AssetIntelligencePoint|BoundaryGroups|
ClientPush|ClientStatusSettings|CollectionEvaluationComponent|Collections|
DistributionGroups|DistributionPoint|DistributionPointGroupMembers|EmailNotificationComponent|
FallbackPoints|ForestDiscovery|HeartbeatDiscovery|MaintenanceWindow|ManagementPoint|
NetworkDiscovery|PullDistributionPoint|PxeDistributionPoint|
NetworkDiscovery|PullDistributionPoint|PxeDistributionPoint|GroupDiscovery|
ReportingServicesPoint|SecurityScopes|ServiceConnection|SiteMaintenance|
SiteSystemServer|SoftwareDistributionComponent|SoftwareupdatePoint|
SiteSystemServer|SoftwareDistributionComponent|SoftwareUpdatePoint|
StatusReportingComponent|SystemDiscovery|UserDiscovery }
- **[String] DataFile** _(Write)_: Specifies where the data file will be saved.
Filename must end with .psd1. Not specifying DataFile the output will be displayed
Expand Down
6 changes: 3 additions & 3 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ stages:
- job: Package_Module
displayName: 'Package Module'
pool:
vmImage: 'ubuntu 16.04'
vmImage: 'ubuntu 18.04'
steps:
- task: GitVersion@5
name: gitVersion
Expand Down Expand Up @@ -154,7 +154,7 @@ stages:
displayName: 'Publish Code Coverage'
dependsOn: Test_Unit
pool:
vmImage: 'ubuntu 16.04'
vmImage: 'ubuntu 18.04'
timeoutInMinutes: 0
steps:
- pwsh: |
Expand Down Expand Up @@ -204,7 +204,7 @@ stages:
- job: Deploy_Module
displayName: 'Deploy Module'
pool:
vmImage: 'ubuntu 16.04'
vmImage: 'ubuntu 18.04'
steps:
- task: DownloadBuildArtifacts@0
displayName: 'Download Build Artifact'
Expand Down
3 changes: 2 additions & 1 deletion source/ConfigMgrCBDsc.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@
'CMMaintenanceWindows'
'CMFileReplication'
'CMEmailNotificationComponent'
'CMGroupDiscovery'
)

<#
Expand All @@ -98,7 +99,7 @@
'ServiceConnectionPoint','NetworkDiscovery','ReportingServicePoint','SystemDiscovery','PXEDistributionPoint','PullDistributionPoint',
'SiteMaintenance','AdministrativeUser','DistributionGroup','SiteSystemServer','StatusReportingComponent','CollectionMembershipEvaluationComponent',
'DistributionPointGroupMembers','SecurityScopes','UserDiscovery','SecurityRoles','ClientPushSettings','SoftwareDistributionComponent',
'MaintenanceWindows','FileReplication','EmailNotificationComponent')
'MaintenanceWindows','FileReplication','EmailNotificationComponent','CMGroupDiscovery')

# A URL to the license for this module.
LicenseUri = 'https://github.com/dsccommunity/ConfigMgrCBDsc/blob/master/LICENSE'
Expand Down
Loading

0 comments on commit 8e2a7dd

Please sign in to comment.