PowerShell에서 Script, Function, Module의 차이점 이해


  • 개요
    • Script, Function, Module은 비슷하다. 출발은 Script이다.
    • Script를 사용하는 이유는 반복적인 작업을 할 때 GUI로 클릭 클릭으로 하지 않고 지정된 시간 및 원할 때 스크립트를 실행하면 편하다
  • Script
    • Script의 확장자는 .ps1 이고 그냥 한 번의 Enter로 실행된다
    • 이 파일은 로컬 컴퓨터에서 실행, 원격 컴퓨터에 접속하여 실행, 로컬에서 원격 컴퓨터로 실행, 예약 작업으로 실행, Group Policy로 실행할 수 있다
  • Function
    • Script안에 하나 이상의 기능을 포함하기 위해 명령어를 만들어서 사용하는 것이 Function이다
    • Function의 확장자는 .ps1이고 실행할 때는 경로를 지정하여 실행한다
      • . .\script.ps1
      • Get-MyCommand
    • 그런 다음 그 안에 포함된 명령어를 입력하여 실행하면 된다
  • Module
    • Module의 확장자는 .psm1이고 그 안에 여러 명령어가 있어서 Function과 유사하다
    • Import-Module을 통하여 메모리에 명령어를 Load할 수 있기 때문에 어느 위치에서나 명령어를 실행할 수 있다
    • Function은 파일이 있는 위치까지 이동하여 명령어를 실행하게 되며, 해당 세션에서만 명령어를 실행할 수 있다
    • 반면에, Module 파일인 .psm1은 C:\Windows\System32\WindowsPowerShell\v1.0\Modules\Rest-Azure 폴더에 저장하면 이 경로는 PowerShell을 실행할 때 자동으로 메모리에 로드되므로 언제든지 경로에 신경 쓰지 않고 실행할 수 있는 장점이 있다
  • 결론
    • 가장 단순한 것이 Script이고, 이것은 원격 컴퓨터로도 실행할 수 있는 장점이 있다. function 및 Module은 원격으로는 실행할 수 없다
    • Function은 script 형태로서 동일한 세션에서 명령어로 사용하고자 할 때 사용한다
    • Module은 복잡한 내용을 명령어로 만들어 언제든지 사용할 수 있도록 하는 장점이 있다.
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s