Join-FIMConfig
Joins two lists of ExportObject instances by using join criteria.
Syntax
Join-FIMConfig
[-Target <ExportObject[]>]
[-Source <ExportObject[]>]
[-Join <Hashtable>]
[-DefaultJoin <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The Join-FIMConfig cmdlet accepts two lists of ExportObject instances and joins them into MatchObject instances.
The cmdlet performs the join by using criteria specified as arguments to the cmdlet. The join criteria are specific attributes to compare by using case-sensitive matching.
You may specify individual join criteria for each resource type. For example, you may join on EmployeeID for Person and MailNickname for Groups.
You can also use multiple attributes as join criteria. For example, you can join ConstantSpecifier resources on both the DisplayName and Value.
No default join criteria are provided. To ensure that this tool joins on attributes or collections of attributes that are unique in your organization, you must specify the join criteria.
For migrating resources to an empty environment, it is often convenient to use ObjectID as the default join criteria.
To preserve joins or to join resources manually, you can provide MatchObject instances in the previous join parameter. These MatchObject instances are used prior to join criteria in matching resources.
For more information about themmseeWindows PowerShellâ„¢ cmdlet set see about_FIM.
Examples
EXAMPLE 1
$matches = Join-FIMConfig -source $pilot -target $production -defaultJoin "DisplayName"
This example joins all resources by DisplayName.
Note that $pilot and $production are different collections.
EXAMPLE 2
$join = @{"Person" = "EmployeeID DisplayName"; "Group" = "Email DisplayName"} $matches = Join-FIMConfig -source $pilot -target $production -join $join -defaultJoin "DisplayName"
This example joins Person resources by EmployeeID, Group resources by Email and DisplayName (because DisplayName is not often unique), and everything else by display name.
Notice that you can join specific object types by multiple attributes. In this example, Group is joined by using Email and DisplayName. Also notice that explicit joins for object types specified in join take precedence over defaultJoin. We recommend that you use EmployeeID or similar attributes for Person resources because DisplayName often is not sufficiently unique.
Parameters
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultJoin
{{Fill DefaultJoin Description}}
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Join
{{Fill Join Description}}
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Source
{{Fill Source Description}}
Type: | ExportObject[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Target
{{Fill Target Description}}
Type: | ExportObject[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
None
This cmdlet takes no input.
Outputs
MatchObject[]
A list of MatchObject instances. Each MatchObject contains the full representation of the FIM object from each the source and target FIM services.