- 개요
- 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은 복잡한 내용을 명령어로 만들어 언제든지 사용할 수 있도록 하는 장점이 있다.