์ญ์ฌ์ ์ผ๋ก Unix ์์คํ ์ ๋ช ๋ น์ค ์ ํธ๋ฆฌํฐ๋ Windows๋ณด๋ค ๋ ์ ๊ฐ๋ฐ๋์์ง๋ง ์๋ก์ด ์๋ฃจ์ ์ด ๋ฑ์ฅํ๋ฉด์ ์ํฉ์ด ๋ฐ๋์์ต๋๋ค.
Windows PowerShell์ ์ฌ์ฉํ๋ฉด ์์คํ ๊ด๋ฆฌ์๋ ๋๋ถ๋ถ์ ์ผ์์ ์ธ ์์ ์ ์๋ํํ ์ ์์ต๋๋ค. ๋์์ ๋ฐ์ผ๋ฉด ์ค์ ์ ๋ณ๊ฒฝํ๊ณ , ์๋น์ค๋ฅผ ์ค์ง ๋ฐ ์์ํ๊ณ , ์ค์น๋ ๋๋ถ๋ถ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ํ ์ ์ง ๊ด๋ฆฌ๋ฅผ ์ํํ ์๋ ์์ต๋๋ค. ํ๋์ ์ฐฝ์ ๋ ๋ค๋ฅธ ๋ช ๋ น ํด์๊ธฐ๋ก ์ธ์ํ๋ ๊ฒ์ ์๋ชป๋ ๊ฒ์ ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ Microsoft๊ฐ ์ ์ํ ํ์ ์ ๋ณธ์ง์ ๋ฐ์ํ์ง ์์ต๋๋ค. ์ค์ ๋ก Windows PowerShell์ ๊ธฐ๋ฅ์ ํจ์ฌ ๋ ๊ด๋ฒ์ํฉ๋๋ค. ์งง์ ๊ธฐ์ฌ ์๋ฆฌ์ฆ๋ฅผ ํตํด Microsoft ์๋ฃจ์ ์ด ์ฐ๋ฆฌ์๊ฒ ๋ ์ต์ํ ๋๊ตฌ์ ์ด๋ป๊ฒ ๋ค๋ฅธ์ง ์์๋ณด๊ฒ ์ต๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
๋ฌผ๋ก Windows PowerShell์ ์๋ .NET Framework๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์๊ณ ์ดํ์๋ .NET Core๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋ ์คํฌ๋ฆฝํ ์ธ์ด๊ฐ ํฌํจ๋ ๋ช ๋ น ์ ธ์ ๋๋ค. ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๋ค์ด๊ณ ๋ฐํํ๋ ์ ธ๊ณผ ๋ฌ๋ฆฌ Windows PowerShell์ ์์ฑ๊ณผ ๋ฉ์๋๊ฐ ์๋ .NET ํด๋์ค์ ํจ๊ป ์๋ํฉ๋๋ค. PowerShell์ ์ฌ์ฉํ๋ฉด ์ผ๋ฐ์ ์ธ ๋ช ๋ น์ ์คํํ ์ ์๊ณ COM, WMI ๋ฐ ADSI ๊ฐ์ฒด์ ๋ํ ์ก์ธ์ค๋ ์ ๊ณต๋ฉ๋๋ค. ์์ ์ก์ธ์ค๋ฅผ ์ํด ํ์ผ ์์คํ ์ด๋ Windows ๋ ์ง์คํธ๋ฆฌ์ ๊ฐ์ ๋ค์ํ ์ ์ฅ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ณต๊ธ์. ๋ค์ํ ์์ ์ ๊ตฌํํ๊ธฐ ์ํด PowerShell ์คํ ๊ฐ๋ฅ ๊ตฌ์ฑ ์์๋ฅผ ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ์ ํฌํจํ ์ ์๋ค๋ ์ ์ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ๊ทธ๋ํฝ ์ธํฐํ์ด์ค๋ฅผ ํตํด. ๊ทธ ๋ฐ๋์ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ๋ง์ Windows ์ ํ๋ฆฌ์ผ์ด์ ์ PowerShell์ ํตํด ๊ด๋ฆฌ ์ธํฐํ์ด์ค์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
Windows PowerShell์ ์ฌ์ฉํ๋ฉด ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
- ์ด์ ์ฒด์ ์ค์ ์ ๋ณ๊ฒฝํฉ๋๋ค.
- ์๋น์ค ๋ฐ ํ๋ก์ธ์ค ๊ด๋ฆฌ
- ์๋ฒ ์ญํ ๋ฐ ๊ตฌ์ฑ ์์๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
- ์ํํธ์จ์ด ์ค์น;
- ํน์ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ค์น๋ ์ํํธ์จ์ด๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- ํ์ฌ ํ๋ก๊ทธ๋จ์ ์คํ ๊ฐ๋ฅํ ๊ตฌ์ฑ ์์๋ฅผ ํฌํจํฉ๋๋ค.
- ๊ด๋ฆฌ ์์ ์ ์๋ํํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ญ๋๋ค.
- ํ์ผ ์์คํ , Windows ๋ ์ง์คํธ๋ฆฌ, ์ธ์ฆ์ ์ ์ฅ์ ๋ฑ์ ์ฌ์ฉํ์ฌ ์์ ํฉ๋๋ค.
์ ธ ๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ
Windows PowerShell์ ๋ ๊ฐ์ง ํํ๋ก ์กด์ฌํฉ๋๋ค. ๋ช ๋ น ์ ธ์ด ์๋ ์ฝ์ ์๋ฎฌ๋ ์ดํฐ ์ธ์ ISE(ํตํฉ ์คํฌ๋ฆฝํ ํ๊ฒฝ)๊ฐ ์์ต๋๋ค. ๋ช ๋ น์ค ์ธํฐํ์ด์ค์ ์ก์ธ์คํ๋ ค๋ฉด Windows ๋ฉ๋ด์์ ์ ์ ํ ๋ฐ๋ก ๊ฐ๊ธฐ๋ฅผ ์ ํํ๊ฑฐ๋ ์คํ ๋ฉ๋ด์์ powershell.exe๋ฅผ ์คํํ๋ฉด ๋ฉ๋๋ค. ์ด์ cmd.exe์ ๊ธฐ๋ฅ์ด ๋์ ๋๊ฒ ๋ค๋ฅธ ํ๋์ ์ฐฝ์ด ํ๋ฉด์ ๋ํ๋ฉ๋๋ค. Unix ์์คํ ์ฉ ๋ช ๋ น ์ ธ ์ฌ์ฉ์์๊ฒ ์น์ํ ์๋ ์์ฑ ๋ฐ ๊ธฐํ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
์ ธ์ ์ฌ์ฉํ๋ ค๋ฉด ๋ช ๊ฐ์ง ํค๋ณด๋ ๋จ์ถํค๋ฅผ ๊ธฐ์ตํด์ผ ํฉ๋๋ค.
- ์์ชฝ ๋ฐ ์๋์ชฝ ํ์ดํ๋ ๊ธฐ๋ก์ ์คํฌ๋กคํ์ฌ ์ด์ ์ ์ ๋ ฅํ ๋ช ๋ น์ ๋ฐ๋ณตํฉ๋๋ค.
- ์ค ๋์ ์ค๋ฅธ์ชฝ ํ์ดํ๋ ์ด์ ๋ช ๋ น์ ๋ฌธ์๋ณ๋ก ๋ค์ ์ ๋ ฅํฉ๋๋ค.
- Ctrl+Home์ ์ ๋ ฅ๋ ํ ์คํธ๋ฅผ ์ปค์ ์์น๋ถํฐ ์ค์ ์์ ๋ถ๋ถ๊น์ง ์ญ์ ํฉ๋๋ค.
- Ctrl+End๋ ์ปค์๋ถํฐ ์ค ๋๊น์ง์ ํ ์คํธ๋ฅผ ์ญ์ ํฉ๋๋ค.
F7์ ์ ๋ ฅ๋ ๋ช ๋ น์ด ์๋ ์ฐฝ์ ํ์ํ๊ณ ๊ทธ ์ค ํ๋๋ฅผ ์ ํํ ์ ์๋๋ก ํฉ๋๋ค. ์ฝ์์ ๋ํ ๋ง์ฐ์ค๋ก ํ ์คํธ ์ ํ, ๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ, ์ปค์ ์์น ์ง์ , ์ญ์ , ๋ฐฑ์คํ์ด์ค ๋ฑ ์ฐ๋ฆฌ๊ฐ ์ข์ํ๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ํตํด ์๋ํฉ๋๋ค.
Windows PowerShell ISE๋ ํญ ๋ฐ ๊ตฌ๋ฌธ ๊ฐ์กฐ๋ฅผ ์ง์ํ๋ ์ฝ๋ ํธ์ง๊ธฐ, ๋ช
๋ น ๋์์ด๋, ๊ธฐ๋ณธ ์ ๊ณต ๋๋ฒ๊ฑฐ ๋ฐ ๊ธฐํ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ์ ๊ฐ์ถ ๋ณธ๊ฒฉ์ ์ธ ๊ฐ๋ฐ ํ๊ฒฝ์
๋๋ค. ๊ฐ๋ฐ ํ๊ฒฝ ํธ์ง๊ธฐ์์ ๋ช
๋ น ์ด๋ฆ ๋ค์ ํ์ดํ์ ์ฐ๋ฉด ์ ํ์ ๋ํ๋ด๋ ๋๋กญ๋ค์ด ๋ชฉ๋ก์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋งค๊ฐ ๋ณ์๊ฐ ํ์๋ฉ๋๋ค. ์์คํ
๋ฉ๋ด์ ๋ฐ๋ก ๊ฐ๊ธฐ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์คํ ํ์ผ powershell_ise.exe๋ฅผ ์ฌ์ฉํ์ฌ PowerShell ISE๋ฅผ ์์ํ ์ ์์ต๋๋ค.
cmdlet
Windows PowerShell์์๋ ์์. cmdlet. ์ด๋ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ํน์ํ .NET ํด๋์ค์ ๋๋ค. "Action-Object" ์์น(๋๋ ์ํ๋ ๊ฒฝ์ฐ "Verb-Noun)"์ ๋ฐ๋ผ ์ด๋ฆ์ด ์ง์ ๋๋ฉฐ ํ์ดํ์ผ๋ก ๊ตฌ๋ถ๋ ์ฐ๊ฒฐ์ฌ๋ ์์ฐ์ด ๋ฌธ์ฅ์ ์ ์ด ๋ฐ ์ฃผ์ ์ ์ ์ฌํฉ๋๋ค. ์๋ฅผ ๋ค์ด Get-Help๋ ๋ง ๊ทธ๋๋ก "Get-Help"๋ฅผ ์๋ฏธํ๊ฑฐ๋ PowerShell ์ปจํ ์คํธ์์๋ "Show-Help"๋ฅผ ์๋ฏธํฉ๋๋ค. ์ค์ ๋ก ์ด๊ฒ์ Unix ์์คํ ์ man ๋ช ๋ น๊ณผ ์ ์ฌํ๋ฉฐ PowerShell์ ๋งค๋ด์ผ์ โhelp ๋๋ /? ํค๋ฅผ ์ฌ์ฉํ์ฌ cmdlet์ ํธ์ถํ๋ ๊ฒ์ด ์๋๋ผ ์ด ๋ฐฉ์์ผ๋ก ์์ฒญํด์ผ ํฉ๋๋ค. PowerShell: Microsoft๋ ๋งค์ฐ ์์ธํ๊ฒ ์ค๋ช ํ์ต๋๋ค.
Get ์ธ์๋ cmdlet์ ๋ค๋ฅธ ๋์ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์ ๋ํ๋ ๋๋ค(์๊ฒฉํ ๋งํ๋ฉด ๋์ฌ๋ฟ๋ง ์๋๋ผ). ์๋ ๋ชฉ๋ก์๋ ๋ช ๊ฐ์ง ์๊ฐ ๋์ ์์ต๋๋ค.
Add
- ์ถ๊ฐํ๋ค;
Clear
- ๋ถ๋ช
ํ;
Enable
- ์ผ๋ค;
Disable
- ๋๋ค;
New
- ๋ง๋ค๋ค;
Remove
- ์ญ์ ;
Set
- ๋ฌป๋ค;
Start
- ๋ฌ๋ฆฌ๋ค;
Stop
- ๋ฉ์ถ๋ค;
Export
- ๋ด๋ณด๋ด๋ค;
Import
โ ์์
.
์์คํ , ์ฌ์ฉ์ ๋ฐ ์ ํ์ cmdlet์ด ์์ต๋๋ค. ์คํ ๊ฒฐ๊ณผ ๋ชจ๋ ๊ฐ์ฒด ๋๋ ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค. ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์์ต๋๋ค. ๋ช ๋ น ํด์๊ธฐ์ ๊ด์ ์์ Get-Help์ get-help ์ฌ์ด์๋ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ';' ๊ธฐํธ๋ ๊ตฌ๋ถ์ ์ํด ์ฌ์ฉ๋์ง๋ง ์ฌ๋ฌ cmdlet์ด ํ ์ค์ ์คํ๋๋ ๊ฒฝ์ฐ์๋ง ํ์ํฉ๋๋ค.
Windows PowerShell cmdlet์ ๋ชจ๋(NetTCPIP, Hyper-V ๋ฑ)๋ก ๊ทธ๋ฃนํ๋์ด ์์ผ๋ฉฐ ๊ฐ์ฒด ๋ฐ ์์ ๋ณ๋ก ๊ฒ์ํ ์ ์๋ Get-Command cmdlet์ด ์์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ๋์๋ง์ ํ์ํ ์ ์์ต๋๋ค.
Get-Help Get-Command
๊ธฐ๋ณธ์ ์ผ๋ก ์ด ๋ช ๋ น์ ๋น ๋ฅธ ๋์๋ง์ ํ์ํ์ง๋ง ํ์์ ๋ฐ๋ผ ๋งค๊ฐ๋ณ์(์ธ์)๊ฐ cmdlet์ ์ ๋ฌ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋์์ ๋ฐ์ผ๋ฉด ์์ธํ(-Detailed ๋งค๊ฐ๋ณ์) ๋๋ ์ ์ฒด(-Full) ๋์๋ง์ ์ป์ ์ ์์ ๋ฟ๋ง ์๋๋ผ ํ์ ์(-Examples ๋งค๊ฐ๋ณ์)๋ ์ป์ ์ ์์ต๋๋ค.
Get-Help Get-Command -Examples
Windows PowerShell์ ๋์๋ง์ Update-Help cmdlet์ผ๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค. ๋ช ๋ น ์ค์ด ๋๋ฌด ๊ธธ๋ฉด ์๋น์ค ๋ฌธ์ '`'๋ฅผ ์ฐ๊ณ Enter ํค๋ฅผ ๋๋ฌ cmdlet ์ธ์๋ฅผ ๋ค์ ์ค๋ก ์ ์กํ ์ ์์ต๋๋ค. ๋จ์ํ ํ ์ค์ ๋ช ๋ น ์ฐ๊ธฐ๋ฅผ ๋ง์น๊ณ ๋ค๋ฅธ ์ค์ ๊ณ์ํ๋ฉด ์๋ํ์ง ์์ต๋๋ค.
๋ค์์ ์ผ๋ฐ์ ์ธ cmdlet์ ๋ช ๊ฐ์ง ์์ ๋๋ค.
Get-Process
โ ์์คํ
์์ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ํ์ํฉ๋๋ค.
Get-Service
โ ์๋น์ค์ ๊ทธ ์ํ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
Get-Content
โ ํ์ผ์ ๋ด์ฉ์ ํ์ํฉ๋๋ค.
์์ฃผ ์ฌ์ฉ๋๋ cmdlet ๋ฐ ์ธ๋ถ ์ ํธ๋ฆฌํฐ์ ๋ํด Windows PowerShell์๋ ๋ณ์นญ์ด๋ผ๋ ์งง์ ๋์์ด๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด dir์ Get-ChildItem์ ๋ณ์นญ์ ๋๋ค. ๋์์ด ๋ชฉ๋ก(ls, ps ๋ฑ)์๋ Unix ์์คํ ์ ์ ์ฌํ ๋ช ๋ น๋ ์์ผ๋ฉฐ, Get-Help cmdlet์ help ๋ช ๋ น์ผ๋ก ํธ์ถ๋ฉ๋๋ค. ๋์์ด์ ์ ์ฒด ๋ชฉ๋ก์ Get-Alias โโโโcmdlet์ ์ฌ์ฉํ์ฌ ๋ณผ ์ ์์ต๋๋ค.
PowerShell ์คํฌ๋ฆฝํธ, ํจ์, ๋ชจ๋ ๋ฐ ์ธ์ด
Windows PowerShell ์คํฌ๋ฆฝํธ๋ ํ์ฅ๋ช ์ด .ps1์ธ ์ผ๋ฐ ํ ์คํธ ํ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค. ๋ ๋ฒ ํด๋ฆญํ์ฌ ์คํํ ์ ์์ต๋๋ค. ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ ํด๋ฆญํ์ฌ ์ํฉ์ ๋ง๋ ๋ฉ๋ด๋ฅผ ์ด๊ณ "PowerShell์์ ์คํ"์ ์ ํํด์ผ ํฉ๋๋ค. ์ฝ์์์ ์คํฌ๋ฆฝํธ์ ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๊ฑฐ๋ ์ ์ ํ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ์ฌ ํ์ผ ์ด๋ฆ์ ์์ฑํด์ผ ํฉ๋๋ค. ์คํฌ๋ฆฝํธ ์คํ์ ์์คํ ์ ์ฑ ์ ์ํด ์ ํ๋๋ฉฐ, ํ์ฌ ์ค์ ์ ํ์ธํ๋ ค๋ฉด ๋ค์ ๊ฐ ์ค ํ๋๋ฅผ ๋ฐํํ๋ Get-ExecutionPolicy cmdlet์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Restricted
โ ์คํฌ๋ฆฝํธ ์คํ์ ๋นํ์ฑํ๋์ด ์์ต๋๋ค(๊ธฐ๋ณธ์ ์ผ๋ก).
AllSigned
- ์ ๋ขฐํ ์ ์๋ ๊ฐ๋ฐ์๊ฐ ์๋ช
ํ ์คํฌ๋ฆฝํธ ์คํ๋ง ํ์ฉ๋ฉ๋๋ค.
RemoteSigned
- ์๋ช
๋ ์์ฒด ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
Unrestricted
- ๋ชจ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
๊ด๋ฆฌ์์๊ฒ๋ ๋ ๊ฐ์ง ์ต์ ์ด ์์ต๋๋ค. ๊ฐ์ฅ ์์ ํ ๋ฐฉ๋ฒ์ ์คํฌ๋ฆฝํธ์ ์๋ช ํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ๋งค์ฐ ์ฌ๊ฐํ ๋ง๋ฒ์ ๋๋ค. ๋ค์ ๊ธฐ์ฌ์์ ์ด์ ๋ํด ๋ค๋ฃฐ ๊ฒ์ ๋๋ค. ์ด์ ์ ํญ์ด ๊ฐ์ฅ ์ ์ ๊ฒฝ๋ก๋ฅผ ์ ํํ๊ณ ์ ์ฑ ์ ๋ณ๊ฒฝํด ๋ณด๊ฒ ์ต๋๋ค.
Set-ExecutionPolicy RemoteSigned
์ด๋ ๊ฒ ํ๋ ค๋ฉด ํน์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฌ ์ฌ์ฉ์์ ๋ํ ์ ์ฑ
์ ๋ณ๊ฒฝํ ์ ์์ง๋ง PowerShell์ ๊ด๋ฆฌ์๋ก ์คํํด์ผ ํฉ๋๋ค.
์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ฑ๋๋ฉฐ ํด๋น ๋ช ๋ น์ ์ด๋ฆ์ ์ด์ ์ ์ค๋ช ํ cmdlet๊ณผ ๋์ผํ ์์น์ ๋ฐ๋ผ "Action-Object"("Verb-Noun")๋ก ์ง์ ๋ฉ๋๋ค. ์ฃผ์ ๋ชฉ์ ์ ๊ด๋ฆฌ ์์ ์ ์๋ํํ๋ ๊ฒ์ด์ง๋ง ์กฐ๊ฑด๋ถ ์ ํ, ๋ฃจํ, ๋ณ์, ๋ฐฐ์ด, ๊ฐ์ฒด, ์ค๋ฅ ์ฒ๋ฆฌ ๋ฑ ํ์ํ ๋ชจ๋ ๊ตฌ์ฑ์ ๊ฐ์ถ ๋ณธ๊ฒฉ์ ์ธ ํด์ ์ธ์ด์ ๋๋ค. ๋ชจ๋ ํ ์คํธ ํธ์ง๊ธฐ๋ ์คํฌ๋ฆฝํธ ์์ฑ์ ์ ํฉํ์ง๋ง Windows PowerShell ISE๋ฅผ ์คํํ๋ ๊ฒ์ด ๊ฐ์ฅ ํธ๋ฆฌํฉ๋๋ค.
๋งค๊ฐ๋ณ์๋ฅผ ์คํฌ๋ฆฝํธ์ ์ ๋ฌํ์ฌ ํ์๋ก ์ค์ ํ๊ณ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ ์๋ ์์ต๋๋ค. Windows PowerShell์์๋ ํจ์ ๊ตฌ๋ฌธ๊ณผ ์ค๊ดํธ๋ฅผ ์ฌ์ฉํ์ฌ cmdlet๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ํจ์๋ฅผ ๋ง๋ค๊ณ ํธ์ถํ ์๋ ์์ต๋๋ค. ํจ์๊ฐ ํฌํจ๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ชจ๋์ด๋ผ๊ณ ํ๋ฉฐ ํ์ฅ์๋ .psm1์ ๋๋ค. ๋ชจ๋์ PowerShell ํ๊ฒฝ ๋ณ์์ ์ ์๋ ๋๋ ํฐ๋ฆฌ์ ์ ์ฅ๋์ด์ผ ํฉ๋๋ค. ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ณผ ์ ์์ต๋๋ค.
Get-ChildItem Env:PSModulePath | Format-Table -AutoSize
์ปจ๋ฒ ์ด์ด
๋ง์ง๋ง ์์์๋ Unix ์ ธ ์ฌ์ฉ์์๊ฒ ์น์ํ ๋์์ธ์ ์ฌ์ฉํ์ต๋๋ค. Windows PowerShell์์๋ ์ธ๋ก ๋ง๋๋ฅผ ์ฌ์ฉํ์ฌ ํ ๋ช ๋ น์ ์ถ๋ ฅ์ ๋ค๋ฅธ ๋ช ๋ น์ ์ ๋ ฅ์ผ๋ก ์ ๋ฌํ ์๋ ์์ง๋ง ํ์ดํ๋ผ์ธ ๊ตฌํ์๋ ์๋นํ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ์ฆ, ๋ ์ด์ ๋ฌธ์ ์งํฉ์ด๋ ์ผ๋ถ ํ ์คํธ์ ๋ํด ์ด์ผ๊ธฐํ์ง ์์ต๋๋ค. ๊ธฐ๋ณธ ์ ๊ณต cmdlet ๋๋ ์ฌ์ฉ์ ์ ์ ํจ์๋ ๊ฐ์ฒด ๋๋ ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ฐํํ๊ณ ์ด๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ์๋ ์์ต๋๋ค. Bourne ์ ธ ๋ฐ ๊ทธ ํ์ ๋ฒ์ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก PowerShell์ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ์ฌ ๋ณต์กํ ์์ ์ ๋จ์ํํฉ๋๋ค.
ํ์ดํ๋ผ์ธ์ ๊ฐ์ฅ ๊ฐ๋จํ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Get-Service | Sort-Object -property Status
Get-Service cmdlet์ด ๋จผ์ ์คํ๋ ๋ค์ ์์ ๋๋ ๋ชจ๋ ์๋น์ค๊ฐ Status ์์ฑ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ธฐ ์ํด Sort-Object cmdlet์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค. ํ์ดํ๋ผ์ธ์ ์ด์ ์น์
๊ฒฐ๊ณผ๊ฐ ์ ๋ฌ๋๋ ์ธ์๋ ํด๋น ์ ํ์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์
๋ ฅ ๊ฐ์ฒด์
๋๋ค. ์ด ๋ฌธ์ ๋ PowerShell ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ ์ฉ ๋ฌธ์์์ ์์ธํ ์ค๋ช
ํฉ๋๋ค.
์ํ๋ ๊ฒฝ์ฐ ์ฒด์ธ์ ๊ณ์ ์งํํ๊ณ Sort-Object์ ๊ฒฐ๊ณผ๋ฅผ ๋ค๋ฅธ cmdlet์ ์ ๋ฌํ ์ ์์ต๋๋ค(์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์คํ๋จ). ๊ทธ๋ฐ๋ฐ Windows ์ฌ์ฉ์๋ ํ์ด์ง๋ณ ์ถ๋ ฅ์ ์ํด ๋ชจ๋ Unixoid์ ์น์ํ ๋์์ธ์ ์ก์ธ์คํ ์๋ ์์ต๋๋ค.
Get-Service | Sort-Object -property Status | more
๋ฐฑ๊ทธ๋ผ์ด๋์์ ์์ ์คํ
์ ์ธ์ ์์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ธฐ ์ํด ๋ฐฑ๊ทธ๋ผ์ด๋์์ ํน์ ๋ช ๋ น์ ์คํํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. Windows PowerShell์๋ ์ด ์ํฉ์ ๋ํ ์ฌ๋ฌ cmdlet์ด ์์ต๋๋ค.
Start-Job
โ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ ์์ํฉ๋๋ค.
Stop-Job
โ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ ์ค์งํฉ๋๋ค.
Get-Job
โ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
๋ชฉ๋ก ๋ณด๊ธฐ
Receive-Job
โ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ ๊ฒฐ๊ณผ ๋ณด๊ธฐ
Remove-Job
โ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ญ์
Wait-Job
- ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ ์ฝ์๋ก ๋ค์ ์ ์กํฉ๋๋ค.
๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ์ ์์ํ๋ ค๋ฉด Start-Job cmdlet์ ์ฌ์ฉํ๊ณ ์ค๊ดํธ ์์ ๋ช ๋ น ๋๋ ๋ช ๋ น ์งํฉ์ ์ง์ ํฉ๋๋ค.
Start-Job {Get-Service}
Windows PowerShell์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ ํด๋น ์ด๋ฆ์ ์๊ณ ์กฐ์ํ ์ ์์ต๋๋ค. ๋จผ์ ํ์ํ๋ ๋ฐฉ๋ฒ์ ์์ ๋ณด๊ฒ ์ต๋๋ค.
Get-Job
์ด์ Job1 ์์
์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.
Receive-Job Job1 | more
๋ชจ๋ ๊ฒ์ด ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค.
์๊ฒฉ ๋ช ๋ น ์คํ
Windows PowerShell์ ์ฌ์ฉํ๋ฉด ๋ก์ปฌ๋ฟ๋ง ์๋๋ผ ์๊ฒฉ ์ปดํจํฐ ๋ฐ ์ ์ฒด ์ปดํจํฐ ๊ทธ๋ฃน์์๋ ๋ช ๋ น๊ณผ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค.
- ๋ง์ cmdlet์๋ ๋งค๊ฐ ๋ณ์๊ฐ ์์ต๋๋ค.
-ComputerName
, ๊ทธ๋ฌ๋ ์ด๋ฐ ๋ฐฉ์์ผ๋ก๋ ์๋ฅผ ๋ค์ด ์ปจ๋ฒ ์ด์ด๋ฅผ ๋ง๋๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค. - cmdlet
Enter-PSSession
์๊ฒฉ ์์คํ ์์ ๋ํํ ์ธ์ ์ ์์ฑํ ์ ์์ต๋๋ค. - cmdlet ์ฌ์ฉ
Invoke-Command
ํ๋ ์ด์์ ์๊ฒฉ ์ปดํจํฐ์์ ๋ช ๋ น์ด๋ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
PowerShell ๋ฒ์
2006๋ ์ฒซ ์ถ์ ์ดํ PowerShell์ ๋ง์ ๋ณํ๋ฅผ ๊ฒช์์ต๋๋ค. ์ด ๋๊ตฌ๋ ๋ค์ํ ํ๋์จ์ด ํ๋ซํผ(x86, x86-64, Itanium, ARM)์์ ์คํ๋๋ ๋ง์ ์์คํ (Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008/2008 R2, Windows 7, Windows 8, Windows 8.1, Windows RT, Windows RT 8.1, Windows Server 2012/2012 R2, Windows 10, Windows Server 2016, GNU/Linux ๋ฐ OS X. ์ต์ ๋ฆด๋ฆฌ์ค 6.2๋ 10๋ 2018์ XNUMX์ผ์ ์ถ์๋์์ต๋๋ค. ์ด์ ๋ฒ์ ์ฉ์ผ๋ก ์์ฑ๋ ์คํฌ๋ฆฝํธ๋ ์ดํ ๋ฒ์ ์์ ์๋ํ ๊ฐ๋ฅ์ฑ์ด ๋์ง๋ง, ์๋ ๊ฐ์ ๊ฐ๋ฐ ๊ธฐ๊ฐ ๋์ PowerShell์ ์๋ง์ ์๋ก์ด cmdlet์ด ๋ฑ์ฅํ๊ธฐ ๋๋ฌธ์ ์ญ์ ์ก ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. $PSVersionTable ๋ด์ฅ ๋ณ์์ PSVersion ์์ฑ์ ์ฌ์ฉํ์ฌ ์ปดํจํฐ์ ์ค์น๋ ๋ช ๋ น ์ ธ์ ๋ฒ์ ์ ํ์ธํ ์ ์์ต๋๋ค.
$PSVersionTable.PSVersion
๋ค์ cmdlet์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
Get-Variable -Name PSVersionTable โValueOnly
Get-Host cmdlet์ ์ฌ์ฉํ์ฌ ๋์ผํ ์์
์ ์ํํ ์ ์์ต๋๋ค. ์ค์ ๋ก ๋ง์ ์ต์
์ด ์์ง๋ง ์ด๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด PowerShell ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ฐฐ์์ผ ํฉ๋๋ค.
๊ฒฐ๊ณผ
Microsoft๋ ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์ ์ํ ํธ๋ฆฌํ ํตํฉ ํ๊ฒฝ์ ๊ฐ์ถ ์ ๋ง ๊ฐ๋ ฅํ ๋ช
๋ น ์
ธ์ ๋ง๋ค์์ต๋๋ค. Unix ์ธ๊ณ์์ ์ฐ๋ฆฌ์๊ฒ ์ต์ํ ๋๊ตฌ์ ๊ตฌ๋ณ๋๋ ์ ์ Windows ์ ํ๊ตฐ์ ์ด์ ์ฒด์ ๋ ๋ฌผ๋ก ํด๋น ์ํํธ์จ์ด ๋ฐ .NET Core ํ๋ซํผ๊ณผ์ ๊ธด๋ฐํ ํตํฉ์
๋๋ค. cmdlet๊ณผ ์ฌ์ฉ์ ์ ์ ํจ์๋ ๊ฐ์ฒด ๋๋ ๊ฐ์ฒด ๋ฐฐ์ด์ ๋ฐํํ๊ณ ์ด๋ฅผ ์
๋ ฅ์ผ๋ก ๋ฐ์ ์ ์๊ธฐ ๋๋ฌธ์ PowerShell์ ๊ฐ์ฒด ์งํฅ ์
ธ์ด๋ผ๊ณ ๋ถ๋ฅผ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ชจ๋ Windows ์๋ฒ ๊ด๋ฆฌ์๊ฐ ์ด ๋๊ตฌ๋ฅผ ์์ ํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ช
๋ น์ค ์์ด๋ ์์
์ ์ํํ ์ ์๋ ์๋๋ ์ง๋ฌ์ต๋๋ค. ํนํ ๊ณ ๊ธ ์ฝ์ ์
ธ์ด ํ์ํฉ๋๋ค.
๋ฑ๋ก๋ ์ฌ์ฉ์๋ง ์ค๋ฌธ ์กฐ์ฌ์ ์ฐธ์ฌํ ์ ์์ต๋๋ค.
์๋ฆฌ์ฆ์ ๋ค์ ๊ธฐ์ฌ์์๋ ์ด๋ค ์ฃผ์ ๋ฅผ ๋จผ์ ๋ค๋ฃจ์ด์ผ ํฉ๋๊น?
-
53,2%PowerShell123์์ ํ๋ก๊ทธ๋๋ฐ
-
42,4%PowerShell98 ๊ธฐ๋ฅ ๋ฐ ๋ชจ๋
-
22,1%์์ ๋ง์ ์คํฌ๋ฆฝํธ์ ์๋ช ํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?51
-
12,1%๊ณต๊ธ์๋ฅผ ํตํ ์คํ ๋ฆฌ์ง ์์ 28
-
57,6%PowerShell133์ ์ฌ์ฉํ์ฌ ์ปดํจํฐ ๊ด๋ฆฌ ์๋ํ
-
30,7%์ํํธ์จ์ด ๊ด๋ฆฌ ๋ฐ ํ์ฌ ์ ํ์ PowerShell ์คํ ํ์ผ ํฌํจ71
231๋ช
์ ์ฌ์ฉ์๊ฐ ํฌํํ์ต๋๋ค. 37๋ช
์ ์ฌ์ฉ์๊ฐ ๊ธฐ๊ถํ์ต๋๋ค.
์ถ์ฒ : habr.com