파워셸 은 Windows PC에 필요한 모든 제어 기능을 제공하며 배우기 쉽습니다. 따라서 명령 프롬프트 을 버리고 Windows PowerShell 명령을 사용하여 반복적인 관리 작업을 자동화하십시오.
PowerShell을 배우면 bash 셸 내에서 대부분의 리눅스 관리 작업을 처리하는 방법도 배울 수 있습니다. PowerShell은 대부분의 리눅스 배포판 에서 볼 수 있는 것과 유사합니다.
PowerShell이란 무엇인가요?
Windows PowerShell은 시스템 관리자를 위해 Microsoft에서 개발한 명령줄 인터페이스이자 스크립팅 언어입니다. 하지만 다른 프로그래밍 언어보다 훨씬 간단하기 때문에 관리자나 프로그래머가 될 필요는 없습니다. 일반 영어와 유사하며 누구나 영어를 이해하고 컴퓨터를 관리하는 데 사용할 수 있습니다.
Windows PowerShell에서 사용되는 명령을 'cmdlet'이라고 합니다. 이를 통해 컴퓨터에서 특정 작업 또는 일련의 작업을 활성화할 수 있습니다. 이러한 작업은 무선 네트워크에 로그인하는 것처럼 간단할 수도 있고 특정 반복 작업을 자동화하는 것처럼 더 복잡할 수도 있습니다.
PowerShell을 열려면 시작 버튼을 누르고 검색창에 'powershell '을 입력한 다음 Windows PowerShell 을 선택합니다. 명령을 입력할 준비가 된 명령줄 인터페이스가 열립니다.
이 기사에서는 가장 유용하고 쉬운 PowerShell 명령 10가지를 살펴보겠습니다.
1. 도움말 보기
Get-Help cmdlet은 PowerShell에서 시작하기에 좋은 장소입니다. 이는 수행할 수 있는 작업에 대한 개요를 제공하며 특정 cmdlet에 대한 추가 정보가 필요할 때도 유용합니다.
PowerShell 창을 열고 Get-Help 를 입력하기만 하면 됩니다. 그러면 PowerShell이 무엇인지 알려주는 포괄적인 개요가 열리고 해당 기능과 구조를 이해할 수 있습니다. 또한 인터페이스를 통해 직접 웹에 액세스하여 고급 도움말 파일을 얻을 수도 있습니다. 나중에 사용하기 위해 이러한 파일을 다운로드할 수 있습니다.
그러나 이것이 get-help 명령의 끝은 아닙니다. 유형:
도움말 받기 *
PowerShell은 해당 순간에 사용할 수 있는 모든 cmdlet을 나열합니다. 목록은 아마도 엄청날 것이므로 표시된 cmdlet을 모두 배울 필요는 없습니다. 하지만 자유롭게 읽어보시고 이용 가능한 모든 가능성을 탐색해 보세요..
유형:
Get-Help <명령 이름>
대괄호는 필요하지 않습니다. 관심 있는 명령 이름만 입력하면 이 cmdlet이 해당 명령에 대한 기본 정보를 제공합니다. 명령에 대한 더 자세한 설명을 보려면 다음을 입력하세요:
Get-Help <명령 이름>-전체
특정 명령 유형을 사용하는 방법에 대한 예가 필요한 경우:
Get-Help <명령 이름>-예
2. Get-명령
특정 명령이나 명령 집합에 대한 정보를 빠르게 검색하고 싶으십니까? Get-Command cmdlet이 이 작업을 수행합니다. Get-Command에는 수많은 옵션이 있지만 PowerShell의 기본 사용자에게는 대부분의 옵션이 필요하지 않습니다. 다음은 특히 사용 가능한 명령을 탐색할 때 도움이 되는 몇 가지 기본 cmdlet입니다.
동일한 유형의 특정 cmdlet 목록을 원하는 경우:
Get-명령 -
예를 들어 다음 복잡한 문구는 컴퓨터에 사용 가능한 모든 cmdlet 유형 명령 목록을 표시하고 이름에 있는 명사의 알파벳 순서로 정렬하도록 명령합니다.
Get-Command -Type Cmdlet | Sort-Object -속성 명사| Format-Table -GroupBy 명사
이것은 PowerShell이 복잡한 작업을 실행하게 만드는 더 복잡한 명령의 훌륭한 예입니다. 구문을 이해하고 나면 PowerShell을 사용하는 것이 컴퓨터에서 일부 작업을 수행하는 데 가장 빠르고 쉬운 경우가 많다는 것을 알게 될 것입니다.
이름으로 특정 명령을 찾으려면 다음을 입력하세요.
Get-Command -Name <명령 이름>
찾고 있는 명령의 정확한 이름은 모르지만 이름의 일부를 알고 있는 경우 다음을 입력할 수 있습니다.
Get-Command -Name <명령 이름>-FuzzyMatching 사용
이 cmdlet은
3. 콘텐츠 가져오기
파일 내용을 보려면 Get-Content cmdlet을 사용하세요. 컴퓨터가 파일을 찾을 수 있도록 해당 파일의 정확한 위치를 지정해야 합니다..
위의 예에서는 이러한 목적으로 만들어진 테스트 텍스트 파일의 내용을 볼 수 있습니다. 이는 간단한 명령이지만 그 기능을 알고 있다면 이 명령을 다른 명령과 결합하여 Windows PowerShell을 통해 정말 강력한 작업을 수행할 수 있습니다.
4. 프로세스 가져오기
Get-Process cmdlet은 컴퓨터에서 현재 실행 중인 프로세스에 대한 정보를 제공합니다. 메모리 사용량, CPU 주기, 프로세스 ID 및 기타 속성을 볼 수 있습니다.
이 cmdlet에 프로세스 이름을 추가하면 특정 프로세스에 대한 정보를 볼 수 있습니다. 예를 들어 Discord 신청 절차에 대한 정보를 원할 경우 Get-Process Discord 를 입력하면 됩니다.
구문의 "Get" 접두사만 바꾸면 PowerShell을 통해 프로세스를 시작하거나 중지할 수 있습니다. 프로세스를 시작하려면 다음을 입력하세요:
시작-프로세스 <프로세스 이름 또는 ID>
프로세스를 중지하려면 다음을 입력하세요.
<프로세스 이름 또는 ID>프로세스 중지
5. 서비스 받기
시스템 관리자에게는 Get-Service cmdlet이 매우 유용할 수 있습니다. 이 간단한 cmdlet은 현재 시스템에서 실행 중인 모든 서비스를 표시하고 이를 제어할 수 있게 해줍니다. 즉, 현재 컴퓨터를 실행하기 위해 작동하는 모든 프로그램을 볼 수 있습니다.
이제 서비스 이름을 사용하여 제어할 수 있습니다. 고정된 서비스를 해제하려면 Restart-Service <서비스 이름> , 완전히 중지하려면 Stop-Service <서비스 이름> , Start-Service 등의 명령을 사용하세요. 다시 시작하세요.
6. 항목 가져오기
특정 항목이 필요한 경우 운영 체제에 통합된 검색 창을 사용하는 것보다 PowerShell을 통해 찾는 것이 더 빠를 수 있습니다. 필요한 파일의 위치를 알고 있으면 특히 편리합니다. 간단히 다음과 같은 방법으로 명령을 사용하세요:
Get-Item C:
이렇게 하면 'C:' 하드 드라이브에 있는 파일 목록이 표시됩니다. 더욱 구체적으로 사용자 프로필 아래의 모든 디렉터리를 검색하거나 "문서" 또는 "다운로드" 디렉터리를 더 자세히 검색할 수 있습니다. 이렇게 하려면 다음을 입력하세요:
Get-Tem C:\users\<사용자 이름>\* .
시스템 디렉터리와 같은 컨테이너에서 하위 항목을 검색해야 하는 경우 cmdlet Get-ChildItem 을 사용할 수 있습니다. 이 명령은 해당 컨테이너 내부의 모든 파일과 디렉터리를 표시합니다. Get-Item cmdlet과 마찬가지로 컨테이너 경로를 지정해야 합니다.
항목을 삭제하려면 'Get' 접미사를 'Remove'로 바꾸면 됩니다. 이렇게 하면 파일과 폴더부터 레지스트리 키와 기능까지 모든 것을 삭제할 수 있습니다. Remove-Item
7. ConvertTo-Html
이 명령은 .NET 개체를 웹 브라우저에 표시할 수 있는 HTML 파일로 변환하는 데 도움이 됩니다. 이는 출력 cmdlet이므로 다른 cmdlet과 잘 작동합니다. 다른 cmdlet 끝에 추가하고 특정 파일 경로를 포함하면 됩니다.
예를 들어 로컬 컴퓨터의 모든 현재 프로세스 이름, 경로, 회사를 표시하는 HTML 파일을 만들려면 다음을 입력하세요.
Get-프로세스 | ConvertTo-Html -속성 이름, 경로, 회사 -제목 "프로세스 정보" | Out-File filename.htm
filename.htm을 원하는 파일 이름으로 바꾸세요.
생성된 파일을 열려면 Invoke-Item cmdlet 과
8. 실행 정책 설정
로컬 PowerShell 스크립트를 실행하려면 PowerShell 자체의 실행 정책을 변경해야 합니다. Windows 컴퓨터에서는 실행 정책이 항상 제한되어 있으므로 RemoteSigned 또는 Unrestricted로 변경해야 합니다. Linux 또는 Mac과 같은 Windows가 아닌 컴퓨터에서는 일반적으로 제한 없음으로 설정되며 변경할 수 없습니다.
PowerShell 실행 정책에 대해 자세히 알아보려면 다음을 입력하세요.
Set-ExecutionPolicy 도움말
PowerShell은 컴퓨터의 실행 정책에 대한 도움말 파일을 표시하거나 도움말 파일이 없는 경우 알려줍니다. 하지만 온라인에서 팔로우하고 읽을 수 있는 링크도 제공됩니다..
정책을 RemoteSigned로 설정하려면 다음을 입력하세요.
Set-Executionpolicy RemoteSigned
제한 없음 유형으로 설정하려면:
Set-Executionpolicy 무제한
실행 정책의 현재 설정을 확인하려면 다음을 입력하세요.
Get-Executionpolicy
실행 정책은 PowerShell 보안 전략의 일부이므로 변경 사항에 대한 확인을 요청합니다. 계속 진행하려는 경우에만 Y 를 입력하세요.
9. 개체 선택
이 명령은 개체와 개체 집합, 고유한 개체, 배열의 특정 위치에 있는 개체를 선택하는 데 사용됩니다. 선택하려는 객체를 지정하는 데 사용할 수 있는 다양한 매개변수가 있습니다. 그 중에는 속성, 숫자 값 및 특정 입력 개체가 있습니다.
속성 속성으로 개체를 선택하려면 이름, ID, CPU 등의 속성을 지정해야 합니다. 속성을 그룹화할 수도 있지만 명령을 입력할 때 속성을 쉼표로 구분해야 합니다. 작업 유형에서 Select-Object cmdlet을 보려면:
Get-프로세스 | Select-Object -속성 프로세스 이름, ID, CPU
PowerShell은 아래와 같이 모든 현재 프로세스와 해당 속성을 나열합니다.
이제 -EpandProperty 명령을 사용하여 특정 속성에 대한 자세한 정보를 얻을 수 있습니다. ProcessName 속성 유형의 모듈 속성에 대한 세부 정보를 원하는 경우:
Get-Process Chrome | Select-Object -Property ProcessName -ExpandProperty 모듈 | 형식 목록
명령의 '형식 목록' 출력은 결과를 형식화하고 읽을 수 있도록 하기 위해 존재합니다.
10. 내보내기-CSV
Get-Command cmdlet에서 본 것처럼 PowerShell 명령으로 인해 긴 목록이 생성되는 경우가 있습니다. 긴 목록과 많은 정보는 읽기 어렵기 때문에 좀 더 체계적으로 정리하고 싶을 것입니다. 이렇게 하려면 모든 데이터를 CSV 파일로 내보내세요. 내보내기-CSV 기능을 사용하면 PowerShell에서 직접 이 작업을 수행할 수 있습니다.
예를 들어 cmdlet Get-Command는 해당 순간 PowerShell에서 사용할 수 있는 모든 사용 가능한 cmdlet의 긴 목록을 제공한다는 것을 확인했습니다. Get-Command와 Import-CSV를 결합하여 Excel과 같은 앱이 인식할 수 있는 이름, 소스, 버전 등 쉼표로 구분된 값으로 자세한 목록을 만들 수 있습니다..
이렇게 하려면 PowerShell 명령 프롬프트에 다음 명령을 입력하세요. 단, 원하는 경로를 설정할 수 있으며 파일 이름을 다르게 지정할 수도 있습니다.
Get-명령 | 이름, 소스, 버전 선택 | 내보내기-csv D:\AllCommands.csv
이제 Excel에서 목록을 열 수 있으며 다음 이미지와 비슷한 내용이 표시됩니다.
.