2010. 8. 11. 17:36
안녕하세요? 윈디안입니다.

오늘 포스팅을 2개나 하네요.
밀린 숙제하는 것 같아 마음이 편하지 않네요.
다음 부터는 게으르지 않기로 다시 한번 마음을 잡아 봅니다.(과연?)

이번에 말씀드리고자 하는 것은 파워쉘의 히스토리입니다.
파워쉘에는 과거 cmdlet을 보여주는 히스토리 기능이 있습니다.

Get-History


위 cmdlet을 통해서 입력 히스토리를 볼 수 있죠.

예제를 보죠
PS C:\Users\windian7.SDS> get-history
PS C:\Users\windian7.SDS> 멍청이
'멍청이' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확
인하고 경로가 포함된 경우 경로가 올바른지 확인한 다음 다시 시도하십시오.
위치 줄:1 문자:4
+ 멍청이 <<<<
    + CategoryInfo          : ObjectNotFound: (멍청이:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
PS C:\Users\windian7.SDS> 거지
'거지' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인
하고 경로가 포함된 경우 경로가 올바른지 확인한 다음 다시 시도하십시오.
위치 줄:1 문자:3
+ 거지 <<<<
    + CategoryInfo          : ObjectNotFound: (거지:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
PS C:\Users\windian7.SDS> Get-Acl

    디렉터리: C:\Users

Path                                    Owner                                   Access
----                                    -----                                   ------
windian7.SDS                            NT AUTHORITY\SYSTEM                     NT AUTHORITY\SYSTEM Allow  FullContr...

PS C:\Users\windian7.SDS> Get-History
  Id CommandLine
  -- -----------
   1 get-history
   2 멍청이
   3 거지
   4 Get-Acl

PS C:\Users\windian7.SDS>

1번 get-history는 아무런 결과가 없습니다. history가 없으니 결과가 없겠죠?
마지막 Get-History를 보면 시간 순서에 따라 get-history,멍청이,거지,get-acl등 모든 cmdlet을 확인할 수 있습니다.

그러나 이 history 기능이 완벽한 것은 아닙니다.
PowerShell을 종료하면 모든 히스토리가 삭제됩니다.
그러면 이를 유지할 수 있는 방법은 없을까요?
물론 있습니다. 그러니 제가 포스팅을 하는 것이 겠지요...

방법은 간단합니다. xml로 history를 내보내기한 후 다시 가져오기 하는 것 입니다.

2가지만 기억하세요. 내보내기,가져오기...

xml로 history 내보내기 - Export history
Get-History | Export-Clixml "파일경로\파일명.xml"

Add-History xml파일 가져오기 - Import history
Import-Clixml "파일경로\파일명.xml" | Add-History


"C:\history.xml"을 만들어 위 예제 파일을 가지고 왔습니다.

내보내기

PS C:\Users\windian7.SDS> Get-History | Export-Clixml "c:\history.xml"

가져오기

PS C:\Users\windian7.SDS> history
PS C:\Users\windian7.SDS> Import-Clixml "c:\history.xml" | Add-History
PS C:\Users\windian7.SDS> history
  Id CommandLine
  -- -----------
   1 history
   2 Import-Clixml "c:\history.xml" | Add-History
   3 get-history
   4 멍청이
   5 거지
   6 Get-Acl
   7 Get-History

PS C:\Users\windian7.SDS>


Import를 한 데이터가 history에 등록되어 있는 것을 볼 수 있습니다.
응용할 수 있는 방법은 여러가지가 있겠지만
"프로필에 등록하여 작업 로그 형태로 사용할 수 있지 않을까?"라는 생각을 해봤습니다.

다른 머신에서도 이를 통해 history를 유지할 수 있겠군요.

이번 포스팅은 여기까지입니다.
감사합니다.


참고 링크 : Using the Add-History Cmdlet
http://technet.microsoft.com/ko-kr/library/ee156792(en-us).aspx

Posted by 알 수 없는 사용자
:
BLOG main image
Windows Server를 공부 하는 사람들의 팀블로그 by 마성민

카테고리

분류 전체보기 (76)
Windows (2)
Powershell (56)
AD (0)
Exchange (6)
System Center (9)
IIS (0)
SQL (3)
Sharepoint (0)

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

Total :
Today : Yesterday :