다음을 통해 공유


Get-Transaction

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

구문

Get-Transaction [<CommonParameters>]

설명

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

활성 트랜잭션은 한 번에 하나만 있을 수 있기 때문에 이 cmdlet은 개체를 하나만 반환합니다. Start-Transaction의 Independent 매개 변수를 사용하여 독립 트랜잭션을 하나 이상 시작하는 경우 가장 최근에 시작한 트랜잭션이 활성 트랜잭션이기 때문에 Get-Transaction은 이 트랜잭션을 반환합니다.

모든 활성 트랜잭션이 롤백되거나 커밋된 경우 Get-Transaction은 세션에서 가장 최근에 활성 상태였던 트랜잭션을 보여 줍니다.

Get-Transaction cmdlet은 Windows PowerShell의 트랜잭션 기능을 지원하는 cmdlet 집합 중 하나입니다. 자세한 내용은 about_Transactions를 참조하십시오.

매개 변수

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

없음

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

출력

System.Management.Automation.PSTransaction

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

예 1

C:\PS>start-transaction

C:\PS> get-transaction 

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

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





예 2

C:\PS>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;}

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





예 3

C:\PS>cd hklm:\software
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction
HKLM:\SOFTWARE> Undo-Transaction
HKLM:\SOFTWARE> Get-Transaction

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

설명
-----------
이 명령은 롤백된 트랜잭션의 트랜잭션 개체 속성 값을 표시합니다.





예 4

C:\PS>cd hklm:\software
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction
HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction

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

설명
-----------
이 명령은 커밋된 트랜잭션의 트랜잭션 개체 속성 값을 표시합니다.





예 5

C:\PS>cd hklm:\software
HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany -UseTransaction

HKLM:\SOFTWARE> Start-Transaction
HKLM:\SOFTWARE> New-Item MyCompany2 -UseTransaction

HKLM:\SOFTWARE> Get-Transaction

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

HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction

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


HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> 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

C:\PS>HKLM:\SOFTWARE> Start-Transaction

HKLM:\SOFTWARE> Get-Transaction

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

HKLM:\SOFTWARE> Start-Transaction -Independent
HKLM:\SOFTWARE> Get-Transaction

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

HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction

HKLM:\SOFTWARE> Complete-Transaction
HKLM:\SOFTWARE> Get-Transaction

설명
-----------
이 예에서는 다른 트랜잭션 진행 중 독립 트랜잭션을 시작할 경우 트랜잭션 개체가 받는 영향을 보여 줍니다.

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

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

첫 번째 Get-Transaction 명령은 다중 가입자 트랜잭션을 표시합니다. 가입자 개수는 2입니다.

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

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





참고 항목

개념

about_Transactions
about_providers
Start-Transaction
Complete-Transaction
Undo-Transaction
Use-Transaction