- 개요
- 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은 복잡한 내용을 명령어로 만들어 언제든지 사용할 수 있도록 하는 장점이 있다.
Month: April 2016
파일의 작업 시간 기록하기
자신이 명령어를 실행한 것을 다시 공부하기 위해서 명령어들을 저장하고자 한다. 이 때 이 파일을 언제 생성했는지 기록을 남기고 싶다면 다음과 같이 한다.
또는 스크립트를 작성할 때 작성 시간을 기록할 때 유용하다. 즉, 스크립트 내용의 제일 위해 날짜를 입력하고 스크립트를 생성한다. 그리고 #을 붙여서 주석으로 처리하면 된다ㅏ
1.많은 명령어를 실행한다
2.Get-Date | Out-File -FilePath c:\mycommandlist.txt -Append
3. Get-History | Out-File -FilePath c:\mycommandlist.txt -Append
이렇게 한 한 제대로 작업이 되었는지 확인하기
4. Get-Content -Path c:\mycommandlist.txt
PS1 파일을 exe로 변경하기
<설명>
http://www.systanddeploy.com/2016/04/ps1-to-exe-generator-tool.html
<다운로드하기>
https://gallery.technet.microsoft.com/PS1-To-EXE-Generator-d39e8be2
이렇게 하면 자신이 작성한 powershell script 파일의 내용을 보호할 수 있다.