Compare-FIMConfig

Compare-FIMConfig

In the Windows PowerShell™ command-line interface, use Compare-FIMConfig to compare the attributes of MatchObject instances and to return an ordered list of changes you can use to make the target system look like the source system.

Syntax

Compare-FIMConfig [-matchObject] <MatchObject[]> [-friendlyName] [<CommonParameters>]

Detailed Description

The Compare-FIMConfig cmdlet accepts a list of MatchObject instances and performs an attribute-level comparison of the source and target resources. The cmdlet returns a list of changes you can use to make to the target system look like the source system. These changes are represented by ImportObject instances.

The list of changes is guaranteed to be in precedence order. For example, if a Workflow Definition references an Email Template, then the cmdlet guarantees that the EmailTemplate exists prior to creating the WorkflowDefinition.

All resources are processed generically without regard to object type except for Management Policy Rule (MPR) resources. These resources are processed in a special way. The cmdlet guarantees that all dependent sets are updated prior to updating Workflow Definitions.

To avoid a common error: The Compare-FIMConfig cmdlet requires that no cycles exist in the configuration references in order to guarantee precedence order. If a cycle exists, the cmdlet reports an error and does not generate correct changes. To proceed, remove at least one reference in the cycle.

For more information about the Microsoft® Forefront Identity Manager (FIM) 2010 Windows PowerShell™ cmdlet set see Forefront Identity Manager Configuration with Windows PowerShell.

Parameters

--MatchObject <MatchObject[]>

Specifies the list of MatchObject instances to process.

-matchObject $objectsToProcess

Attributes

Name Value

Required?

false

Accept Wildcard Characters?

false

Accept Pipeline Input?

true

Position?

named

--FriendlyName <SwitchParameter>

Specifies whether to emit references by using friendly names.

Attributes

Name Value

Required?

false

Accept Wildcard Characters?

false

Accept Pipeline Input?

false

Position?

named

--CommonParameters

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see about_CommonParameters.

-CommonParameter

This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, and OutVariable. For more information, see about_CommonParameters.

Input and Return Types

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

Examples

EXAMPLE 1

Command prompt:

 
          $imports = $matches | Compare-FIMConfig 
        

This is a simple example of comparing.

Note that you may inspect $imports prior to committing it to the target system.

EXAMPLE 2

Command prompt:

 
          $imports = $matches | Compare-FIMConfig -FriendlyName
          Write-Host $imports[0].Changes 
        

This example displays the specific attribute-level changes that the first ImportObject includes.

Note that inspecting $imports no longer contains globally unique identifiers (GUIDs) in references, but instead the references are easily readable.

urn:[ObjectType]:[AnchorAttributeName]:{[AnchorAttributeValue]}

See Also

Reference

Export-FIMConfig
Join-FIMConfig
Import-FIMConfig
ConvertFrom-FIMResource
ConvertTo-FIMResource