Share via


Get-Transaction

현재(활성) 트랜잭션을 가져옵니다.

Syntax

Get-Transaction []

Description

cmdlet은 Get-Transaction 세션의 현재 트랜잭션을 나타내는 개체를 가져옵니다.

이 cmdlet은 한 번에 하나의 트랜잭션만 활성화되므로 둘 이상의 개체를 반환하지 않습니다. 하나 이상의 독립 트랜잭션을 시작하는 경우(Start-Transaction의 Independent 매개 변수 사용) 가장 최근에 시작된 트랜잭션이 활성 상태이며 반환되는 Get-Transaction 트랜잭션입니다.

모든 활성 트랜잭션이 롤백되거나 커밋된 경우 이 cmdlet은 세션에서 가장 최근에 활성화된 트랜잭션을 표시합니다.

이 cmdlet은 Windows PowerShell에서 트랜잭션 기능을 지원하는 cmdlet 집합 중 하나입니다. 자세한 내용은 about_Transactions 참조하세요.

예제

예제 1: 현재 트랜잭션 가져오기

Start-Transaction
Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                1                 Active

이 명령은 cmdlet을 Get-Transaction 사용하여 현재 트랜잭션을 가져옵니다.

예제 2: 트랜잭션 개체의 속성 및 메서드 표시

Get-Transaction | Get-Member

Name               MemberType Definition
----               ---------- ----------
Dispose            Method     System.Void Dispose(), System.Void Dispose(Boolean disposing)
Equals             Method     System.Boolean Equals(Object obj)
GetHashCode        Method     System.Int32 GetHashCode()
GetType            Method     System.Type GetType()
ToString           Method     System.String ToString()
IsCommitted        Property   System.Boolean IsCommitted {get;}
IsRolledBack       Property   System.Boolean IsRolledBack {get;}
RollbackPreference Property   System.Management.Automation.RollbackSeverity RollbackPreference {get;}
SubscriberCount    Property   System.Int32 SubscriberCount {get;set;}

이 명령은 cmdlet을 Get-Member 사용하여 트랜잭션 개체의 속성과 메서드를 표시합니다.

예제 3: 롤백된 트랜잭션의 속성 값 표시

Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Undo-Transaction
Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ----------
Error                0                 RolledBack

이 명령은 롤백된 트랜잭션에 대한 트랜잭션 개체의 속성 값을 보여줍니다.

예제 4: 커밋된 트랜잭션의 속성 값 표시

Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Complete-Transaction
Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ---------
Error                1                 Committed

이 명령은 커밋된 트랜잭션에 대한 트랜잭션 개체의 속성 값을 보여 줍니다.

예제 5: 다른 트랜잭션이 진행 중인 동안 트랜잭션 시작

Set-Location hklm:\software
Start-Transaction
New-Item MyCompany -UseTransaction
Start-Transaction
New-Item MyCompany2 -UseTransaction
Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                2                 Active

Complete-Transaction
Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ------
Error                1                 Active

Complete-Transaction
Get-Transaction

RollbackPreference   SubscriberCount   Status
------------------   ---------------   ---------
Error                1                 Committed

이 예제에서는 다른 트랜잭션이 진행 중인 동안 트랜잭션을 시작하는 트랜잭션 개체에 미치는 영향을 보여 주며, 일반적으로 트랜잭션을 실행하는 스크립트가 함수를 포함하거나 다른 전체 트랜잭션이 포함된 스크립트를 호출하는 경우에 발생합니다.

두 번째 Start-Transaction 명령에 Independent 매개 변수 Start-Transaction포함되지 않는 한 새 트랜잭션을 만들지 않습니다. 대신 원래 트랜잭션에 두 번째 구독자를 추가합니다.

첫 번째 Start-Transaction 명령은 트랜잭션을 시작합니다. UseTransaction 매개 변수가 있는 New-Item 명령은 트랜잭션의 일부입니다.

두 번째 Start-Transaction 명령은 트랜잭션에 구독자를 추가합니다. 다음 New-Item 명령은 트랜잭션의 일부이기도 합니다.

첫 번째 Get-Transaction 명령은 다중 구독자 트랜잭션을 보여줍니다. 구독자 수는 2입니다.

첫 번째 Complete-Transaction 명령은 트랜잭션을 커밋하지 않고 구독자 개수를 1로 줄입니다.

두 번째 Complete-Transaction 명령은 트랜잭션을 커밋합니다.

예제 6: 다른 트랜잭션이 진행 중인 동안 독립 트랜잭션 시작

Set-Location hklm:\software
Start-Transaction
Get-Transaction

RollbackPreference   SubscriberCount   IsRolledBack   IsCommitted
------------------   ---------------   ------------   -----------
Error                1                 False          False

Start-Transaction -Independent
Get-Transaction

RollbackPreference   SubscriberCount   IsRolledBack   IsCommitted
------------------   ---------------   ------------   -----------
Error                1                 False          False

Complete-Transaction
Get-Transaction
Complete-Transaction
Get-Transaction

이 예제에서는 다른 트랜잭션이 진행 중인 동안 독립 트랜잭션을 시작하는 트랜잭션 개체에 미치는 영향을 보여 주며,

첫 번째 Start-Transaction 명령은 트랜잭션을 시작합니다. New-Item UseTransaction 매개 변수가 있는 명령은 트랜잭션의 일부입니다.

두 번째 Start-Transaction 명령은 트랜잭션에 구독자를 추가합니다. 다음 New-Item 명령은 트랜잭션의 일부이기도 합니다.

첫 번째 Get-Transaction 명령은 다중 구독자 트랜잭션을 보여줍니다. 구독자 수는 2입니다.

Complete-Transaction 명령은 구독자 수를 1로 줄이지만 트랜잭션을 커밋하지는 않습니다.

두 번째 Complete-Transaction 명령은 트랜잭션을 커밋합니다.

입력

None

개체를 이 cmdlet으로 파이프할 수 없습니다.

출력

PSTransaction

이 cmdlet은 현재 트랜잭션을 나타내는 개체를 반환합니다.