Add-History

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

Syntax

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

Description

cmdlet은 Add-History 세션 기록의 끝에 항목을 추가합니다. 즉, 현재 세션 중에 입력된 명령 목록입니다.

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

세션 기록은 PSReadLine 모듈에서 기본 기록과 별도로 관리됩니다. 두 기록은 PSReadLine로드되는 세션에서 사용할 수 있습니다. 이 cmdlet은 세션 기록에서만 작동합니다. 자세한 내용은 about_PSReadLine 참조하세요.

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

예제

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

다음은 한 PowerShell 세션에 입력된 명령을 다른 PowerShell 세션의 기록에 추가하는 예제입니다.

Get-History | Export-Csv -Path C:\testing\history.csv -IncludeTypeInformation
Import-Csv -Path C:\testing\history.csv | Add-History

첫 번째 명령은 기록의 명령을 나타내는 개체를 가져와 파일로 내보 History.csv 냅니다.

두 번째 명령은 다른 세션의 명령줄에 입력합니다. cmdlet을 Import-Csv 사용하여 파일의 개체를 History.csv 가져옵니다. 파이프라인 연산자(|)는 개체를 cmdlet에 Add-History 전달하여 파일의 명령을 나타내는 개체를 현재 세션 기록에 추가합니다 History.csv .

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

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

Import-Clixml -Path C:\temp\history.xml | Add-History -PassThru | ForEach-Object -Process {Invoke-History}

첫 번째 명령은 cmdlet을 Import-Clixml 사용하여 파일로 내보낸 History.xml 명령 기록을 가져옵니다. 파이프라인 연산자는 cmdlet에 Add-History 명령을 전달하여 현재 세션 기록에 명령을 추가합니다. PassThru 매개 변수는 추가된 명령을 나타내는 개체를 파이프라인 아래로 전달합니다.

그런 다음 이 명령은 cmdlet을 사용하여 ForEach-Object 결합된 기록의 각 명령에 명령을 적용 Invoke-History 합니다. 이 Invoke-History 명령은 cmdlet의 Process 매개 변수에 필요한 대로 중괄호({})로 묶인 스크립트 블록으로 형식이 ForEach-Object 지정됩니다.

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

다음은 기록 목록의 끝에 기록의 처음 5개 명령을 추가하는 예제입니다.

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

cmdlet은 Get-History 명령 5로 끝나는 5개의 명령을 가져옵니다. 파이프라인 연산자는 cmdlet에 Add-History 전달하여 현재 기록에 추가합니다. 명령에는 Add-History 매개 변수가 포함되지 않지만 PowerShell은 파이프라인을 통해 전달된 개체를 InputObject 매개 변수와 Add-History연결합니다.

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

다음은 파일의 명령을 History.csv 현재 세션 기록에 추가하는 예제입니다.

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

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

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

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

다음은 파일의 명령을 history.xml 현재 세션 기록에 추가하는 예제입니다.

Add-History -InputObject (Import-Clixml -Path C:\temp\history.xml)

InputObject 매개 변수는 명령의 결과를 괄호로 하여 cmdlet에 Add-History 전달합니다. 먼저 실행되는 괄호 안의 명령은 파일을 PowerShell로 가져옵니다 history.xml . 그런 다음 cmdlet은 Add-History 파일의 명령을 세션 기록에 추가합니다.

매개 변수

-InputObject

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

Type:PSObject[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Passthru

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

HistoryInfo

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

출력

None

기본적으로 이 cmdlet은 출력을 반환하지 않습니다.

HistoryInfo

PassThru 매개 변수를 사용하는 경우 이 cmdlet은 HistoryInfo 개체를 반환합니다.

참고

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

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

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

cmdlet에 전달하는 HistoryInfo 개체의 파일에는 형식 정보, 열 머리글 및 HistoryInfo 개체의 모든 속성이 포함되어야 합니다.Add-History 개체를 다시 Add-History전달하려는 경우 cmdlet의 NoTypeInformation 매개 변수를 사용하지 않고 파일의 Export-Csv 형식 정보, 열 머리글 또는 필드를 삭제하지 마세요.

세션 기록을 수정하려면 세션을 CSV 또는 XML 파일로 내보내고, 파일을 수정하고, 파일을 가져오고, 현재 세션 기록에 추가하는 데 사용합니다 Add-History .