안녕하십니까 빅두입니다.
도움말을 보려면 먼저 cmdlet을 알아야겠죠? 그래서 준비했습니다.
여러분은 Cmdlet을 검색하실 때 주로 어떻게 검색하실 것인가요? 솔찍히 Bing신님과 Google신님께 여쭈어보면 답은 나옵니다만, 인터넷이 되지 않는다면 Get-Command를 사용하시면 됩니다.
Get-Command는 말 그대로 Powershell의 Command인 cmdlet을 검색하는데 주로 사용합니다.
이전 블로깅에서 언급했듯이 "동사-명사"로 이루어져 있기 때문에 이것저것 찾아보기 유용합니다.
그럼 백마디 보다 좋다는 실행을 해봅시다.
먼저 Get-Command를 그냥 쳐 봅시다.
PS> Get-Command
저는 cmdlet이 여러 개 있어서 약 5,000여개의 Cmdlet이 검색되었네요.
이처럼 현재 컴퓨터에서 사용할 수 있는 Cmdlet을 확인하고 검색 하는데에 사용하는 cmdlet이 바로 Get-Command 입니다.
Windows 역할/기능을 설치하거나, 인터넷에서 Powershell Module을 다운로드 받아 설치하게 되면 해당 Cmdlet을 사용하실 수 있습니다.
그렇다면 Get-Command는 어떻게 사용하는 것일까요? Get-Help를 통해서 확인해 보겠습니다.
PS> Get-Help Get-Command
사용하는 방법은 두 가지 입니다. 두 명령어의 다른 점은 Cmdlet Name으로 검색을 하느냐에 대한 여부 정도가 되겠네요. 보통은 Cmdlet의 이름을 알고 싶어서 Get-command를 사용하는 것이니 이 점만 참고하면 쉽게 검색할 수 있을 것 같습니다. 그럼 -Detailed 옵션을 사용하여 -Name 매개변수의 특성을 살펴 봅시다.
PS> Get-Help Get-Command -Detailed
입력한 이름과 일치하는 cmdlet만 출력한다고 씌여 있는데요. 눈여겨 볼 부분은 Wildcards are permitted. 입니다. Wildcards를 제공하기 때문에 우리가 익히 알고 쓰는 '*', '?' 같은 기호를 써서 유추한 Cmdlet을 찾아볼 수 있다는 말이 됩니다.
우리가 쓴 Cmdlet인 Get-Host라는 녀석을 찾아보는 시나리오를 작성해 보겠습니다.
컴퓨터에서 Powershell을 실행 하였는데, 이 컴퓨터의 정보를 알고 싶어졌습니다. IT에서 물리머신을 지칭하는 Host라는 단어로 cmdlet을 검색 해 봅니다. 물론 Host가 어디에 있는지는 모르니 와일드카드를 사용해 봐야겠습니다.
PS> Get-Command *host*
여러 개의 cmdlet과 Function, Application이 출력되었습니다. Host의 정보를 얻어오는 것이니 Get이라는 동사가 들어간 cmdlet일 것입니다.
PS> Get-Command get-*host*
컴퓨터의 정보를 확인하는 것이니 Source가 Microsoft.PowerShell.Utility 이겠네요. 그럼 Get-Host라는 명령어가 존재한다는 것을 확인하실 수 있습니다.
명령어를 찾았으니 그 다음은 Get-Help Cmdlet을 사용하여 해당 Cmdlet 사용 방법을 알아 보면 되겠네요.
생각보다 검색하기 쉽죠?
여러분께서도 위와 같은 논리로 여러 명령어를 찾아보시기 바랍니다.
이렇게 이야기 하면 아무도 하시지 않으실 것 같으니 문제를 내보죠. 문제를 풀어보시면서 공부가 되셨으면 좋겠습니다.
제시 드린 것들이 Command에서는 쉽게 해결되는 내용(익숙해서)들도 있습니다만 Cmdlet으로 찾아보는 노력도 해보시면 좋으실 것 같습니다.
문제 1. 내 컴퓨터의 Network Interface의 IP와 MAC Address 값을 확인하고 싶다.
문제 2. 바탕화면(또는 특정 폴더)의 파일 정보를 알고 싶다.
문제 3. 현재 시간을 알고 싶다.
문제 4. 랜덤으로 값을 출력하고 싶다.
'Windows > PowerShell' 카테고리의 다른 글
#6 | 으로 명령 넘기기 (2) | 2016.04.14 |
---|---|
#4 Get-Help로 도움말을 보자 - 도움말 확인 편 (0) | 2016.03.21 |
#3 Get-Help로 도움말을 보자 - 매개변수 편 (0) | 2016.03.21 |
#2 Cmdlet이란? (0) | 2016.03.18 |
#1 Powershell을 써보자 (0) | 2016.03.18 |