---
title: "The Reliable Repadmin for Managing AD Replication"
description: "Learn how to show and troubleshoot replication with the handy repadmin tool with tons of examples in this tutorial."
canonical: "https://adamtheautomator.com/repadmin/"
---

# The Reliable Repadmin for Managing AD Replication

> Learn how to show and troubleshoot replication with the handy repadmin tool with tons of examples in this tutorial.

Source: https://adamtheautomator.com/repadmin/

---

ATA Learning

Tap to hide

[

ATA Learning

](/)

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Search for:  

*   [](https://twitter.com/adbertram)
*   [](https://github.com/Adam-the-Automator)
*   [](https://www.linkedin.com/company/adam-the-automator-llc)
*   [](/feed/)

![The Reliable Repadmin for Managing AD Replication](https://adamtheautomator.com/wp-content/uploads/2021/08/How-to-Manage-AD-Replication-with-Repadmin-Lots-of-Examples.jpg)

# The Reliable Repadmin for Managing AD Replication

[![](https://secure.gravatar.com/avatar/5cd71a4e2894e3d2608b9e07347e05b85fa86e0955eb3f708412e6b9da7fd920?s=192&d=mm&r=g)Faris Malaeb](https://adamtheautomator.com/author/faris/)4 August 20217 min. read

Categories: [IT Ops](/category/it-ops/)

Tags:[Active Directory](/tag/active-directory/)

Table of Contents

*   [Prerequisites](#prerequisites)
*   [Starting The Repadmin Tool](#starting-the-repadmin-tool)
*   [Summarizing Replication Health (repadmin /replsummary)](#summarizing-replication-health-repadmin-replsummary)
*   [Inspecting Replication Neighbors (repadmin /showrepl)](#inspecting-replication-neighbors-repadmin-showrepl)
*   [Monitoring Replication Queues (repadmin /queue)](#monitoring-replication-queues-repadmin-queue)
*   [Checking Inbound Replication Topology (repadmin /kcc)](#checking-inbound-replication-topology-repadmin-kcc)
*   [Manually Invoking a Partition Replication (repadmin /replicate)](#manually-invoking-a-partition-replication-repadmin-replicate)
*   [Manually Invoking Replication for All (repadmin /syncall)](#manually-invoking-replication-for-all-repadmin-syncall)
*   [Replicating a Single Naming Context for DCs in the Same Site](#replicating-a-single-naming-context-for-dcs-in-the-same-site)
*   [Replicating All Naming Contexts for DCs in the Same Site](#replicating-all-naming-contexts-for-dcs-in-the-same-site)
*   [Pushing Replication](#pushing-replication)
*   [Getting Granular: Replicating a Single Object](#getting-granular-replicating-a-single-object)
*   [Discovering Sites for all DCs](#discovering-sites-for-all-dcs)
*   [Finding DC Bridgehead Servers](#finding-dc-bridgehead-servers)
*   [Conclusion](#conclusion)

If you’re in a small Active Directory (AD) environment, replication is usually not a big headache. But as the environment grows and more sites are added, replication challenges raise. Repadmin is the perfect tool to troubleshoot replication issues and know what went wrong.

Not a reader? Watch this related video tutorial!

**_Not seeing the video? Make sure your ad blocker is disabled._**

Repadmin is a vital tool in any AD administrator’s tool belt that allows you to view and troubleshoot AD replication topology from each domain controller (DCs) perspective. This tutorial will take you through a smooth and fun learning path to master the [Repadmin tool](https://adamtheautomator.com/active-directory-replication/).

Related:[Using Repadmin To Detect Active Directory Replication Changes](https://adamtheautomator.com/active-directory-replication/)

Let’s get going!

## Prerequisites

If you’d like to follow along with the demos in this tutorial and ensure they apply to your environment, ensure you have:

At least two replicating DCs running Windows Server 2008 or greater – This tutorial uses the following. All DCs are in a forest/domain called _test.local_ with the [Active Directory Domain Services](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/b645c125-a7da-4097-84a1-2fa7cea07714#gt_c36db657-3138-4d9a-9289-ded5cbb8b40e) (_AD DS_) role installed.

*   DC01 – A Windows Server 2019 server in an AD site called _Site1._
*   DC02 – A Windows Server 2019 server in an AD site called _Site1._
*   DC03 – A Windows Server 2016 server in an AD site called _Site2_.

> _If you still have an older DC running Windows Server 2003, download the [Windows Server 2003 x86 Administration Tools](https://www.microsoft.com/en-us/download/details.aspx?id=6315)._

## Starting The Repadmin Tool

Before starting wrangling AD replication with repadmin, you need to start it up first and get acquainted. To use repadmin, you must either be connected via RDP to a DC or have the [Remote Server Administration Tools (RSAT) package](https://www.microsoft.com/en-us/download/details.aspx?id=45520) installed on a domain-joined computer. This tutorial will be performing all demos directly on a DC and will show the most used repadmin commands.

Related:[How to Install and Import the PowerShell Active Directory Module](https://adamtheautomator.com/powershell-import-active-directory/)

On any available DC:

1\. Open a command prompt as administrator.

2\. Run repadmin with no parameters to get a feel for what you’re up against. Repadmin returns a full help text with all supported parameters.

![Running repadmin with no parameters.](https://adamtheautomator.com/wp-content/uploads/2021/08/Running-repadmin-with-no-parameters..png)

Running repadmin with no parameters.

## Summarizing Replication Health (`repadmin /replsummary`)

If you’re just beginning your AD replication troubleshooting journey, you should start wide and work your way down. The `replsummary` parameter is a great parameter to start with since it returns a great summary of overall replication health.

The `replsummary` parameter provides an overall view of the health of AD replication. When you run `repadmin /replsummary`, you’ll see an output similar to below.

The output consists of, for each DC:

*   **Source DSA** – Stats on outgoing replication.
*   **Destination DSA** – Stats on incoming replication.
*   **Largest Delta** – The longest replication gap amongst all site links for a particular domain controller.
*   **Fail** – The number of times a failed replication links.
*   **Total** – The total number of replication links.
*   **%%** – The percentage of failed replication links out of the total.
*   **Error** – Displays any replication error along with the error code, such as `(1722) The RPC Server is unavailable`.

```powershell
Replication Summary Start Time: 2021-07-26 23:35:41

Beginning data collection for replication summary, this may take a while:
  ......

Source DSA          largest delta    fails/total %%   error
 DC01                      44m:47s    0 /  10    0
 DC02                      38m:32s    0 /   5    0
 DC03                      14m:47s    0 /   5    0

Destination DSA     largest delta    fails/total %%   error
 DC01                      38m:32s    0 /   5    0
 DC02                      44m:47s    0 /  10    0
 DC03                      11m:38s    0 /   5    0
```

## Inspecting Replication Neighbors (`repadmin /showrepl`)

In a multi-DC AD environment, each DC replicates with another DC known as its partner or neighbor. When troubleshooting replication issues, knowing the replication topology is a critical piece of information to know about.

To discover information about replication partners, run `repadmin /showrepl`. This command reads the local AD database and provides you with lots of great information about each DC’s last time trying to replicate its neighbor’s [AD partition](https://docs.microsoft.com/en-us/windows/win32/ad/naming-contexts-and-partitions), also known as a [naming context](https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/ms681918\(v=vs.85\)) or replication context.

> _You can read a remote AD database’s replication information by specifying the DC hostname as the last argument, e.g., `repadmin /showrepl DC02`._

The `/showrepl` parameter shows various information such as:

*   The neighboring DC to replicate from.
*   Whether or not the DC is a [Global Catalog](https://theitbros.com/global-catalog-active-directory/).
*   How the DC is replicating via IP or SMTP.
*   The site links for each naming context.
*   The site link GUID.
*   The last time the DC attempted replication and the status

![Discovering DC replication partners for all naming contexts](https://www.powershellcenter.com/wp-content/uploads/2021/07/showrepl.png)

Discovering DC replication partners for all naming contexts

## Monitoring Replication Queues (`repadmin /queue`)

Depending on the replication schedule, a DC can sometimes get behind its neighbor. When it does, its queue begins to increase. The queue is the number of items pending to be replicated to it from its source neighbor.

The DC’s queue _should_ be zero indicating fully-replicated partitions, but sometimes, the queue can begin increasing on a congested network.

To view the queue, run `repadmin /queue`, as shown below. In this instance, you’ll see the DC is fully replicated with its neighbor.

![Checking AD replication queues with repadmin](https://www.powershellcenter.com/wp-content/uploads/2021/07/image-34.png)

Checking AD replication queues with repadmin

If you notice the queue is slowly incrementing, this situation may indicate a problem. If so, be sure to troubleshoot the following:

*   CPU usages on the DC (Source replication partner).
*   Too many concurrent replication partners.
*   Slow network connection.
*   Too many changes in Active Directory objects.

## Checking Inbound Replication Topology (`repadmin /kcc`)

To calculate replication topology, each DC runs a [Knowledge Consistency Checker (KCC)](https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/get-started/replication/active-directory-replication-concepts#:~:text=modified%20connection%20objects.-,KCC,for%20the%20Active%20Directory%20forest.&text=On%20each%20domain%20controller%2C%20the,connections%20from%20other%20domain%20controllers). The KCC is responsible for ensuring a particular DC is aware of who its inbound neighbor is. By default, the KCC runs every 15 minutes, but you can invoke it manually if required.

If, for example, you remove a site link or change the replication configuration in some manner, it’s helpful to run the KCC manually to reevaluate the replication topology. To do so, run `repadmin /kcc`, as shown below.

You’ll see that the KCC returns the site the DC you’re running it on along with if the check was successful or not.

```powershell
Repadmin /kcc DC01
```

![Running the KCC](https://www.powershellcenter.com/wp-content/uploads/2021/07/image-35.png)

Running the KCC

> _You can also trigger the KCC on all DCs in a site using the `site` parameter like `repadmin /kcc site:Site1`._

## Manually Invoking a Partition Replication (`repadmin /replicate`)

Even though partitions typically stay in sync, it’s sometimes helpful to manually force a replication when troubleshooting. Forcing replication process between DCs allows you to get quick feedback on if replication is actually working or not.

Trigger a manual replication using the `/replicate` parameter, as shown below. The `/replicate` parameter needs at least three arguments, with [others being optional](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/cc742152\(v=ws.11\)):

*   The destination DC to replicate _to_.
*   The source DC to replicate _from_.
*   A naming context to replicate.

> _Find the naming context by running `repadmin /showrepl`._

```powershell
Repadmin /replicate <Destination_DSA> <Source_DSA> <Naming Context>
```

For example, replicating the Schema partition from DC01 to DC02 would look like the command below.

```powershell
repadmin /replicate DC02 DC01 CN=Schema,CN=Configuration,DC=test,DC=local

Sync from DC01 to DC02 completed successfully.
```

## Manually Invoking Replication for All (`repadmin /syncall`)

If the `/replicate` parameter replicates a single partition, the `/syncall` parameter is the nuclear approach. The `/syncall` parameter has the ability to sync _all_ partitions on _all_ DCs.

The `/syncall` parameter is great for times when you want to test the entire replication topology as a whole or even mimic the behavior of the `/replicate` parameter, as you’ll see below.

### Replicating a Single Naming Context for DCs in the Same Site

The `/syncall` parameter requires only a single argument, the DC, to test replication to/from. For example, if you wanted to test replication to/from a DC called DC01, you’d run the command below. This command would test replication of the Configuration directory partition only.

> _By only specifying the DC to test replication to/from, repadmin will only invoke replication to/from DCs within the same site._

```powershell
Repadmin /Syncall DC01 /d
```

![Replicating the Configuration naming context for a DC with repadmin](https://www.powershellcenter.com/wp-content/uploads/2021/07/image-40.png)

Replicating the Configuration naming context for a DC with repadmin

### Replicating All Naming Contexts for DCs in the Same Site

But what if you need to replicate all naming contexts to/from a particular DC within the same site. In that case, you’d use the `/A` argument. You’ll see below the output now includes all naming contexts.

```powershell
Repadmin /Syncall DC01 /d /A
```

> _Use the `/e` argument to force replication across all DCs in all sites._

![Replicating all naming contexts for DCs in a single site with repadmin](https://www.powershellcenter.com/wp-content/uploads/2021/07/image-41.png)

Replicating all naming contexts for DCs in a single site with repadmin

> _Note that all arguments are case-sensitive!_

### Pushing Replication

By default, DC replication is a pull operation, but you can also configure replication to push. For example, perhaps you need DC01 to send updates to DC02 instead of DC02 _pulling_ changes from **DC01.** To do so, add the `/P` argument to change the direction of replication.

You’ll now see below replication happens _from_ DC01 _to_ DC02.

```powershell
Repadmin /Syncall DC01 /d /P
```

![Forcing push replication with repadmin](https://www.powershellcenter.com/wp-content/uploads/2021/07/image-42.png)

Forcing push replication with repadmin

## Getting Granular: Replicating a Single Object

In the above examples, you were replicating _all_ changes, but repadmin can also get granular and replicate a single AD object. Using the `/replsingleobj` parameter, you can select a single object and control its full replication from source to destination DC.

To demonstrate, let’s replicate a user object named User1 **from DC02 to DC01.**

> _This demonstration will use PowerShell and the Active Directory module to find the user object distinguished name (DN), but PowerShell is not required to use the `/replsingleobj` parameter._

To replicate a domain user object, first, find the DN of the user object. The example below is assigning the DN to the PowerShell variable `$UserDN`. Once you have the DN, run `repadmin /replsingleobject` specifying the source (`DC01`) and destination DC (`DC02`) to replicate that object from/to.

If successful, you’ll see that DC01 replicated the user object to DC02.

```powershell
$UserDN=(Get-ADUser user1).DistinguishedName
repadmin /replsingleobj DC01 DC02 $UserDN
```

![Forcing push replication with repadmin](https://www.powershellcenter.com/wp-content/uploads/2021/07/image-45.png)

Forcing push replication with repadmin

Related:[how to get the Atribute ID and Version number](https://adamtheautomator.com/active-directory-replication/)

## Discovering Sites for all DCs

So far, you’ve learned a few handy parameters to help troubleshoot AD replication issues. But did you know that repadmin also includes some basic and nice reports too? One of the most useful reports repadmin provides is the inter-site topology report.

When you specify the `/istg` parameter, repadmin generates a basic report about the inter-site topology, which shows you what sites each DC is in. Adding the asterisk argument (`*`) forces the discovery to go through all domain controllers in the enterprise.

```powershell
repadmin /istg *
```

![repadmin /istg \*](https://www.powershellcenter.com/wp-content/uploads/2021/07/image-43.png)

repadmin /istg \*

## Finding DC Bridgehead Servers

When DCs replicate between sites, AD requires every site to contain a DC that receives and sends all incoming and outgoing replication requests known as a bridgehead server. Knowing which DCs are bridgehead servers and the status of each naming context is helpful when troubleshooting.

To discover bridgehead DCs and return replication information about each server, use the `/bridgeheads` argument, as shown below.

```powershell
repadmin /bridgeheads /verbose
```

> _The `/verbose` parameter is an optional parameter that lists more details about the replication attempts and whether or not it was a success._

![Finding bridgehead servers with repadmin](https://www.powershellcenter.com/wp-content/uploads/2021/07/image-44.png)

Finding bridgehead servers with repadmin

> _To display bridgehead servers and all other DCs, provide an asterisk as an argument to the `/bridgeheads` parameter, e.g., `repadmin /bridgeheads * /verbose`._

## Conclusion

Repadmin is an older but still powerful tool to manage and monitor Active Directory replication. Repadmin has many parameters and options to manage and review replication across a wide range of situations.

Have you used repadmin in the past? If so, do you have any useful parameters that have helped you solve a difficult replication issue?

Share this article

[Share on X](https://twitter.com/intent/tweet?url=https%3A%2F%2Fadamtheautomator.com%2Frepadmin%2F&text=The%20Reliable%20Repadmin%20for%20Managing%20AD%20Replication)[Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fadamtheautomator.com%2Frepadmin%2F)[Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fadamtheautomator.com%2Frepadmin%2F)

## Related Posts

![](https://adamtheautomator.com/wp-content/uploads/2026/05/featured_image-11.webp)

### [How to Troubleshoot Active Directory Replication Errors](/troubleshoot-active-directory-replication-errors/)

Troubleshoot Active Directory replication errors by isolating 1311, 1722, 2087, and USN rollback issues with repadmin, dcdiag, DNS, RPC, and KCC checks.

![](https://adamtheautomator.com/wp-content/uploads/2026/05/featured_image-7.webp)

### [Migrate Group Policy to Intune Without Breaking Endpoints](/gpo-intune-migration/)

Export GPOs as XML, analyze them with Group Policy Analytics, migrate supported settings to Intune Settings Catalog, and resolve hybrid device conflicts.

![](https://adamtheautomator.com/wp-content/uploads/2026/06/ditch-gpos-intune-featured.webp)

### [Ditch the GPOs: Migrate to Microsoft Intune](/ditch-gpos-migrate-microsoft-intune-2/)

Use Group Policy Analytics to migrate GPOs to Intune Settings Catalog profiles, handle unsupported Group Policy Preferences, and manage hybrid AD-to-MDM transitions.

## Categories

*   [IT Ops](/category/it-ops/)
*   [Cloud](/category/cloud/)
*   [DevOps](/category/devops/)
*   [Home Ops](/category/home-ops/)
*   [Information Security](/category/infosec/)
*   [Software Development](/category/software-development/)

## Site

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Copyright 2026© ATA Learning | [Privacy Policy](/privacy/)
