Powershell 스크립트(Script) 생성과 실행

Windows Powershell 역시 스크립트를 지원 한다. 스크립트가 생소한 사람은 .bat 파일을 떠올리면 되겠다.

Powershell 스크립트의 확장자는 .ps1 인데 현재 Windows Server 2008 R2 와 Windows 7에 기본 내장 되어 있는 Powershell 버전이 2임에도 불구 하고 확장자는 그대로 ps1을 사용 한다. ps1의 뒤의 1 이라는 숫자가 버전을 의미 하는것이 아닌가? 생각하고 검색 해보니 msdn에 이런 문서가 있다.

Windows Powershell Blog – CTP:Versioning

참고로 자신의 Powershell 의 버전을 확인 하기 위해선 다음 명령이 유용하다.

Version 정보가 보일 것이다.

아니면 조금더 적나라하게 이것도 괜찮다.

Windows 2008 (R2가 아님) 과 Windows Vista(Vista는 직접 확인 해 보지 않았다.)에는 Powershell Version 이 1 인데 업그레이드 할 것을 권장한다.

다음 링크로 업그레이드 할 수 있다.
Windows Management Framework Core package (Windows PowerShell 2.0 and WinRM 2.0)

일반적인 스크립트가 그렇듯 Powershell 스크립트 역시 Text파일이다. 즉 메모장 (notepad)로 작성 할 수도 있고 유용한 툴을 이용 할 수도, 간단한 명령으로도 쉽게 만들 수 있다.

Powershell 에서 다음을 입력 하여 스크립트를 생성 해 보자.

메모장이 열리면 다음을 입력 하고 저장 한다.

Select-IPAddress.ps1

그리고 작성한 스크립트를 실행 해 보자.

Powershell 이 설치된 초기 상태에서는 스크립트 실행이 불가능 하도록 설정 되어 있다. 아직 Execution Policy를 변경 하지 않았다면 먼저 다음 링크의 포스트를 본다.
Powershell 스크립트(Script) 실행을 위한 준비

스크립트를 실행하는 방법은 스크립트 이름을 적어주면 되는데 이때 주의 할점은 경로와 함께 적어 줘야 한다는 것이다. 이것은 스크립트에만 해당 되는 것이 아니라 Powershell 에서 파일을 대상으로 실행 할때 꼭 지켜야 한다. 기존의 cmd와 다른 부분이라 처음 접할 때 실수를 많이 한다.

나쁜 예

위와 같이 파일 이름만 입력 하면 다음과 같은 에러를 보게 될 것이다.

‘Select-IPAddress.ps1’ 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름
이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 확인한 다음 다시 시도하십시오.
위치 줄:1 문자:21
+ Select-IPAddress.ps1 <<<<
+ CategoryInfo : ObjectNotFound: (Select-IPAddress.ps1:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException



좋은 예

.Select-IPAddress.ps1 에서 . 은 현재 위치를 의미 한다.

참고

  • Current Directory (현재 디렉토리): .
  • Parent Directory (상위 디렉토리): ..
  • Root Directory (최상위 디렉토리): /
  • Home Directory (홈 디렉토리): ~

  • 2 thoughts on “Powershell 스크립트(Script) 생성과 실행

    1. 필요한 정보라 내용을 퍼갑니다~
      원문 경로 페이지에 남겼습니다~~
      좋은 정보 감사합니다.

    2. gkquf159

      좋은 정보 감사합니다.
      근데,
      마지막 좋은 예 경로가 틀렸네요.

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    You may use these HTML tags and attributes:

    <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url=""> 

    This site uses Akismet to reduce spam. Learn how your comment data is processed.