Get Transaction - PowerShell


Overview

Get-Transaction is a PowerShell command that retrieves transaction information from Active Directory. It allows administrators to view and manage transactions, which are units of work that represent changes made to directory objects. This command helps monitor and troubleshoot Active Directory performance issues and ensures data integrity by verifying the status and completeness of transactions.

Syntax

Get-Transaction [-Server <String>] [-Database <String>] [-Forest <String>] [-Domain <String>]
[-StartTime <DateTime>] [-EndTime <DateTime>] [-Last <UInt32>] [-Filter <String>]

Options/Flags

  • -Server: Specifies the AD server to connect to. Defaults to the local domain controller.
  • -Database: Specifies the AD database to retrieve transactions from. Defaults to “default”.
  • -Forest: Specifies the AD forest to search. Defaults to the current forest.
  • -Domain: Specifies the AD domain to search. Defaults to the current domain.
  • -StartTime: Specifies the start time for retrieving transactions. Defaults to the beginning of the day.
  • -EndTime: Specifies the end time for retrieving transactions. Defaults to the current time.
  • -Last: Specifies the maximum number of transactions to retrieve. Defaults to 100.
  • -Filter: Specifies a filter to match transactions to retrieve. Valid filters include TransactionId, TransactionTime, ObjectDN, and Operation.

Examples

Example 1: Get all transactions for today

Get-Transaction

Example 2: Get transactions for a specific server

Get-Transaction -Server "dc.contoso.com"

Example 3: Get transactions within a specific time range

Get-Transaction -StartTime '2023-02-01' -EndTime '2023-02-10'

Common Issues

  • Permission denied: Ensure you have sufficient permissions to access AD.
  • No transactions found: Adjust the time range or filter to include desired transactions.
  • Slow performance: Optimize performance by using filters or narrowing the time range.

Integration

Get-Transaction can be integrated with other commands to troubleshoot and manage AD transactions. Here’s an example:

Get-Transaction -Filter "TransactionId eq '1234'" | Get-TransactionDetails

This command retrieves a specific transaction and then retrieves detailed information about it.

  • Get-TransactionDatabase
  • Get-TransactionDetail
  • Resolve-TransactionConflict