Sync Rules¶
Sync rules define how data flows between connected systems and the metaverse. They control attribute mappings, scoping criteria, and object matching logic. The cmdlets on this page cover the full lifecycle of sync rule configuration.
Sync Rule CRUD¶
Create, retrieve, update, and delete sync rules.
Get-JIMSyncRule¶
Retrieves one or more sync rules. When called without parameters, returns all sync rules. Use the parameter sets to filter by ID, connected system ID, or connected system name.
Syntax¶
# List all sync rules (default)
Get-JIMSyncRule [-Name <string>]
# By sync rule ID
Get-JIMSyncRule -Id <int>
# By connected system ID
Get-JIMSyncRule -ConnectedSystemId <int> [-Name <string>]
# By connected system name
Get-JIMSyncRule -ConnectedSystemName <string> [-Name <string>]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
Id |
int |
Yes (ById set) | The ID of a specific sync rule to retrieve | |
ConnectedSystemId |
int |
No | Filter sync rules by connected system ID. Accepts pipeline input. | |
ConnectedSystemName |
string |
No | Filter sync rules by connected system name. Must be an exact match. | |
Name |
string |
No | Filter sync rules by name. Supports wildcards (e.g., "Inbound*"). |
Output¶
Returns one or more sync rule objects containing the rule configuration, direction, projection/provisioning settings, and enabled state.
Examples¶
$cs = Get-JIMConnectedSystem -Name "HR System"
Get-JIMSyncRule -ConnectedSystemId $cs.Id
New-JIMSyncRule¶
Creates a new sync rule for a connected system. The rule defines how objects flow between the connected system and the metaverse.
Syntax¶
# By connected system ID (default)
New-JIMSyncRule -Name <string> -ConnectedSystemId <int>
-ConnectedSystemObjectTypeId <int> -MetaverseObjectTypeId <int>
-Direction <string> [-ProjectToMetaverse] [-ProvisionToConnectedSystem]
[-Enabled <bool>] [-PassThru]
# By connected system name
New-JIMSyncRule -Name <string> -ConnectedSystemName <string>
-ConnectedSystemObjectTypeId <int> -MetaverseObjectTypeId <int>
-Direction <string> [-ProjectToMetaverse] [-ProvisionToConnectedSystem]
[-Enabled <bool>] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
Name |
string |
Yes (Position 0) | Display name for the sync rule | |
ConnectedSystemId |
int |
Yes (ById set) | The ID of the connected system this rule belongs to | |
ConnectedSystemName |
string |
Yes (ByName set) | The name of the connected system this rule belongs to | |
ConnectedSystemObjectTypeId |
int |
Yes | The object type ID on the connected system side | |
MetaverseObjectTypeId |
int |
Yes | The object type ID on the metaverse side | |
Direction |
string |
Yes | Data flow direction. Valid values: Import, Export |
|
ProjectToMetaverse |
switch |
No | $false |
When set, import rules will project new metaverse objects. Only applicable when Direction is Import. |
ProvisionToConnectedSystem |
switch |
No | $false |
When set, export rules will provision new connected system objects. Only applicable when Direction is Export. |
Enabled |
bool |
No | $true |
Whether the sync rule is active |
PassThru |
switch |
No | $false |
Returns the created sync rule object |
Output¶
With -PassThru, returns the created sync rule object. Without it, returns nothing.
ShouldProcess impact level: Medium.
Examples¶
New-JIMSyncRule -Name "AD User Import" `
-ConnectedSystemId 1 `
-ConnectedSystemObjectTypeId 3 `
-MetaverseObjectTypeId 1 `
-Direction Import `
-ProjectToMetaverse `
-PassThru
New-JIMSyncRule -Name "AD User Export" `
-ConnectedSystemName "Active Directory" `
-ConnectedSystemObjectTypeId 3 `
-MetaverseObjectTypeId 1 `
-Direction Export `
-ProvisionToConnectedSystem
New-JIMSyncRule -Name "HR Import (Draft)" `
-ConnectedSystemId 2 `
-ConnectedSystemObjectTypeId 5 `
-MetaverseObjectTypeId 1 `
-Direction Import `
-Enabled $false
Set-JIMSyncRule¶
Modifies an existing sync rule. Supports renaming, toggling enabled state, and changing projection/provisioning settings.
Syntax¶
# By ID (default)
Set-JIMSyncRule -Id <int> [-Name <string>] [-ProjectToMetaverse <bool>]
[-ProvisionToConnectedSystem <bool>] [-PassThru]
# Enable shortcut
Set-JIMSyncRule -Id <int> -Enable [-PassThru]
# Disable shortcut
Set-JIMSyncRule -Id <int> -Disable [-PassThru]
# By input object
Set-JIMSyncRule -InputObject <PSCustomObject> [-Name <string>]
[-ProjectToMetaverse <bool>] [-ProvisionToConnectedSystem <bool>]
[-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
Id |
int |
Yes (ById, Enable, Disable sets) | The ID of the sync rule to modify. Accepts pipeline input. | |
InputObject |
PSCustomObject |
Yes (ByInputObject set) | A sync rule object from Get-JIMSyncRule. Accepts pipeline input. |
|
Name |
string |
No | New display name for the sync rule | |
Enable |
switch |
Yes (Enable set) | Enables the sync rule | |
Disable |
switch |
Yes (Disable set) | Disables the sync rule | |
ProjectToMetaverse |
bool |
No | Controls whether the rule projects new metaverse objects | |
ProvisionToConnectedSystem |
bool |
No | Controls whether the rule provisions new connected system objects | |
PassThru |
switch |
No | $false |
Returns the updated sync rule object |
Output¶
With -PassThru, returns the updated sync rule object. Without it, returns nothing.
ShouldProcess impact level: Medium.
Examples¶
Get-JIMSyncRule -ConnectedSystemName "HR System" | Set-JIMSyncRule -Disable
Set-JIMSyncRule -Id 5 -ProjectToMetaverse $true -PassThru
Remove-JIMSyncRule¶
Deletes a sync rule and all associated configuration, including attribute mappings, scoping criteria, and matching rules.
Syntax¶
# By ID (default)
Remove-JIMSyncRule -Id <int> [-Force] [-PassThru]
# By input object
Remove-JIMSyncRule -InputObject <PSCustomObject> [-Force] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
Id |
int |
Yes (ById set) | The ID of the sync rule to delete. Accepts pipeline input. | |
InputObject |
PSCustomObject |
Yes (ByInputObject set) | A sync rule object from Get-JIMSyncRule. Accepts pipeline input. |
|
Force |
switch |
No | $false |
Suppresses the confirmation prompt |
PassThru |
switch |
No | $false |
Returns the deleted sync rule object before removal |
Output¶
With -PassThru, returns the sync rule object that was deleted. Without it, returns nothing.
ShouldProcess impact level: High. Prompts for confirmation unless -Force is specified.
Examples¶
Get-JIMSyncRule -ConnectedSystemName "Legacy HR" |
Where-Object { -not $_.Enabled } |
Remove-JIMSyncRule -Force
Attribute Mappings¶
Configure how attributes flow between connected system objects and metaverse objects within a sync rule. Mappings can use direct attribute-to-attribute flows or expression-based transformations.
Get-JIMSyncRuleMapping¶
Retrieves attribute flow mappings for a sync rule. Returns all mappings for the rule, or a specific mapping by ID.
Syntax¶
# All mappings for a sync rule
Get-JIMSyncRuleMapping -SyncRuleId <int>
# Specific mapping
Get-JIMSyncRuleMapping -SyncRuleId <int> -MappingId <int>
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
SyncRuleId |
int |
Yes | The ID of the sync rule. Accepts pipeline input. Alias: Id. |
|
MappingId |
int |
No | The ID of a specific mapping to retrieve |
Output¶
Returns one or more mapping objects representing attribute flow rules. Each mapping includes the source attribute(s) or expression, the target attribute, and the flow direction.
Examples¶
New-JIMSyncRuleMapping¶
Creates a new attribute flow mapping on a sync rule. Mappings can be direct attribute flows (one or more source attributes to a target) or expression-based transformations.
Syntax¶
# Import: direct attribute flow (CS -> MV)
New-JIMSyncRuleMapping -SyncRuleId <int>
-SourceConnectedSystemAttributeId <int[]>
-TargetMetaverseAttributeId <int>
# Import: expression-based flow (CS -> MV)
New-JIMSyncRuleMapping -SyncRuleId <int>
-Expression <string>
-TargetMetaverseAttributeId <int>
# Export: direct attribute flow (MV -> CS)
New-JIMSyncRuleMapping -SyncRuleId <int>
-SourceMetaverseAttributeId <int[]>
-TargetConnectedSystemAttributeId <int>
# Export: expression-based flow (MV -> CS)
New-JIMSyncRuleMapping -SyncRuleId <int>
-Expression <string>
-TargetConnectedSystemAttributeId <int>
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
SyncRuleId |
int |
Yes | The ID of the sync rule. Accepts pipeline input. Alias: Id. |
|
TargetMetaverseAttributeId |
int |
Yes (Import sets) | The metaverse attribute to write to (import direction) | |
TargetConnectedSystemAttributeId |
int |
Yes (Export sets) | The connected system attribute to write to (export direction) | |
SourceConnectedSystemAttributeId |
int[] |
Yes (ImportAttribute set) | One or more connected system attribute IDs to read from | |
SourceMetaverseAttributeId |
int[] |
Yes (ExportAttribute set) | One or more metaverse attribute IDs to read from | |
Expression |
string |
Yes (ImportExpression, ExportExpression sets) | A DynamicExpresso expression. Use mv["Name"] for metaverse attributes and cs["Name"] for connected system attributes. |
Output¶
Returns the created mapping object.
ShouldProcess impact level: Medium.
Notes¶
- When multiple source attributes are provided, they are automatically ordered by position (0, 1, 2, and so on).
- Expressions use DynamicExpresso syntax with
mv["AttributeName"]andcs["AttributeName"]accessors.
Examples¶
New-JIMSyncRuleMapping -SyncRuleId 5 `
-SourceConnectedSystemAttributeId 10 `
-TargetMetaverseAttributeId 3
New-JIMSyncRuleMapping -SyncRuleId 5 `
-Expression 'cs["givenName"] + " " + cs["sn"]' `
-TargetMetaverseAttributeId 7
New-JIMSyncRuleMapping -SyncRuleId 8 `
-SourceMetaverseAttributeId 15 `
-TargetConnectedSystemAttributeId 22
New-JIMSyncRuleMapping -SyncRuleId 5 `
-SourceConnectedSystemAttributeId 10, 11 `
-TargetMetaverseAttributeId 7
Remove-JIMSyncRuleMapping¶
Deletes an attribute flow mapping from a sync rule.
Syntax¶
# By IDs
Remove-JIMSyncRuleMapping -SyncRuleId <int> -MappingId <int> [-Force]
# By input object
Remove-JIMSyncRuleMapping -SyncRuleId <int> -InputObject <PSCustomObject> [-Force]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
SyncRuleId |
int |
Yes | The ID of the sync rule | |
MappingId |
int |
Yes (by ID) | The ID of the mapping to delete. Accepts pipeline input. Alias: Id. |
|
InputObject |
PSCustomObject |
Yes (by object) | A mapping object from Get-JIMSyncRuleMapping. Accepts pipeline input. |
|
Force |
switch |
No | $false |
Suppresses the confirmation prompt |
Output¶
None.
ShouldProcess impact level: High. Prompts for confirmation unless -Force is specified.
Examples¶
Get-JIMSyncRuleMapping -SyncRuleId 5 |
Remove-JIMSyncRuleMapping -SyncRuleId 5 -Force
Scoping Criteria¶
Scoping criteria control which objects a sync rule processes. Criteria are organised into groups that evaluate as All (AND) or Any (OR), and groups can be nested for complex logic.
Get-JIMScopingCriteria¶
Retrieves scoping criteria groups and their nested criteria for a sync rule.
Syntax¶
# All groups for a sync rule
Get-JIMScopingCriteria -SyncRuleId <int>
# Specific group
Get-JIMScopingCriteria -SyncRuleId <int> -GroupId <int>
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
SyncRuleId |
int |
Yes | The ID of the sync rule. Accepts pipeline input. Alias: Id. |
|
GroupId |
int |
No | The ID of a specific scoping criteria group to retrieve |
Output¶
Returns one or more scoping criteria group objects. Each group contains its type (All or Any), position, and nested criteria or child groups.
Examples¶
New-JIMScopingCriteriaGroup¶
Creates a new scoping criteria group on a sync rule. Groups evaluate their contents using either All (AND) or Any (OR) logic. Groups can be nested within other groups to build complex scoping expressions.
Syntax¶
New-JIMScopingCriteriaGroup -SyncRuleId <int>
[-ParentGroupId <int>] [-Type <string>] [-Position <int>] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
SyncRuleId |
int |
Yes | The ID of the sync rule. Accepts pipeline input. | |
ParentGroupId |
int |
No | The ID of a parent group to nest this group within | |
Type |
string |
No | All |
Evaluation logic for the group. Valid values: All (AND), Any (OR). |
Position |
int |
No | 0 |
Display order position within the parent context |
PassThru |
switch |
No | $false |
Returns the created group object |
Output¶
With -PassThru, returns the created scoping criteria group object. Without it, returns nothing.
ShouldProcess impact level: Medium.
Examples¶
New-JIMScopingCriteriaGroup -SyncRuleId 5 -ParentGroupId 2 -Type Any
New-JIMScopingCriteriaGroup -SyncRuleId 5 -Type All -Position 1
Set-JIMScopingCriteriaGroup¶
Modifies an existing scoping criteria group; for example, changing the evaluation type or position.
Syntax¶
Set-JIMScopingCriteriaGroup -SyncRuleId <int> -GroupId <int>
[-Type <string>] [-Position <int>] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
SyncRuleId |
int |
Yes | The ID of the sync rule. Accepts pipeline input. | |
GroupId |
int |
Yes | The ID of the group to modify. Accepts pipeline input. Alias: Id. |
|
Type |
string |
No | Evaluation logic. Valid values: All (AND), Any (OR). |
|
Position |
int |
No | Display order position | |
PassThru |
switch |
No | $false |
Returns the updated group object |
Output¶
With -PassThru, returns the updated scoping criteria group object. Without it, returns nothing.
ShouldProcess impact level: Medium.
Examples¶
Remove-JIMScopingCriteriaGroup¶
Deletes a scoping criteria group and all of its nested criteria and child groups.
Syntax¶
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
SyncRuleId |
int |
Yes | The ID of the sync rule. Accepts pipeline input. | |
GroupId |
int |
Yes | The ID of the group to delete. Accepts pipeline input. Alias: Id. |
Output¶
None.
ShouldProcess impact level: High. Prompts for confirmation.
Notes¶
- Deleting a group also deletes all nested criteria and child groups within it. This operation is not reversible.
Examples¶
New-JIMScopingCriterion¶
Adds an individual scoping criterion to a group. Each criterion compares an attribute value against a specified constant. Import rules use connected system attributes; export rules use metaverse attributes.
Syntax¶
# By metaverse attribute ID
New-JIMScopingCriterion -SyncRuleId <int> -GroupId <int>
-MetaverseAttributeId <int> -ComparisonType <string>
[-StringValue <string>] [-IntValue <int>] [-DateTimeValue <datetime>]
[-BoolValue <bool>] [-GuidValue <guid>] [-PassThru]
# By metaverse attribute name
New-JIMScopingCriterion -SyncRuleId <int> -GroupId <int>
-MetaverseAttributeName <string> -ComparisonType <string>
[-StringValue <string>] [-IntValue <int>] [-DateTimeValue <datetime>]
[-BoolValue <bool>] [-GuidValue <guid>] [-PassThru]
# By connected system attribute ID
New-JIMScopingCriterion -SyncRuleId <int> -GroupId <int>
-ConnectedSystemAttributeId <int> -ComparisonType <string>
[-StringValue <string>] [-IntValue <int>] [-DateTimeValue <datetime>]
[-BoolValue <bool>] [-GuidValue <guid>] [-PassThru]
# By connected system attribute name
New-JIMScopingCriterion -SyncRuleId <int> -GroupId <int>
-ConnectedSystemAttributeName <string> -ComparisonType <string>
[-StringValue <string>] [-IntValue <int>] [-DateTimeValue <datetime>]
[-BoolValue <bool>] [-GuidValue <guid>] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
SyncRuleId |
int |
Yes | The ID of the sync rule | |
GroupId |
int |
Yes | The ID of the scoping criteria group to add this criterion to | |
MetaverseAttributeId |
int |
Yes (ByMvId set) | The metaverse attribute ID to evaluate (export rules only) | |
MetaverseAttributeName |
string |
Yes (ByMvName set) | The metaverse attribute name to evaluate; auto-resolves to ID (export rules only) | |
ConnectedSystemAttributeId |
int |
Yes (ByCsId set) | The connected system attribute ID to evaluate (import rules only) | |
ConnectedSystemAttributeName |
string |
Yes (ByCsName set) | The connected system attribute name to evaluate; auto-resolves to ID (import rules only) | |
ComparisonType |
string |
Yes | The comparison operator. Valid values: Equals, NotEquals, StartsWith, NotStartsWith, EndsWith, NotEndsWith, Contains, NotContains, LessThan, LessThanOrEquals, GreaterThan, GreaterThanOrEquals. |
|
StringValue |
string |
No | String value to compare against | |
IntValue |
int |
No | Integer value to compare against | |
DateTimeValue |
datetime |
No | Date/time value to compare against (ISO 8601 format) | |
BoolValue |
bool |
No | Boolean value to compare against | |
GuidValue |
guid |
No | GUID value to compare against | |
PassThru |
switch |
No | $false |
Returns the created criterion object |
Output¶
With -PassThru, returns the created scoping criterion object. Without it, returns nothing.
ShouldProcess impact level: Medium.
Notes¶
- Export rules only support metaverse attributes. Import rules only support connected system attributes.
- Exactly one comparison value parameter should be provided; the correct parameter depends on the attribute's data type.
Examples¶
New-JIMScopingCriterion -SyncRuleId 5 -GroupId 2 `
-ConnectedSystemAttributeName "objectClass" `
-ComparisonType Equals `
-StringValue "user"
New-JIMScopingCriterion -SyncRuleId 5 -GroupId 2 `
-ConnectedSystemAttributeId 14 `
-ComparisonType GreaterThan `
-IntValue 1000
New-JIMScopingCriterion -SyncRuleId 8 -GroupId 3 `
-MetaverseAttributeName "accountEnabled" `
-ComparisonType Equals `
-BoolValue $true
New-JIMScopingCriterion -SyncRuleId 5 -GroupId 2 `
-ConnectedSystemAttributeName "department" `
-ComparisonType StartsWith `
-StringValue "Engineering"
New-JIMScopingCriterion -SyncRuleId 8 -GroupId 3 `
-MetaverseAttributeId 20 `
-ComparisonType GreaterThanOrEquals `
-DateTimeValue "2025-01-01T00:00:00Z"
Remove-JIMScopingCriterion¶
Deletes a single scoping criterion from a group.
Syntax¶
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
SyncRuleId |
int |
Yes | The ID of the sync rule | |
GroupId |
int |
Yes | The ID of the scoping criteria group | |
CriterionId |
int |
Yes | The ID of the criterion to delete. Alias: Id. |
Output¶
None.
ShouldProcess impact level: High. Prompts for confirmation.
Examples¶
Object Matching Rules¶
Matching rules determine how JIM links connected system objects to metaverse objects during synchronisation. JIM supports two matching modes:
- Per-object-type (simple): matching rules are defined at the connected system level and apply to all sync rules for a given object type. This is the default mode.
- Per-sync-rule (advanced): each sync rule has its own independent matching rules, allowing different sync rules to use different join criteria.
Use Switch-JIMMatchingMode to change between modes. The current mode determines which set of cmdlets to use.
Switch-JIMMatchingMode¶
Switches a connected system between per-object-type (simple) and per-sync-rule (advanced) matching modes. Existing matching rules are migrated automatically during the switch.
Syntax¶
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | The ID of the connected system. Accepts pipeline input. | |
Mode |
string |
Yes | Target matching mode. Valid values: ConnectedSystem (simple, per-object-type), SyncRule (advanced, per-sync-rule). |
|
PassThru |
switch |
No | $false |
Returns the updated connected system object |
Output¶
With -PassThru, returns the connected system object reflecting the new mode. Without it, returns nothing.
ShouldProcess impact level: High. Prompts for confirmation.
Notes¶
ConnectedSystemmode defines matching rules at the object type level; all sync rules for that object type share the same matching configuration.SyncRulemode defines matching rules on each sync rule independently, providing fine-grained control.- When switching modes, existing rules are migrated automatically. Review the migrated rules after switching to confirm they are correct.
Examples¶
Switch-JIMMatchingMode -ConnectedSystemId 1 -Mode ConnectedSystem
Per-Object-Type Matching Rules¶
These cmdlets manage matching rules in simple (per-object-type) mode, where rules are defined at the connected system level.
Get-JIMMatchingRule¶
Retrieves matching rules for a connected system.
Syntax¶
# By object type
Get-JIMMatchingRule -ConnectedSystemId <int> -ObjectTypeId <int>
# By rule ID
Get-JIMMatchingRule -ConnectedSystemId <int> -Id <int>
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | The ID of the connected system. Accepts pipeline input. | |
ObjectTypeId |
int |
Yes (ByObjectType set) | The object type ID to retrieve matching rules for | |
Id |
int |
Yes (ById set) | The ID of a specific matching rule to retrieve |
Output¶
Returns one or more matching rule objects containing source/target attribute mappings, order, and case sensitivity settings.
Examples¶
Get-JIMMatchingRule -ConnectedSystemId 1 -ObjectTypeId 3
New-JIMMatchingRule¶
Creates a new matching rule for a connected system object type. Rules can match on a connected system attribute or a metaverse attribute as the source.
Syntax¶
# Source: connected system attribute
New-JIMMatchingRule -ConnectedSystemId <int> -ObjectTypeId <int>
-MetaverseObjectTypeId <int> -SourceAttributeId <int>
-TargetMetaverseAttributeId <int> [-Order <int>]
[-CaseSensitive <bool>] [-PassThru]
# Source: metaverse attribute
New-JIMMatchingRule -ConnectedSystemId <int> -ObjectTypeId <int>
-MetaverseObjectTypeId <int> -SourceMetaverseAttributeId <int>
-TargetMetaverseAttributeId <int> [-Order <int>]
[-CaseSensitive <bool>] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | The ID of the connected system | |
ObjectTypeId |
int |
Yes | The connected system object type ID | |
MetaverseObjectTypeId |
int |
Yes | The metaverse object type ID to match against | |
SourceAttributeId |
int |
Yes (CSAttribute set) | The connected system attribute ID to use as the match source | |
SourceMetaverseAttributeId |
int |
Yes (MVAttribute set) | The metaverse attribute ID to use as the match source | |
TargetMetaverseAttributeId |
int |
Yes | The metaverse attribute ID to match against | |
Order |
int |
No | Evaluation order; lower numbers are evaluated first | |
CaseSensitive |
bool |
No | $false |
Whether the match comparison is case-sensitive |
PassThru |
switch |
No | $false |
Returns the created matching rule object |
Examples¶
New-JIMMatchingRule -ConnectedSystemId 1 -ObjectTypeId 3 `
-MetaverseObjectTypeId 1 `
-SourceAttributeId 10 `
-TargetMetaverseAttributeId 5 `
-PassThru
New-JIMMatchingRule -ConnectedSystemId 1 -ObjectTypeId 3 `
-MetaverseObjectTypeId 1 `
-SourceAttributeId 12 `
-TargetMetaverseAttributeId 8 `
-CaseSensitive $true
Set-JIMMatchingRule¶
Modifies an existing per-object-type matching rule. Setting a source attribute replaces all existing source attributes on the rule.
Syntax¶
Set-JIMMatchingRule -ConnectedSystemId <int> -Id <int>
[-Order <int>] [-MetaverseObjectTypeId <int>]
[-TargetMetaverseAttributeId <int>] [-SourceAttributeId <int>]
[-SourceMetaverseAttributeId <int>] [-CaseSensitive <bool>] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | The ID of the connected system | |
Id |
int |
Yes | The ID of the matching rule to modify | |
Order |
int |
No | New evaluation order | |
MetaverseObjectTypeId |
int |
No | New metaverse object type ID | |
TargetMetaverseAttributeId |
int |
No | New target metaverse attribute ID | |
SourceAttributeId |
int |
No | New connected system source attribute ID | |
SourceMetaverseAttributeId |
int |
No | New metaverse source attribute ID | |
CaseSensitive |
bool |
No | Whether the match comparison is case-sensitive | |
PassThru |
switch |
No | $false |
Returns the updated matching rule object |
Notes¶
- Setting
SourceAttributeIdorSourceMetaverseAttributeIdreplaces all existing source attributes on the rule.
Examples¶
Remove-JIMMatchingRule¶
Deletes a per-object-type matching rule.
Syntax¶
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | The ID of the connected system | |
Id |
int |
Yes | The ID of the matching rule to delete | |
Force |
switch |
No | $false |
Suppresses the confirmation prompt |
Output¶
None.
ShouldProcess impact level: High. Prompts for confirmation unless -Force is specified.
Examples¶
Per-Sync-Rule Matching Rules¶
These cmdlets manage matching rules in advanced (per-sync-rule) mode, where each sync rule defines its own matching configuration independently.
Get-JIMSyncRuleMatchingRule¶
Retrieves matching rules for a specific sync rule.
Syntax¶
# All matching rules for a sync rule
Get-JIMSyncRuleMatchingRule -SyncRuleId <int>
# Specific matching rule
Get-JIMSyncRuleMatchingRule -SyncRuleId <int> -Id <int>
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
SyncRuleId |
int |
Yes | The ID of the sync rule. Accepts pipeline input. | |
Id |
int |
No | The ID of a specific matching rule to retrieve |
Output¶
Returns one or more matching rule objects.
Examples¶
New-JIMSyncRuleMatchingRule¶
Creates a new matching rule on a specific sync rule. The metaverse object type is derived automatically from the sync rule configuration.
Syntax¶
# Source: connected system attribute
New-JIMSyncRuleMatchingRule -SyncRuleId <int>
-SourceAttributeId <int> -TargetMetaverseAttributeId <int>
[-Order <int>] [-CaseSensitive <bool>] [-PassThru]
# Source: metaverse attribute
New-JIMSyncRuleMatchingRule -SyncRuleId <int>
-SourceMetaverseAttributeId <int> -TargetMetaverseAttributeId <int>
[-Order <int>] [-CaseSensitive <bool>] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
SyncRuleId |
int |
Yes | The ID of the sync rule | |
SourceAttributeId |
int |
Yes (CSAttribute set) | The connected system attribute ID to use as the match source | |
SourceMetaverseAttributeId |
int |
Yes (MVAttribute set) | The metaverse attribute ID to use as the match source | |
TargetMetaverseAttributeId |
int |
Yes | The metaverse attribute ID to match against | |
Order |
int |
No | Evaluation order; lower numbers are evaluated first | |
CaseSensitive |
bool |
No | $false |
Whether the match comparison is case-sensitive |
PassThru |
switch |
No | $false |
Returns the created matching rule object |
Notes¶
- The metaverse object type is derived from the sync rule, so you do not need to specify it explicitly.
Examples¶
New-JIMSyncRuleMatchingRule -SyncRuleId 5 `
-SourceAttributeId 10 `
-TargetMetaverseAttributeId 5 `
-PassThru
New-JIMSyncRuleMatchingRule -SyncRuleId 5 `
-SourceAttributeId 12 `
-TargetMetaverseAttributeId 8 `
-CaseSensitive $true
Set-JIMSyncRuleMatchingRule¶
Modifies an existing per-sync-rule matching rule.
Syntax¶
Set-JIMSyncRuleMatchingRule -SyncRuleId <int> -Id <int>
[-Order <int>] [-TargetMetaverseAttributeId <int>]
[-SourceAttributeId <int>] [-SourceMetaverseAttributeId <int>]
[-CaseSensitive <bool>] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
SyncRuleId |
int |
Yes | The ID of the sync rule | |
Id |
int |
Yes | The ID of the matching rule to modify | |
Order |
int |
No | New evaluation order | |
TargetMetaverseAttributeId |
int |
No | New target metaverse attribute ID | |
SourceAttributeId |
int |
No | New connected system source attribute ID | |
SourceMetaverseAttributeId |
int |
No | New metaverse source attribute ID | |
CaseSensitive |
bool |
No | Whether the match comparison is case-sensitive | |
PassThru |
switch |
No | $false |
Returns the updated matching rule object |
Examples¶
Set-JIMSyncRuleMatchingRule -SyncRuleId 5 -Id 3 `
-TargetMetaverseAttributeId 9 `
-CaseSensitive $true
Remove-JIMSyncRuleMatchingRule¶
Deletes a per-sync-rule matching rule.
Syntax¶
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
SyncRuleId |
int |
Yes | The ID of the sync rule | |
Id |
int |
Yes | The ID of the matching rule to delete | |
Force |
switch |
No | $false |
Suppresses the confirmation prompt |
Output¶
None.
ShouldProcess impact level: High. Prompts for confirmation unless -Force is specified.
Examples¶
See also¶
- API Sync Rules: REST API reference for sync rule endpoints
- Connected Systems: PowerShell cmdlets for managing connected systems
- Metaverse: PowerShell cmdlets for managing the metaverse