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