Set-CMDiscoveryMethod

Set-CMDiscoveryMethod

Changes configuration settings of a discovery method.

Syntax

Parameter Set: SearchByActiveDirectoryForestDiscovery
Set-CMDiscoveryMethod -ActiveDirectoryForestDiscovery -SiteCode <String> [-EnableActiveDirectorySiteBoundaryCreation <Boolean> ] [-Enabled <Boolean> ] [-EnableSubnetBoundaryCreation <Boolean> ] [-PollingSchedule <IResultObject> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: SearchByActiveDirectoryGroupDiscovery
Set-CMDiscoveryMethod -ActiveDirectoryGroupDiscovery -SiteCode <String> [-DeltaDiscoveryIntervalMinutes <Int32> ] [-DiscoverDistributionGroupsMembership <Boolean> ] [-Enabled <Boolean> ] [-EnableDeltaDiscovery <Boolean> ] [-EnableFilteringExpiredLogon <Boolean> ] [-EnableFilteringExpiredPassword <Boolean> ] [-PollingSchedule <IResultObject> ] [-TimeSinceLastLogonDays <Int32> ] [-TimeSinceLastPasswordUpdateDays <Int32> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: SearchByActiveDirectorySystemDiscovery
Set-CMDiscoveryMethod -ActiveDirectorySystemDiscovery -SiteCode <String> [-AddAdditionalAttribute <String[]> ] [-DeltaDiscoveryIntervalMinutes <Int32> ] [-Enabled <Boolean> ] [-EnableDeltaDiscovery <Boolean> ] [-EnableFilteringExpiredLogon <Boolean> ] [-EnableFilteringExpiredPassword <Boolean> ] [-PollingSchedule <IResultObject> ] [-RemoveAdditionalAttribute <String[]> ] [-TimeSinceLastLogonDays <Int32> ] [-TimeSinceLastPasswordUpdateDays <Int32> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: SearchByActiveDirectoryUserDiscovery
Set-CMDiscoveryMethod -ActiveDirectoryUserDiscovery -SiteCode <String> [-AddAdditionalAttribute <String[]> ] [-DeltaDiscoveryIntervalMinutes <Int32> ] [-Enabled <Boolean> ] [-EnableDeltaDiscovery <Boolean> ] [-PollingSchedule <IResultObject> ] [-RemoveAdditionalAttribute <String[]> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: SearchByHeartbeat
Set-CMDiscoveryMethod -Heartbeat -SiteCode <String> [-Enabled <Boolean> ] [-PollingSchedule <IResultObject> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: SearchByNetworkDiscovery
Set-CMDiscoveryMethod -NetworkDiscovery -SiteCode <String> [-Enabled <Boolean> ] [-NetworkDiscoveryType <NetworkDiscoveryType> {ToplogyAndClient | ToplogyClientAndClientOperatingSystem | Topology} ] [-SlowNetworkSpeed <Boolean> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Set-CMDiscoveryMethod cmdlet changes configuration settings of a discovery method. Discovery identifies computer and user resources that Microsoft System Center 2012 Configuration Manager can manage. When System Center 2012 Configuration Manager discovers a resource, System Center 2012 Configuration Manager creates a record in the Configuration Manager database for the resource and its associated information. You can then use the discovery information to help you to install the System Center 2012 Configuration Manager client and create custom queries and collections to logically group resources for related management tasks.

Parameters

-ActiveDirectoryForestDiscovery

Indicates that the discovery method discovers security groups, including local, global, and universal groups from specified locations in Active Directory Domain Services (AD DS).

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ActiveDirectoryGroupDiscovery

Indicates that the discovery method discovers additional information, including the computer organizational unit (OU) and group membership, about previously discovered computers from specified locations in AD DS.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ActiveDirectorySystemDiscovery

Indicates that the discovery method discovers computers from specified locations in AD DS.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ActiveDirectoryUserDiscovery

Indicates that the discovery method discovers users from specified locations in AD DS.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-AddAdditionalAttribute<String[]>

Specifies an array of Active Directory object attributes. The cmdlet adds these attributes to the list of attributes that Configuration Manager discovers.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DeltaDiscoveryIntervalMinutes<Int32>

Specifies how often, in minutes, to discover resources created or modified in AD DS since the last discovery cycle. To enable this feature, specify a value of $True for the EnableDeltaDiscovery parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DiscoverDistributionGroupsMembership<Boolean>

Indicates whether Configuration Manager discovers the membership of distribution groups.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-EnableActiveDirectorySiteBoundaryCreation<Boolean>

Indicates whether Configuration Manager creates Active Directory boundaries from AD DS discovery information.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Enabled<Boolean>

Indicates whether to enable the Configuration Manager discovery. If you specify a value of $False, Configuration Manager does not discover resources by using this discovery.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-EnableDeltaDiscovery<Boolean>

Indicates whether Configuration Manager discovers resources created or modified in AD DS since the last discovery cycle. If you specify a value of $True for this parameter, specify a value for the DeltaDiscoveryIntervalMinutes parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-EnableFilteringExpiredLogon<Boolean>

Indicates whether Configuration Manager discovers only computers that have logged onto a domain within a specified number of days. Specify the number of days by using the TimeSinceLastLogonDays parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-EnableFilteringExpiredPassword<Boolean>

Indicates whether Configuration Manager discovers only computers that have updated their computer account password within a specified number of days. Specify the number of days by using the TimeSinceLastPasswordUpdateDays parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-EnableSubnetBoundaryCreation<Boolean>

Indicates whether Configuration Manager creates IP address range boundaries from AD DS discovery information.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Heartbeat

Indicates that the discovery method updates discovery records for Configuration Manager clients in the Configuration Manager database without discovering new resources.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-NetworkDiscovery

Indicates that the discovery method searches the network infrastructure for network devices, such as printers, routers, and bridges, that have IP addresses.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-NetworkDiscoveryType<NetworkDiscoveryType>

Specifies the network discovery type. If you specify the NetworkDiscovery parameter, specify one of the following types:

-- ToplogyAndClient. The discovery finds the topology of your network and potential client devices.
-- ToplogyClientAndClientOperatingSystem. The discovery finds the topology of your network. The discovery finds potential client devices and their operating systems and versions.
-- Topology. The discovery finds the topology of your network by discovering IP subnets and routers.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-PollingSchedule<IResultObject>

Specifies a schedule object. To obtain a schedule object, use the New-CMSchedule cmdlet. The polling schedule determines how often Configuration Manager attempts to discover groups, systems, or user data.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-RemoveAdditionalAttribute<String[]>

Specifies an array of Active Directory object attributes. The cmdlet removes these attributes from the list of attributes that Configuration Manager discovers.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-SiteCode<String>

Specifies the site code for a Configuration Manager site.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-SlowNetworkSpeed<Boolean>

Indicates whether Configuration Manager makes adjustments to its discovery settings for networks that have low bandwidth.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-TimeSinceLastLogonDays<Int32>

Specifies the number of days since the last logon when the EnableFilteringExpiredLogon parameter had a value of $True.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-TimeSinceLastPasswordUpdateDays<Int32>

Specifies the number of days since that last password updated when the EnableFilteringExpiredPassword parameter had a value of $True.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

Examples

Example 1: Modify network discovery

This command modifies network discovery for the site that has the site code CM4. The command specifies topology and client network discovery and the slow network speed option. The command also enables discovery.

PS C:\> Set-CMDiscoveryMethod -NetworkDiscovery -SiteCode "CM4" -Enabled $True -NetworkDiscoveryType ToplogyAndClient -SlowNetworkSpeed $True 

Example 2: Modify Active Directory system discovery

This example modifies settings that System Center 2012 Configuration Manager uses to discover computers from specified locations in AD DS.

The first command creates a schedule object by using the New-CMSchedule cmdlet and stores it in the $Schedule variable.

The second command enables the computer discovery for the site that has the site code CM4. The command specifies the schedule object stored in the $Schedule variable as the polling schedule and enables delta discovery to find new and modified computers since the last discovery. The command specifies that delta discovery takes place every 8 minutes.

The second command also limits the computers found to those that a user has logged onto in the last 80 days. Also, the command adds and removes specified attributes from the attributes used to limit computers.

PS C:\> $Schedule = New-CMSchedule -RecurInterval Minutes -Start "2012/10/20 00:00:00" -End "2013/10/20 00:00:00" -RecurCount 10 
PS C:\> Set-CMDiscoveryMethod -ActiveDirectorySystemDiscovery -SiteCode "CM4" -AddAdditionalAttribute "331", "431", "134" -DeltaDiscoveryIntervalMinutes 8 -Enabled $True -EnableDeltaDiscovery $True -EnableFilteringExpiredLogon $True -PollingSchedule $Schedule -RemoveAdditionalAttribute "123","cn" -TimeSinceLastLogonDays 80

Example 3: Modify forest discovery

This example modifies AD DS forest discovery.

The first command creates a schedule object by using the New-CMSchedule cmdlet and stores it in the $Schedule variable.

The second command enables this discovery site that has the site code CM4.. The command specifies the schedule object stored in the $Schedule variable as the polling interval and enables Active Directory boundary creation and subnet boundary creation.

PS C:\> $Schedule = New-CMSchedule -RecurInterval Minutes -Start "2012/10/20 00:00:00" -End "2013/10/20 00:00:00" -RecurCount 10 
PS C:\> Set-CMDiscoveryMethod -ActiveDirectoryForestDiscovery -SiteCode "CM4" -EnableActiveDirectorySiteBoundaryCreation $True -Enabled $True  -EnableSubnetBoundaryCreation $True -PollingSchedule $Schedule

Example 4: Enable heartbeat discovery

This example enables heartbeat discovery.

The first command creates a schedule object by using the New-CMSchedule cmdlet and stores it in the $Schedule variable.

The second command enables heartbeat discovery and specifies the object stored in the $Schedule variable as the polling schedule for the site that has the site code CM4.

PS C:\> $Schedule = New-CMSchedule -RecurInterval Minutes -Start "2012/10/20 00:00:00" -End "2013/10/20 00:00:00" -RecurCount 10 
PS C:\> Set-CMDiscoveryMethod -Heartbeat -SiteCode "CM4" -Enabled $True -PollingSchedule $Schedule

Get-CMDiscoveryMethod

New-CMSchedule