다음을 통해 공유


Add-History

세션 기록에 항목을 추가합니다.

구문

Add-History
   [[-InputObject] <PSObject[]>]
   [-Passthru]
   [<CommonParameters>]

Description

Add-History cmdlet은 세션 기록의 끝에 항목을 추가합니다. 즉, 현재 세션 중에 입력된 명령 목록입니다. Get-History cmdlet을 사용하여 명령을 가져와 Add-History전달하거나, CSV 또는 XML 파일로 명령을 내보낸 다음, 명령을 가져온 다음 가져온 파일을 Add-History전달할 수 있습니다. 이 cmdlet을 사용하여 기록에 특정 명령을 추가하거나 둘 이상의 세션의 명령을 포함하는 단일 기록 파일을 만들 수 있습니다.

예제

예제 1: 다른 세션의 기록에 명령 추가

# Get objects representing the commands in the history and exports them to the History.csv file.
Get-History | Export-Csv c:\testing\history.csv
# Use the `Import-Csv` cmdlet to import the objects in the History.csv file.
Import-Csv history.csv | Add-History

이러한 명령은 한 Windows PowerShell 세션에 입력된 명령을 다른 Windows PowerShell 세션의 기록에 추가합니다. 두 번째 명령은 다른 세션의 명령줄에 입력됩니다.

파이프라인 연산자 | 개체를 Add-History cmdlet에 전달하여 History.csv 파일의 명령을 나타내는 개체를 현재 세션 기록에 추가합니다.

예제 2: 명령 가져오기 및 실행

Import-Clixml c:\temp\history.xml | Add-History -Passthru | ForEach-Object -Process {Invoke-History}

이 명령은 History.xml 파일에서 명령을 가져와 현재 세션 기록에 추가한 다음 결합된 기록에서 명령을 실행합니다.

Import-Clixml cmdlet은 History.xml 파일로 내보낸 명령 기록을 가져옵니다.

파이프라인 연산자는 현재 세션 기록에 명령을 추가하는 Add-History cmdlet에 명령을 전달합니다.

PassThru 매개 변수는 추가된 명령을 나타내는 개체를 파이프라인 아래로 전달합니다.

ForEach-Object cmdlet은 결합된 기록의 각 명령에 Invoke-History 명령을 적용합니다.

Invoke-History 명령은 ForEach-Object cmdlet의 Process 매개 변수에 필요한 대로 중괄호로 묶은 스크립트 블록으로 형식이 지정됩니다.

예제 3: 기록 끝에 기록의 명령 추가

Get-History -Id 5 -Count 5 | Add-History

이 명령은 기록 목록의 끝에 기록의 처음 5개 명령을 추가합니다. Get-History cmdlet을 사용하여 명령 5로 끝나는 5개의 명령을 가져옵니다. 파이프라인 연산자는 Add-History cmdlet에 전달하여 현재 기록에 추가합니다.

Add-History 명령에는 매개 변수가 포함되지 않지만 Windows PowerShell은 파이프라인을 통해 전달된 개체를 Add-HistoryInputObject 매개 변수와 연결합니다.

예제 4: 현재 기록에 .csv 파일의 명령 추가

$a = Import-Csv c:\testing\history.csv
Add-History -InputObject $a -PassThru

이러한 명령은 History.csv 파일의 명령을 현재 세션 기록에 추가합니다.

첫 번째 명령은 Import-Csv cmdlet을 사용하여 History.csv 파일의 명령을 가져오고 해당 내용을 변수 $a저장합니다.

두 번째 명령은 Add-History cmdlet을 사용하여 History.csv 명령을 현재 세션 기록에 추가합니다.

InputObject 매개 변수를 사용하여 $a 변수와 PassThru 매개 변수를 지정하여 명령줄에 표시할 개체를 생성합니다. PassThru 매개 변수가 없으면 Add-History cmdlet은 출력을 생성하지 않습니다.

예제 5: 현재 기록에 .xml 파일의 명령 추가

Add-History -InputObject (Import-Clixml c:\temp\history01.xml)

이 명령은 History01.xml 파일의 명령을 현재 세션 기록에 추가합니다. InputObject 매개 변수를 사용하여 괄호 안에 있는 명령의 결과를 Add-History cmdlet에 전달합니다.

먼저 실행되는 괄호 안의 명령은 History01.xml 파일을 Windows PowerShell로 가져옵니다. 그런 다음 Add-History cmdlet은 파일의 명령을 세션 기록에 추가합니다.

매개 변수

-InputObject

기록에 추가할 항목 배열을 세션 기록에 HistoryInfo 개체로 지정합니다. 이 매개 변수를 사용하여 Get-History, Import-Clixml또는 Import-Csv cmdlet에서 반환된 개체와 같은 HistoryInfo 개체를 Add-History제출할 수 있습니다.

형식:PSObject[]
Position:0
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Passthru

이 cmdlet은 각 기록 항목에 대한 기록 개체를 반환합니다. 기본적으로 이 cmdlet은 출력을 생성하지 않습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

HistoryInfo

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

출력

None or Microsoft.PowerShell.Commands.HistoryInfo

이 cmdlet은 PassThru 매개 변수를 지정하는 경우 HistoryInfo 개체를 반환합니다. 그렇지 않으면 이 cmdlet은 출력을 생성하지 않습니다.

참고

  • 세션 기록은 ID와 함께 세션 중에 입력된 명령 목록입니다. 세션 기록은 명령의 실행 순서, 상태 및 시작 및 종료 시간을 나타냅니다. 각 명령을 입력할 때 Windows PowerShell은 다시 사용할 수 있도록 기록에 추가합니다. 세션 기록에 대한 자세한 내용은 about_History참조하세요.

  • 기록에 추가할 명령을 지정하려면 InputObject 매개 변수를 사용합니다. Add-History 명령은 Get-History cmdlet에서 각 명령에 대해 반환되는 개체와 같은 HistoryInfo 개체만 허용합니다. 경로 및 파일 이름 또는 명령 목록을 전달할 수 없습니다.

  • InputObject 매개 변수를 사용하여 Add-HistoryHistoryInfo 개체의 파일을 전달할 수 있습니다. 이렇게 하려면 Export-Csv 또는 Export-Clixml cmdlet을 사용하여 Get-History 명령의 결과를 파일로 내보낸 다음 Import-Csv 또는 Import-Clixml cmdlet을 사용하여 파일을 가져옵니다. 그런 다음 가져온 HistoryInfo 개체의 파일을 전달하여 파이프라인 또는 변수에서 Add-History 수 있습니다. 자세한 내용은 예제를 참조하세요.

  • Add-History cmdlet에 전달하는 HistoryInfo 개체의 파일에는 형식 정보, 열 머리글 및 HistoryInfo 개체의 모든 속성이 포함되어야 합니다. 개체를 다시 Add-History전달하려는 경우 Export-Csv cmdlet의 NoTypeInformation 매개 변수를 사용하지 않고 파일의 형식 정보, 열 머리글 또는 필드를 삭제하지 마세요. 세션 기록을 수정하려면 세션을 CSV 또는 XML 파일로 내보내고, 파일을 수정하고, 파일을 가져오고, Add-History 사용하여 현재 세션 기록에 추가합니다.