Connected Systems¶
The connected systems cmdlets manage the full lifecycle of connected systems in JIM: creating and configuring systems, importing schemas and hierarchy, selecting object types and attributes, browsing connector space objects, and reviewing pending exports. Most cmdlets support pipeline input for scripting and automation workflows.
Get-JIMConnectedSystem¶
Retrieves one or more connected systems, their object types, or a deletion impact preview.
Syntax¶
# List (default)
Get-JIMConnectedSystem [-Name <string>]
# ById
Get-JIMConnectedSystem -Id <int>
# ObjectTypes
Get-JIMConnectedSystem -Id <int> -ObjectTypes
# DeletionPreview
Get-JIMConnectedSystem -Id <int> -DeletionPreview
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
Id |
int |
Yes (ById, ObjectTypes, DeletionPreview) | Connected system identifier. Accepts pipeline input by property name. | |
Name |
string |
No (List only) | Filter by name; supports wildcard characters (*, ?) |
|
ObjectTypes |
switch |
No | $false |
Returns the object types configured on the connected system |
DeletionPreview |
switch |
No | $false |
Returns a deletion impact preview for the connected system |
Output¶
- List / ById: Connected system objects with properties such as
Id,Name,Description,ConnectorDefinitionId, and configuration state. - ObjectTypes: Object type definitions for the specified connected system.
- DeletionPreview: Deletion impact preview with counts and warnings.
Examples¶
New-JIMConnectedSystem¶
Creates a new connected system.
Syntax¶
New-JIMConnectedSystem [-Name] <string> -ConnectorDefinitionId <int>
[-Description <string>] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
Name |
string |
Yes (Position 0) | Display name for the connected system | |
ConnectorDefinitionId |
int |
Yes | Identifier of the connector definition to use | |
Description |
string |
No | Optional description | |
PassThru |
switch |
No | $false |
Returns the created connected system object |
Output¶
When -PassThru is specified, returns the newly created connected system object. Otherwise, no output.
Examples¶
$cs = New-JIMConnectedSystem "HR Database" -ConnectorDefinitionId 2 -Description "Primary HR source" -PassThru
Notes¶
- Supports
ShouldProcess(Medium impact). Use-WhatIfor-Confirmto preview or prompt before creation.
Set-JIMConnectedSystem¶
Updates the configuration of an existing connected system.
Syntax¶
# ById (default)
Set-JIMConnectedSystem -Id <int> [-Name <string>] [-Description <string>]
[-SettingValues <hashtable>] [-MaxExportParallelism <int>] [-PassThru]
# ByInputObject
Set-JIMConnectedSystem -InputObject <PSCustomObject> [-Name <string>]
[-Description <string>] [-SettingValues <hashtable>]
[-MaxExportParallelism <int>] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
Id |
int |
Yes (ById) | Connected system identifier | |
InputObject |
PSCustomObject |
Yes (ByInputObject) | Connected system object from the pipeline | |
Name |
string |
No | New display name | |
Description |
string |
No | New description | |
SettingValues |
hashtable |
No | Connector-specific settings. Keys are setting IDs; values are hashtables with stringValue, intValue, or checkboxValue. |
|
MaxExportParallelism |
int |
No | Maximum number of parallel export threads (1 to 16) | |
PassThru |
switch |
No | $false |
Returns the updated connected system object |
Output¶
When -PassThru is specified, returns the updated connected system object. Otherwise, no output.
Examples¶
Set-JIMConnectedSystem -Id 3 -SettingValues @{
1 = @{ stringValue = "ldaps://dc01.example.com" }
2 = @{ intValue = 636 }
3 = @{ checkboxValue = $true }
}
Get-JIMConnectedSystem -Id 3 | Set-JIMConnectedSystem -MaxExportParallelism 8 -PassThru
Notes¶
- Supports
ShouldProcess(Medium impact). Use-WhatIfor-Confirmto preview or prompt before changes.
Remove-JIMConnectedSystem¶
Deletes a connected system and all its associated data.
Syntax¶
# ById (default)
Remove-JIMConnectedSystem -Id <int> [-Force] [-PassThru]
# ByInputObject
Remove-JIMConnectedSystem -InputObject <PSCustomObject> [-Force] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
Id |
int |
Yes (ById) | Connected system identifier | |
InputObject |
PSCustomObject |
Yes (ByInputObject) | Connected system object from the pipeline | |
Force |
switch |
No | $false |
Suppresses the confirmation prompt |
PassThru |
switch |
No | $false |
Returns the deleted connected system object |
Output¶
When -PassThru is specified, returns the deleted connected system object. Otherwise, no output.
Examples¶
Notes¶
- Supports
ShouldProcess(High impact). Without-Force, you will be prompted for confirmation. - Small connected systems (fewer than 1,000 objects) are deleted immediately. Large systems are queued as a background job; you can monitor progress in the activities log.
Import-JIMConnectedSystemSchema¶
Imports (or re-imports) the schema from the connected data source. This discovers available object types and attributes.
Syntax¶
# ById (default)
Import-JIMConnectedSystemSchema -Id <int> [-PassThru]
# ByInputObject
Import-JIMConnectedSystemSchema -InputObject <PSCustomObject> [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
Id |
int |
Yes (ById) | Connected system identifier | |
InputObject |
PSCustomObject |
Yes (ByInputObject) | Connected system object from the pipeline | |
PassThru |
switch |
No | $false |
Returns the connected system object after schema import |
Output¶
When -PassThru is specified, returns the connected system object. Otherwise, no output.
Examples¶
New-JIMConnectedSystem "LDAP Directory" -ConnectorDefinitionId 1 -PassThru |
Import-JIMConnectedSystemSchema -PassThru
Notes¶
- This operation is destructive: it replaces the existing schema. Any object type or attribute selections that no longer match the new schema are removed.
- Schema import is required before creating sync rules for a connected system.
- Supports
ShouldProcess(Medium impact).
Import-JIMConnectedSystemHierarchy¶
Imports (or re-imports) the partition and container hierarchy from the connected data source.
Syntax¶
# ById (default)
Import-JIMConnectedSystemHierarchy -Id <int> [-PassThru]
# ByInputObject
Import-JIMConnectedSystemHierarchy -InputObject <PSCustomObject> [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
Id |
int |
Yes (ById) | Connected system identifier | |
InputObject |
PSCustomObject |
Yes (ByInputObject) | Connected system object from the pipeline | |
PassThru |
switch |
No | $false |
Returns the connected system object after hierarchy import |
Output¶
When -PassThru is specified, returns the connected system object. Otherwise, no output.
Examples¶
Get-JIMConnectedSystem -Id 3 |
Import-JIMConnectedSystemSchema |
Import-JIMConnectedSystemHierarchy -PassThru
Notes¶
- This operation is destructive: it replaces the existing partition and container configuration.
- Supports
ShouldProcess(Medium impact).
Get-JIMConnectorDefinition¶
Retrieves available connector definitions, including their settings and capabilities.
Syntax¶
# List all (default)
Get-JIMConnectorDefinition
# By ID
Get-JIMConnectorDefinition -Id <int>
# By name (exact match)
Get-JIMConnectorDefinition -Name <string>
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
Id |
int |
Yes (ById) | Connector definition identifier. Accepts pipeline input. | |
Name |
string |
Yes (ByName) | Connector definition name. Must be an exact match. |
Output¶
Connector definition objects including name, description, available settings, and supported capabilities (e.g. full import, delta import, export, hierarchy).
Examples¶
Get-JIMConnectorDefinition | Where-Object { $_.Capabilities -contains "DeltaImport" }
Get-JIMConnectedSystemObjectType¶
Retrieves the object types and their attributes for a connected system.
Syntax¶
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | Connected system identifier. Alias: Id. Accepts pipeline input by property name. |
Output¶
Object type definitions with their attributes, selection state, and external ID configuration.
Examples¶
Get-JIMConnectedSystem -Id 3 |
Get-JIMConnectedSystemObjectType |
Where-Object { $_.Selected }
Set-JIMConnectedSystemObjectType¶
Updates the configuration of an object type on a connected system.
Syntax¶
Set-JIMConnectedSystemObjectType -ConnectedSystemId <int> -ObjectTypeId <int>
[-Selected <bool>] [-RemoveContributedAttributesOnObsoletion <bool>] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | Connected system identifier | |
ObjectTypeId |
int |
Yes | Object type identifier. Alias: Id. Accepts pipeline input by property name. |
|
Selected |
bool |
No | Whether this object type is selected for synchronisation | |
RemoveContributedAttributesOnObsoletion |
bool |
No | Whether to remove attributes contributed by this system when an object becomes obsolete | |
PassThru |
switch |
No | $false |
Returns the updated object type |
Output¶
When -PassThru is specified, returns the updated object type. Otherwise, no output.
Examples¶
Set-JIMConnectedSystemObjectType -ConnectedSystemId 3 -ObjectTypeId 1 -Selected $true
Set-JIMConnectedSystemObjectType -ConnectedSystemId 3 -ObjectTypeId 2 -Selected $false
Notes¶
- Supports
ShouldProcess(Medium impact).
Set-JIMConnectedSystemAttribute¶
Updates the selection and external ID configuration of attributes on a connected system object type. Supports updating a single attribute or multiple attributes in bulk.
Syntax¶
# Single (default)
Set-JIMConnectedSystemAttribute -ConnectedSystemId <int> -ObjectTypeId <int>
-AttributeId <int> [-Selected <bool>] [-IsExternalId <bool>]
[-IsSecondaryExternalId <bool>] [-PassThru]
# Bulk
Set-JIMConnectedSystemAttribute -ConnectedSystemId <int> -ObjectTypeId <int>
-AttributeUpdates <hashtable> [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | Connected system identifier | |
ObjectTypeId |
int |
Yes | Object type identifier | |
AttributeId |
int |
Yes (Single) | Attribute identifier. Alias: Id. Accepts pipeline input by property name. |
|
Selected |
bool |
No (Single) | Whether this attribute is selected for synchronisation | |
IsExternalId |
bool |
No (Single) | Whether this attribute is the primary external identifier | |
IsSecondaryExternalId |
bool |
No (Single) | Whether this attribute is a secondary external identifier | |
AttributeUpdates |
hashtable |
Yes (Bulk) | Hashtable of updates. Keys are attribute IDs; values are hashtables with selected, isExternalId, and/or isSecondaryExternalId. |
|
PassThru |
switch |
No | $false |
Returns the updated attribute(s) |
Output¶
When -PassThru is specified, returns the updated attribute object(s). Otherwise, no output.
Examples¶
Set-JIMConnectedSystemAttribute -ConnectedSystemId 3 -ObjectTypeId 1 -AttributeId 5 -Selected $true
Set-JIMConnectedSystemAttribute -ConnectedSystemId 3 -ObjectTypeId 1 -AttributeId 10 -IsExternalId $true
Set-JIMConnectedSystemAttribute -ConnectedSystemId 3 -ObjectTypeId 1 -AttributeUpdates @{
5 = @{ selected = $true }
10 = @{ selected = $true; isExternalId = $true }
12 = @{ selected = $true; isSecondaryExternalId = $true }
}
Notes¶
- Supports
ShouldProcess(Medium impact). - Only one attribute per object type can be the primary external ID. Setting
IsExternalIdon an attribute automatically clears it from the previous primary.
Get-JIMConnectedSystemPartition¶
Retrieves the partitions and their containers for a connected system.
Syntax¶
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | Connected system identifier. Alias: Id. Accepts pipeline input by property name. |
Output¶
Partition objects with their container hierarchy and selection state.
Examples¶
Set-JIMConnectedSystemPartition¶
Updates the selection state of a partition on a connected system.
Syntax¶
Set-JIMConnectedSystemPartition -ConnectedSystemId <int> -PartitionId <int>
[-Selected <bool>] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | Connected system identifier | |
PartitionId |
int |
Yes | Partition identifier. Alias: Id. Accepts pipeline input by property name. |
|
Selected |
bool |
No | Whether this partition is selected for synchronisation | |
PassThru |
switch |
No | $false |
Returns the updated partition |
Output¶
When -PassThru is specified, returns the updated partition. Otherwise, no output.
Examples¶
Set-JIMConnectedSystemPartition -ConnectedSystemId 3 -PartitionId 1 -Selected $true
Set-JIMConnectedSystemPartition -ConnectedSystemId 3 -PartitionId 1 -Selected $false -PassThru
Notes¶
- Supports
ShouldProcess(Medium impact).
Set-JIMConnectedSystemContainer¶
Updates the selection state of a container within a partition.
Syntax¶
Set-JIMConnectedSystemContainer -ConnectedSystemId <int> -ContainerId <int>
[-Selected <bool>] [-PassThru]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | Connected system identifier | |
ContainerId |
int |
Yes | Container identifier. Alias: Id. Accepts pipeline input by property name. |
|
Selected |
bool |
No | Whether this container is selected for synchronisation | |
PassThru |
switch |
No | $false |
Returns the updated container |
Output¶
When -PassThru is specified, returns the updated container. Otherwise, no output.
Examples¶
Set-JIMConnectedSystemContainer -ConnectedSystemId 3 -ContainerId 7 -Selected $true
@(7, 8, 9) | ForEach-Object {
Set-JIMConnectedSystemContainer -ConnectedSystemId 3 -ContainerId $_ -Selected $true
}
Notes¶
- The parent partition must also be selected for container selection to take effect during import operations.
- Supports
ShouldProcess(Medium impact).
Get-JIMConnectedSystemObject¶
Retrieves connector space objects (CSOs) from a connected system, with support for paging and attribute value drill-down.
Syntax¶
# ById (default)
Get-JIMConnectedSystemObject -ConnectedSystemId <int> -Id <guid>
# AttributeValues
Get-JIMConnectedSystemObject -ConnectedSystemId <int> -Id <guid>
-AttributeName <string> [-Search <string>] [-Page <int>] [-PageSize <int>]
# AttributeValuesAll
Get-JIMConnectedSystemObject -ConnectedSystemId <int> -Id <guid>
-AttributeName <string> [-Search <string>] -All
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | Connected system identifier | |
Id |
guid |
Yes | Connector space object identifier | |
AttributeName |
string |
No | Name of a multi-valued attribute to page through | |
Search |
string |
No | Filter attribute values by search term | |
Page |
int |
No | 1 |
Page number for attribute value results |
PageSize |
int |
No | 50 |
Number of attribute values per page (maximum 100) |
All |
switch |
No | $false |
Returns all attribute values without paging |
Output¶
- ById: A connector space object with its attributes and current values.
- AttributeValues / AttributeValuesAll: Paged or complete list of values for the specified multi-valued attribute.
Examples¶
Get-JIMConnectedSystemObject -ConnectedSystemId 3 -Id "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
Get-JIMConnectedSystemObject -ConnectedSystemId 3 -Id "a1b2c3d4-..." -AttributeName "member" -Page 2 -PageSize 25
Get-JIMConnectedSystemObject -ConnectedSystemId 3 -Id "a1b2c3d4-..." -AttributeName "member" -All
Notes¶
- Multi-valued attributes are capped at 10 values in the default detail response. Use the
-AttributeNameparameter to page through all values of a large multi-valued attribute.
Get-JIMConnectedSystemObjectAttributeValue¶
Pages through the values of a multi-valued attribute on a connector space object. This is the dedicated cmdlet for browsing large multi-valued attributes.
Syntax¶
# Page (default)
Get-JIMConnectedSystemObjectAttributeValue -ConnectedSystemId <int> -CsoId <guid>
-AttributeName <string> [-Search <string>] [-Page <int>] [-PageSize <int>]
# All
Get-JIMConnectedSystemObjectAttributeValue -ConnectedSystemId <int> -CsoId <guid>
-AttributeName <string> [-Search <string>] -All
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | Connected system identifier | |
CsoId |
guid |
Yes | Connector space object identifier | |
AttributeName |
string |
Yes | Name of the multi-valued attribute | |
Search |
string |
No | Filter values by search term | |
Page |
int |
No | 1 |
Page number |
PageSize |
int |
No | 50 |
Number of values per page (maximum 100) |
All |
switch |
No | $false |
Returns all values without paging |
Output¶
Attribute values for the specified multi-valued attribute, with paging metadata when not using -All.
Examples¶
Get-JIMConnectedSystemObjectAttributeValue -ConnectedSystemId 3 `
-CsoId "a1b2c3d4-e5f6-7890-abcd-ef1234567890" `
-AttributeName "member" -Page 1 -PageSize 100
Get-JIMConnectedSystemObjectAttributeValue -ConnectedSystemId 3 `
-CsoId "a1b2c3d4-..." -AttributeName "member" -Search "admin"
Get-JIMConnectedSystemObjectAttributeValue -ConnectedSystemId 3 `
-CsoId "a1b2c3d4-..." -AttributeName "proxyAddresses" -All
Get-JIMConnectedSystemUnresolvedReferenceCount¶
Returns the count of unresolved references in a connected system's connector space.
Syntax¶
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | Connected system identifier. Alias: Id. Accepts pipeline input by property name. |
Output¶
An integer representing the number of unresolved references.
Examples¶
Get-JIMConnectedSystem | ForEach-Object {
[PSCustomObject]@{
Name = $_.Name
Unresolved = Get-JIMConnectedSystemUnresolvedReferenceCount -ConnectedSystemId $_.Id
}
} | Where-Object { $_.Unresolved -gt 0 }
Notes¶
- A non-zero count indicates data integrity issues in the connector space. This commonly occurs after a partial import. Running a full import typically resolves outstanding references.
Clear-JIMConnectedSystem¶
Removes all connector space objects (CSOs) and associated data from a connected system without deleting the system itself. The connected system configuration, schema, and sync rules are preserved.
Syntax¶
# ById (default)
Clear-JIMConnectedSystem -Id <int> [-KeepChangeHistory] [-Force]
# ByInputObject
Clear-JIMConnectedSystem -InputObject <PSCustomObject> [-KeepChangeHistory] [-Force]
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
Id |
int |
Yes (ById) | Connected system identifier | |
InputObject |
PSCustomObject |
Yes (ByInputObject) | Connected system object from the pipeline | |
KeepChangeHistory |
switch |
No | $false |
Preserves change history records; by default, change history is also deleted |
Force |
switch |
No | $false |
Suppresses the confirmation prompt |
Output¶
None.
Examples¶
Get-JIMConnectedSystem -Name "Staging AD" | Clear-JIMConnectedSystem -Force
Notes¶
- Supports
ShouldProcess(High impact). Without-Force, you will be prompted for confirmation. - Removes all CSOs, attribute values, pending exports, and deferred references from the connected system.
- Metaverse objects are not deleted; their links to this connected system are severed.
- By default, change history is also deleted. Use
-KeepChangeHistoryto retain it for auditing purposes.
Get-JIMPendingExport¶
Retrieves pending export operations queued for a connected system.
Syntax¶
# List (default)
Get-JIMPendingExport -ConnectedSystemId <int> [-Search <string>]
[-Page <int>] [-PageSize <int>]
# ListAll
Get-JIMPendingExport -ConnectedSystemId <int> [-Search <string>] -All
# ById
Get-JIMPendingExport -Id <guid>
# AttributeChanges
Get-JIMPendingExport -Id <guid> -AttributeName <string>
[-Search <string>] [-Page <int>] [-PageSize <int>]
# AttributeChangesAll
Get-JIMPendingExport -Id <guid> -AttributeName <string> [-Search <string>] -All
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes (List, ListAll) | Connected system identifier | |
Id |
guid |
Yes (ById, AttributeChanges, AttributeChangesAll) | Pending export operation identifier | |
AttributeName |
string |
No | Name of a multi-valued attribute to page through its changes | |
Search |
string |
No | Filter results by search term | |
Page |
int |
No | 1 |
Page number |
PageSize |
int |
No | 50 |
Number of results per page (maximum 100) |
All |
switch |
No | $false |
Returns all results without paging |
Output¶
- List / ListAll: Pending export operations with export type (Add, Update, Delete) and summary of changes.
- ById: Detailed view of a single pending export, including all attribute changes.
- AttributeChanges / AttributeChangesAll: Paged or complete list of changes for a specific multi-valued attribute.
Examples¶
Get-JIMPendingExport -Id "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
Get-JIMPendingExport -Id "a1b2c3d4-..." -AttributeName "member" -Page 1 -PageSize 100
Notes¶
- For large multi-valued attribute changes (e.g. adding hundreds of members to a group), use the
-AttributeNameparameter to page through the individual changes rather than loading them all at once.
Get-JIMConnectedSystemDeletionPreview¶
Retrieves a preview of the impact of deleting a connected system, including counts of affected objects and warnings.
Syntax¶
Parameters¶
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
ConnectedSystemId |
int |
Yes | Connected system identifier. Alias: Id. Accepts pipeline input by property name. |
Output¶
A deletion impact preview object with counts of connector space objects, pending exports, sync rules, and other dependent data that would be removed.
Examples¶
Get-JIMConnectedSystem -Id 3 | Get-JIMConnectedSystemDeletionPreview
Get-JIMConnectedSystem | ForEach-Object {
$preview = $_ | Get-JIMConnectedSystemDeletionPreview
[PSCustomObject]@{
Name = $_.Name
CSOCount = $preview.ConnectorSpaceObjectCount
SyncRules = $preview.SyncRuleCount
}
}
See also¶
- API: Connected Systems: REST API reference for connected system endpoints
- Run Profiles: execute import, sync, and export operations on connected systems
- Sync Rules: define attribute mappings and scoping for connected system synchronisation
- Connection: establish a session before using these cmdlets