Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
00177d6
correct LDAP syntax; active-directory-sync
Nadia-JSch Jan 29, 2026
5b66212
initial grammar fixes; active-directory-sync
Nadia-JSch Jan 29, 2026
6eb049a
1214: grammar improvements; active-directory-sync
Nadia-JSch Jan 30, 2026
b63c6fd
1214; more fixes, active-directory-sync
Nadia-JSch Jan 30, 2026
a64ba60
1214: grammar cleanup; agent-based-offline-discovery
Nadia-JSch Jan 30, 2026
6df6b3c
1214: grammar cleanup; auto-discovery-system-requirements
Nadia-JSch Jan 30, 2026
5aaf2a1
1214: grammar cleanup; autodisc-best-practices
Nadia-JSch Jan 30, 2026
02eed83
1214: grammar cleanup; blade-systems-auto-discovery
Nadia-JSch Jan 30, 2026
5f7e65c
1214: grammar cleanup; certificate-auto-discovery
Nadia-JSch Jan 30, 2026
b10d11f
1214: grammar cleanup; cisco-ucs-auto-discovery
Nadia-JSch Jan 30, 2026
01a7a51
1214: grammar cleanup; d42-ping-sweep
Nadia-JSch Jan 30, 2026
d6edda6
1214: grammar cleanup; hypervisors-and-containers-supported...
Nadia-JSch Jan 30, 2026
9de1d64
1214: grammar cleanup; ibm-i-as400
Nadia-JSch Jan 30, 2026
99fc4fb
1214: grammar cleanup; auto-discovery/index
Nadia-JSch Jan 30, 2026
f080ded
change autodiscovery to discovery; auto-discovery/index
Nadia-JSch Jan 30, 2026
f169e05
1214: grammar cleanup; ipmi-auto-discovery
Nadia-JSch Jan 30, 2026
182133a
1214: grammar cleanup; jamf-autodiscovery
Nadia-JSch Jan 30, 2026
09edc79
1214: grammar cleanup; linux-unix-server-auto-discovery
Nadia-JSch Jan 30, 2026
93563f8
remove space between bullet points; ipmi-auto-discovery
Nadia-JSch Jan 30, 2026
e8f8156
1214: grammar cleanup; jamf-autodiscovery
Nadia-JSch Feb 5, 2026
fb7a812
update .gitignore
Nadia-JSch Feb 5, 2026
d82dfbb
1214: grammar cleanup; linux-unix-server-auto-discovery
Nadia-JSch Feb 5, 2026
16a1081
1214: grammar cleanup; load-balancer-f5-autodiscovery
Nadia-JSch Feb 5, 2026
3366823
1214: grammar cleanup; load-balancers
Nadia-JSch Feb 5, 2026
0c030be
1214: grammar cleanup; mac-agent-service-launcher
Nadia-JSch Feb 5, 2026
5fe163b
1214: grammar cleanup; microsoft-dhcp-discovery
Nadia-JSch Feb 5, 2026
398d584
1214: grammar cleanup; netflow-collector.mdx
Nadia-JSch Feb 5, 2026
cd7aea1
1214: grammar cleanup; network-auto-discovery.mdx
Nadia-JSch Feb 5, 2026
d51e653
1214: grammar cleanup; nmap-autodiscovery.mdx
Nadia-JSch Feb 5, 2026
6a40380
1214: grammar cleanup; operating-systems-supported-in-auto-discovery.mdx
Nadia-JSch Feb 5, 2026
9959b06
1214: grammar cleanup; packet-capture.mdx
Nadia-JSch Feb 5, 2026
6120779
1214: grammar cleanup; remote-collector-rc.mdx
Nadia-JSch Feb 5, 2026
27a840b
1214: grammar cleanup; resource-utilization-overview.mdx
Nadia-JSch Feb 5, 2026
88141ac
1214: grammar cleanup; saas-discovery.mdx
Nadia-JSch Feb 5, 2026
90cad30
1214: grammar cleanup; sccm-discovery.mdx
Nadia-JSch Feb 5, 2026
08d1369
1214: grammar cleanup; setup-dns-autodiscovery.mdx
Nadia-JSch Feb 6, 2026
c82425a
1214: grammar cleanup; signed-mac-agent.mdx
Nadia-JSch Feb 6, 2026
914833c
1214: grammar cleanup; tcp-port-scan-auto-discovery.mdx
Nadia-JSch Feb 6, 2026
f7d2c42
1214: grammar cleanup; unprocessed-device-records.mdx
Nadia-JSch Feb 6, 2026
a106f69
1214: grammar cleanup; using-apis-for-custom-auto-discovery.mdx
Nadia-JSch Feb 6, 2026
c749aed
1214: grammar cleanup; vendors-supported-in-snmp-auto-discovery.mdx
Nadia-JSch Feb 6, 2026
3a8d7dc
1214: grammar cleanup; virtual-machine-auto-discovery.mdx
Nadia-JSch Feb 6, 2026
79f5039
1214: grammar cleanup and section reorder; warranty-autodiscovery.mdx
Nadia-JSch Feb 10, 2026
f9dd496
1214: grammar cleanup and reorder sections; windows-and-hyper-v-auto-…
Nadia-JSch Feb 10, 2026
ac8cef9
1214: grammar cleanup; windows-discovery-troubleshooting.mdx
Nadia-JSch Feb 10, 2026
f09269b
1214: grammar cleanup and formating; z-os-ibm-mainframe.mdx
Nadia-JSch Feb 10, 2026
c8472f8
1214: grammar cleanup; automox-autodiscovery.mdx
Nadia-JSch Feb 10, 2026
3c304cc
1214: grammar cleanup; aws-autodiscovery.mdx
Nadia-JSch Feb 10, 2026
e3d813b
1214: grammar cleanup; azure-autodiscovery.mdx
Nadia-JSch Feb 10, 2026
7bda843
correct spacing after arrow in table; aws-autodiscovery
Nadia-JSch Feb 10, 2026
3b56662
1214: grammar cleanup; google-cloud-platform-autodiscovery.mdx
Nadia-JSch Feb 10, 2026
9e9ba60
1214: grammar cleanup; cloud-auto-discovery/index.mdx
Nadia-JSch Feb 10, 2026
cc9f5ea
1214: grammar cleanup; intune-autodiscovery.mdx
Nadia-JSch Feb 10, 2026
ba6ced9
1214: grammar cleanup; kubernetes-autodiscovery.mdx
Nadia-JSch Feb 10, 2026
2d30264
1214: grammar cleanup; other-cloud-autodiscoveries
Nadia-JSch Feb 11, 2026
c602d16
1215: more cleanup; aws-autodiscovery
Nadia-JSch Feb 17, 2026
d29cf0a
1214: grammar cleanup; workspace-one-eum-airwatch
Nadia-JSch Feb 17, 2026
2ba8e39
1214: grammar cleanup; database-discovery/index
Nadia-JSch Feb 17, 2026
78a490c
1214: grammar cleanup; cloud-databases
Nadia-JSch Feb 17, 2026
9def926
1214: grammar cleanup; on-premise-databases
Nadia-JSch Feb 17, 2026
168e70d
1227: rename EnrichAI and update files names and redirect
Nadia-JSch Feb 17, 2026
9b145cb
1214: grammar cleanup and move insightsai note; enriched-data/index
Nadia-JSch Feb 17, 2026
8db386a
1214: grammar cleanup; enriched-data-opt-out
Nadia-JSch Feb 17, 2026
2203a7f
1214: grammar cleanup; resources/index
Nadia-JSch Feb 17, 2026
38c42fc
1214: grammar cleanup; resources/cloud-resources
Nadia-JSch Feb 17, 2026
c826faa
1214: grammar cleanup; storage-arrays-autodiscovery/index
Nadia-JSch Feb 17, 2026
6e7cf68
1214: grammar cleanup; all-other-storage-autodiscovery
Nadia-JSch Feb 17, 2026
d74cccd
1214: grammar cleanup; dell-emc-autodiscovery
Nadia-JSch Feb 17, 2026
905de8c
1214: grammar cleanup; hp-autodiscovery
Nadia-JSch Feb 18, 2026
a608bdb
1214: grammar cleanup; ibm-autodiscovery
Nadia-JSch Feb 18, 2026
49f28e8
1214: add helpful link; lenovo-autodiscovery
Nadia-JSch Feb 18, 2026
12beade
1214: grammar cleanup; snmp-san-server-auto-discovery
Nadia-JSch Feb 18, 2026
167158e
1214: grammar cleanup; storage-arrays
Nadia-JSch Feb 18, 2026
f2c7746
1228: expand introduction; devices/index
Nadia-JSch Feb 18, 2026
2e9d37c
1228: grammar cleanup; device-add-edit
Nadia-JSch Feb 18, 2026
e983c99
1228: grammar cleanup and remove repeated tags section; device-list-v…
Nadia-JSch Feb 19, 2026
25ac793
1228: grammar cleanup; device-name-profiles
Nadia-JSch Feb 19, 2026
9d3f78b
1228: grammar cleanup; device-blade-slots
Nadia-JSch Feb 19, 2026
b94b68a
1228: grammar cleanup; archiving-devices-and-resources
Nadia-JSch Feb 19, 2026
e017cad
1228: slit view and edit into 2 sections; devices-and-resources
Nadia-JSch Feb 19, 2026
2196f5f
1228: grammar cleanup; clone-a-device
Nadia-JSch Feb 19, 2026
aacce7a
1228: grammar cleanup and add context; device-parts-slots
Nadia-JSch Feb 19, 2026
f340325
1228: grammar cleanup; device-other-tab
Nadia-JSch Feb 19, 2026
74f9690
1228: grammar cleanup; what-if-scenarios
Nadia-JSch Feb 19, 2026
c952dc1
1228: grammar cleanup and some context; hardware-models-templates
Nadia-JSch Feb 19, 2026
7d7f5e9
1228: grammar cleanup; device-properties-tab
Nadia-JSch Feb 19, 2026
94fc663
1228: grammar cleanup; device-lifecycle-tab
Nadia-JSch Feb 19, 2026
9bb2e6b
1228: grammar cleanup; device-blade-chassis
Nadia-JSch Feb 19, 2026
2fcede7
1228: grammar cleanup; device-ignore-rules
Nadia-JSch Feb 19, 2026
68d26d9
1228: grammar cleanup; device-custom-fields
Nadia-JSch Feb 19, 2026
4e32eaa
1228: grammar cleanup; device-parts-tab
Nadia-JSch Feb 19, 2026
78b25b3
1228: grammar cleanup; device-services-tab
Nadia-JSch Feb 19, 2026
7de7977
1228: grammar cleanup; device-software-tab
Nadia-JSch Feb 19, 2026
3118965
1228: grammar cleanup; device-virtual-blade
Nadia-JSch Feb 19, 2026
2edd049
1228: grammar cleanup; device-cluster
Nadia-JSch Feb 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@
.env.production.local
*.swp
.vscode/
CLAUDE.md
/scripts
.claude
.claude/

npm-debug.log*
yarn-debug.log*
Expand Down
57 changes: 32 additions & 25 deletions docs/auto-discovery/active-directory-sync.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,17 @@ sidebar_position: 2
import ThemedImage from '@theme/ThemedImage'
import useBaseUrl from '@docusaurus/useBaseUrl'

This page is for Device42 administrators who need to synchronize Active Directory or LDAP users with Device42. Learn how to configure AD/LDAP settings and create discovery jobs to import and sync users as end users or administrators.

The AD/LDAP auto-discovery tool performs one-way synchronization of your Active Directory (AD) and Lightweight Directory Access Protocol (LDAP) domain users to Device42.

You can add AD/LDAP users to Device42 as regular end users or administrators. To keep your Device42 users up to date with your directory, it's a good idea to schedule your AD/LDAP syncs using the Device42 scheduling option.
Add AD/LDAP users as regular end users or administrators. Schedule regular syncs to keep users up to date with your directory.

:::note
Changes to user accounts made in Device42 will not be sent to the AD/LDAP as the sync is one-way; from AD/LDAP to Device42 only.
Changes to user accounts made in Device42 will not be sent to AD/LDAP. The sync is one-way from AD/LDAP to Device42.
:::

## Prerequisites - The Settings Config
## Configure Active Directory Settings

Before you create and run your AD/LDAP discovery jobs, configure the **Active Directory Settings** in Device42. These settings control authentication to AD, the servers to authenticate against, base DNs, and how to add discovered users to Device42.

Expand All @@ -28,12 +30,14 @@ Before you create and run your AD/LDAP discovery jobs, configure the **Active Di
}}
/>

2. Click the **Create** button and enter values specific to your Active Directory (or LDAP) domain.
2. Click the **Create** button and enter values specific to your Active Directory (or LDAP) domain.

### Configuration Options

**Explanation of the fields**
Configure the following settings to connect Device42 to your AD or LDAP server.

- **LDAP Type**: Choose either **Active Directory** or **Open LDAP** for Lightweight directory access protocol for non-Microsoft directory servers.
- **Server**: Enter the AD or LDAP server IP address. Only use FQDN if your DNS can resolve it. Rather enter an IP address if your Device42 server doesn't use AD-Aware DNS servers, as it may not be able to resolve your domain name if it hasn't been configured across all your DNS servers
- **LDAP Type**: Choose either **Active Directory** or **OpenLDAP** for Lightweight directory access protocol for non-Microsoft directory servers.
- **Server**: Enter the AD or LDAP server IP address. You can use the fully qualified domain name (FQDN) if your DNS can resolve it. Use an IP address if your Device42 server doesn't use AD-aware DNS servers, as the FQDN may not resolve correctly.
- **Backup Server**: Add a secondary AD or LDAP server to use if the primary one isn't available.

<ThemedImage
Expand All @@ -44,7 +48,7 @@ Before you create and run your AD/LDAP discovery jobs, configure the **Active Di
}}
/>

- **Port**: Port for auth requests to your LDAP or Active Directory server. Note that **389** is the non-SSL default and **636** is the default SSL port. Ensure you change the port if you decide to enable SSL or run a non-standard port.
- **Port**: Port for authentication requests to your LDAP or Active Directory server. Note that `389` is the non-SSL default and `636` is the default SSL port. Ensure you change the port if you decide to enable SSL or run a non-standard port.
- **Base**: Enter the Base DN that points to your users.

<ThemedImage
Expand All @@ -55,15 +59,15 @@ Before you create and run your AD/LDAP discovery jobs, configure the **Active Di
}}
/>

- **SSL**: Check this box if you want to query AD or LDAP using SSL. Please change the port to **636** or your configured SSL port if you check this box.
- **Username/Password**: This is the username a password that will be used for authentication against AD.
- **SSL**: Check this box if you want to query AD or LDAP using SSL. Please change the port to `636` or your configured SSL port if you check this box.
- **Username/Password**: The username and password for AD authentication.
- **Username login style**: Choose how Device42 accounts created for AD users will be formatted both in Device42 and for login.

:::caution
Changes to this setting only affects users imported after the change. To change the account and login format for all users, delete the existing Device42 accounts, change the login style setting, and then re-sync the accounts from AD.
Changes to the **Username login style** setting only affect users imported after the change. To change the account and login format for all users, delete the existing Device42 accounts, change the login style setting, and then re-sync the accounts from AD.
:::

- **Netbios name**: NetBIOS name is an up-to-15-character representation of your domain name, and may actually be entirely different from the domain name. Visit the [Microsoft Disjoint namespace scenarios](https://learn.microsoft.com/en-us/exchange/disjoint-namespace-scenarios-exchange-2013-help) article for help locating domain NetBIOS names.
- **NetBIOS name**: NetBIOS name is an up-to-15-character representation of your domain name, and may be entirely different from the domain name. Visit the [Microsoft Disjoint namespace scenarios](https://learn.microsoft.com/en-us/exchange/disjoint-namespace-scenarios-exchange-2013-help) article for help locating domain NetBIOS names.

<ThemedImage
alt="Active Directory Settings example values"
Expand All @@ -72,6 +76,7 @@ Before you create and run your AD/LDAP discovery jobs, configure the **Active Di
dark: useBaseUrl('/assets/images/active-directory-sync/active-directory-username-dark.png'),
}}
/>

## Configure an AD/LDAP User Discovery Job

When you've configured the AD/LDAP settings, create an AD/LDAP sync job. From the main menu, go to **Discovery > AD/LDAP Users** and click **Create**.
Expand All @@ -88,7 +93,7 @@ Name the AD/LDAP sync job. Then choose the Device42 user **Type** to create from
}}
/>

- If you choose **End Users** as the user type, you may optionally choose AD/LDAP attributes to populate end user contact information, location, and notes. You'll also be able to choose and create **Departments**.
- If you choose **End Users** as the user type, you can choose AD/LDAP attributes to populate end user contact information, location, and notes. You'll also be able to choose and create **Departments**.

<ThemedImage
alt="User type attribute options"
Expand All @@ -100,7 +105,7 @@ Name the AD/LDAP sync job. Then choose the Device42 user **Type** to create from

- If you choose **Administrator** as the user type, you'll be able to choose and create **Permission Groups**, and the following options will become available:
- **Add username in lowercase:** Convert all characters to lowercase when adding discovered users to Device42.
- **Recursively search nested groups:** Select this option to add groups that are members of another group's users. By default, a group that already belongs to another group's users will not be added.
- **Recursively search nested groups:** Select this option to add nested groups (groups that are members of other groups). By default, nested groups will not be added.
- **Ignore existing Administrators:** Uncheck this option if you'd like administrators to continue to inherit permissions from multiple LDAP sync jobs.
- **Clear any existing Administrator Permissions Groups:** Check to remove all group memberships from existing admins before adding newly discovered memberships.

Expand All @@ -114,7 +119,7 @@ Name the AD/LDAP sync job. Then choose the Device42 user **Type** to create from

### Specify a Custom LDAP Filter

Specify a Custom LDAP Filter in the **Custom Filter** field to define which objects are synced.
Use the **Custom Filter** field to define which objects are synced.

<ThemedImage
alt="Custom Filter field"
Expand All @@ -127,24 +132,24 @@ Specify a Custom LDAP Filter in the **Custom Filter** field to define which obje
By default, the LDAP filter is set to retrieve objects of type `group` or `user`, and is denoted by:

```
(|(objectCategory=group)(|objectCategory=user))
(|(objectCategory=group)(objectCategory=user))
```

Similarly, the default LDAP filter for Open LDAP sync is `(objectClass=inetOrgperson)`, which gets the `inetOrgperson` object type.
Similarly, the default LDAP filter for OpenLDAP sync is `(objectClass=inetOrgperson)`, which gets the `inetOrgperson` object type.

You can specify your own LDAP filter as follows to fetch all active users and groups as follows:
You can specify your own LDAP filter to fetch all active users and groups:

```
(&(|(objectCategory=group)(|objectCategory=user))(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
(&(|(objectCategory=group)(objectCategory=user))(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
```

The `userAccountControl` attribute uses a bitwise filter to look for specific flags and is set to `2` for disabled accounts. The preceding exclamation point `!` in the command excludes such accounts.
The `userAccountControl` attribute uses a bitwise filter to look for specific flags and is set to `2` for disabled accounts. The preceding exclamation point (`!`) in the command excludes such accounts.

Now, disabled accounts will be ignored when Active Directory accounts are synced. You can use similar commands of LDAP attributes to filter which objects get synced.
Now, disabled accounts will be ignored when Active Directory accounts are synced. You can use similar LDAP attribute filters to control which objects get synced.

### Select Config Settings and Add Credentials

Next, choose the settings configuration you created in the [Prerequisites section](#prerequisites---the-settings-config) and provide the AD/LDAP **Username** and **Password** to use for authentication.
Next, choose the settings configuration you created in the [Prerequisites section](#configure-active-directory-settings) and provide the AD/LDAP **Username** and **Password** to use for authentication.

<ThemedImage
alt="Settings and credential fields"
Expand All @@ -156,7 +161,7 @@ Next, choose the settings configuration you created in the [Prerequisites sectio

### Select Permission Groups for Administrators

If you chose **Administrators** as the **Type**, you'll have the option to grant Device42 permissions to selected admin groups. Note that the groups are not Active Directory groups, but Device42 admin groups.
If you chose **Administrators** as the **Type**, you'll have the option to grant Device42 permissions to selected admin groups. Note that these permission groups are Device42 admin groups, not Active Directory groups.

Select from the available **Permission Groups** on the left and use the arrow button to move them to the **Chosen Permission Groups** side.

Expand All @@ -168,7 +173,7 @@ Select from the available **Permission Groups** on the left and use the arrow bu
}}
/>

To create a new Admin group, click the **plus icon**, and in the popup that opens, name the new group, select the permissions, and click **Save**.
To create a new Admin group, click the **plus icon**. In the dialog box, name the new group, select the permissions, and click **Save**.

<ThemedImage
alt="Create new Admin Groups"
Expand Down Expand Up @@ -202,6 +207,8 @@ Click the **plus icon** to add a new customer, department, or end user that's no

## Example: Find a Group DN in Active Directory

To find the Distinguished Name (DN) of a group in Active Directory, use the attribute editor in Active Directory Users and Computers.

![](/assets/images/wpid5372-AD-group-DN.png)

Under the group properties with "Advanced features" enabled in Active Directory Users and Computers, go to the attribute editor and copy the "distinguishedName" as shown in the image above.
Under the group properties with "Advanced features" enabled in Active Directory Users and Computers, go to the attribute editor and copy the `distinguishedName` as shown in the image above.
2 changes: 1 addition & 1 deletion docs/auto-discovery/agent-based-discovery.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ The agent can be run from the command line or can be scheduled using the relevan

## Schedule the Agent With Crontab on Linux

For best results, run the command with `sudo`. Make sure that `/home/system_dev42/bin/d42agent` is owned by `root` with `-rwx—— (0700)` permissions. This prevents the non-root user `system_dev42` from overwriting the agent or adding it to `root`’s crontab (or `cron.daily/hourly`) while allowing root to execute it.
For best results, run the command with `sudo`. Make sure that `/home/system_dev42/bin/d42agent` is owned by `root` with `-rwx--- (0700)` permissions. This prevents the non-root user `system_dev42` from overwriting the agent or adding it to `root`’s crontab (or `cron.daily/hourly`) while allowing root to execute it.

### Use a Limited Account

Expand Down
Loading