알아야 할 16가지 필수 PowerShell 명령
Windows PowerShell은 Windows PowerShell을 기반으로 하는 강력한 앱입니다. 넷 프레임 워크. cmdlet이라는 PowerShell 명령에 의존합니다. 주어진 순서대로 조합하면 PowerShell 창에서 거의 모든 작업을 수행할 수 있습니다. 작동 방식을 설명하기 위해 가장 필수적인 PowerShell 명령을 간략히 나열했습니다.
PowerShell 명령을 사용하는 방법
cmdlet을 사용하려면 검색 메뉴에서 관리자 모드로 PowerShell을 시작해야 합니다.
필수 PowerShell 명령
Windows의 PowerShell은 활성 명령줄 인터페이스일 뿐만 아니라 원하는 응용 프로그램이나 프로세스를 실행할 수 있는 스크립팅 및 프로그래밍 창이기도 합니다. 수백 개의 cmdlet이 있지만 시작하려면 가장 중요한 cmdlet만 배우면 됩니다.
1. 명확한 호스트 또는 Cls
입력하는 동안 실수를 했거나 계획대로 진행되지 않았습니까? 다행히도 PowerShell에는 다시 할 수 있는 작업이 있습니다. 편리한 clear-host
명령은 디스플레이에서 전체 텍스트를 지울 수 있습니다. 화면의 아무 줄에나 명령을 입력하면 모든 것이 즉시 사라집니다.
명령 프롬프트에서 자주 사용되는 더 간단한 명령을 PowerShell과 함께 사용할 수도 있습니다 cls
. 이 두 가지 일반 텍스트 명령은 오류 메시지가 나타날 때 유용합니다.
명령 프롬프트 또는 PowerShell 창에서 입력 오류를 방지하려면 효율성을 개선하기 위해 명령을 복사하여 붙여넣으십시오.
2. HTML로 변환
큰 HTML 문자열을 갖는 것은 어수선한 PowerShell 스크린샷을 보는 것보다 더 미적입니다. 비기술 팀 구성원과 스크립트 오류 및 기타 PowerShell 이벤트를 공유해야 하는 경우에도 유용합니다.
모든 PowerShell 구성 요소가 사용됩니다. PowerShell 화면에서 볼 수 있는 NET 개체입니다. 전체 브라우저 창에 표시하려면 Convert-to-HTML
cmdlet을 사용하십시오. 다음은 웹에서 모든 PowerShell 별칭을 보는 예입니다. “Invoke-Item” 앞에 별도의 줄을 사용해야 합니다.
Get-Alias | ConvertTo-Html | Out-File aliases.htm
Invoke-Item aliases.htm
HTML 변환 명령을 실행하는 즉시 PowerShell은 다른 응용 프로그램을 사용하여 출력 파일을 열도록 요청합니다. 브라우저를 사용하면 별칭과 같은 개체 목록이 생성됩니다.
3. 명령 받기
주로 별칭과 함수의 두 가지 유형의 명령이 있습니다. PowerShell 별칭은 함수 또는 cmdlet의 닉네임 역할을 합니다. Windows에는 기본적으로 몇 가지 별칭이 저장되어 있으며 를 사용하여 검색할 수 있습니다 Get-Command
. 고유한 별칭을 만들 수도 있습니다.
PowerShell의 다른 명령 유형은 함수입니다. 이들은 승인된 동사(예: “get”)와 간단한 명사(예: “StorageNode”)를 사용합니다.
로컬 컴퓨터의 이름을 표시하기 위해 컴퓨터 이름에 대한 환경 변수로 알려진 것과 함께 “개체 선택” 기능(동사 및 명사 조합 참고)을 사용하고 있습니다.
$env:computername | Select-Object
함수는 고급 PowerShell 코딩의 시작점입니다. 와 같은 함수를 Start-process
매개변수 및 변수와 함께 사용하여 일련의 작업을 실행하는 자체 배치 스크립트를 생성할 수 있습니다.
4. 도움 받기
Get-Help
PowerShell 에는 모든 빠른 수정 및 도움말 문서를 단일 창에 표시하는 자체 학습 문제 해결 cmdlet이 있습니다 . 다양한 모듈에 대한 도움말을 보려면 출력 끝에 명령을 입력하십시오. Y도움말 콘텐츠의 업데이트된 버전을 허용하려면 을 눌러야 할 수도 있습니다 .
를 통해 다양한 도움말 옵션이 있습니다 Get-help
. 예를 들어, 수행하는 작업과 정확한 구문이 무엇인지 알아보려면 Get-process
다음을 입력하십시오.
Get-Help Get-Process
5. Get 프로세스
Get-Process
로컬 장치 또는 원격 컴퓨터의 전체 프로세스 목록을 표로 만드는 필수 PowerShell 명령입니다.
자세한 프로세스 정보를 보려면 프로세스 ID(PID) 또는 프로세스 이름과 같은 다른 매개변수를 지정해야 합니다.
찾을 프로세스를 정의하는 동안 포함할 수 있는 많은 특정 매개변수가 있습니다.
- 파일 크기(MB)를 지정하여 프로세스 나열
- 우선 순위에 따라 프로세스 나열
- 프로세스 소유자 찾기
6. 서비스 받기
Windows 컴퓨터에는 실행 중인 프로그램과 프로세스가 많이 있습니다. Get-service
작업 관리자에서 직접 볼 수 있지만 나중에 HTML로 변환할 수 있는 를 사용하여 전체 목록을 보는 것이 더 쉽습니다 .
필요한 서비스의 정확한 이름이 기억나지 않습니까? 기억할 수 있는 몇 개의 문자와 함께 와일드카드 기호(*)를 사용할 수 있습니다.
Get-service "xyz*"
함께 작동하는 몇 가지 공통 플래그에는 , , 및 가 Get-Service
포함됩니다 .-DisplayName
-DependentServices
-InputObject
-RequiredServices
7. 설치 모듈 또는 설치 스크립트
PowerShell은 Microsoft Teams, McAfee Security, Bing Translator, 최신 Xbox 게임 등과 같은 Windows 소프트웨어용 소프트웨어 패키지를 설치하는 가장 안전한 옵션 중 하나입니다. 모든 사용자를 위해 PowerShell에서 지원되는 전체 소프트웨어 목록을 보려면 다음을 입력하십시오.
Get-AppxPackage -AllUsers
더 좋은 방법은 최신 소프트웨어 패키지에 대한 원스톱 리소스인 PowerShell 갤러리 에서 원하는 패키지를 검색하는 것입니다 . 찾았으면 Install-module
, Install-Script
, 또는 와 같은 명령을 입력합니다 Install-Package
. 다음은 지뢰 찾기 게임의 설치를 보여줍니다.
Install-Script -Name Minesweeper
패키지가 PowerShell을 통해 설치될 때까지 몇 초 또는 몇 분 정도 기다립니다. 나중에 Windows에서 사용할 수 있습니다.
또 다른 유용한 명령은 Find-package
컴퓨터나 웹에서 소프트웨어 패키지를 검색하는 입니다.
8. mkdir, md, rmdir
mkdir
기본 PowerShell 명령이 아닙니다. 그러나이 new-item
구문은 DOS 및 Linux에서 매우 널리 사용되므로 디렉토리를 만드는 데 널리 사용되는 별칭입니다. mkdir
원하는 이름으로 사용하면 빈 폴더가 생성됩니다.
mkdir "name of your empty folder."
간단한 명령을 사용하여 PowerShell이 새로 만든 폴더를 가리키도록 합니다 cd
.
cd "name of the newly created folder."
새로 생성된 폴더는 항상 경로를 따라 위치 하지만 다른 폴더를 가리키는 데 C:\Windows\System32
사용할 수 있습니다 .cd
위와 동일한 용도 mkdir
로 로 대체할 수 있습니다 . md
디렉터리 콘텐츠를 제거하려면 rmdir
(remove directory) 명령을 사용합니다.
rmdir "name of the folder with empty content."
9. 신상품
mkdir
및 와 같은 별칭과 달리 는 md
PowerShell New-item
에서 새 항목을 만들고 해당 값을 설정하는 데 사용되는 공식 cmdlet입니다. 파일과 폴더를 만드는 것 외에도 이를 사용하여 레지스트리 키와 항목을 만들 수 있습니다.
- 명령을 사용하여 새 디렉터리를 만들려면
New-item
다음을 입력합니다.
New-item -Path "Directory path location\"-Name "Name of your choice"-Item Type "directory"
- 디렉토리가 생성되는 즉시
New-item
해당 폴더 안에 새 파일을 배치할 수 있습니다.
New-item -path "Created directory path location\"-Name "File name.txt"-ItemType "file"-Value "insert any text of your choice."
- 새로 생성된 파일은 대상 폴더에서 찾을 수 있습니다.
10. 항목 제거
다음과 같은 확장자를 가진 모든 파일을 제거하시겠습니까? TXT,. 문서,. PDF,. 폴더에서 WMV? 먼저 를 사용하여 정확한 폴더 경로를 가리킨 다음 아래와 같이 cd
cmdlet을 사용합니다 .Remove-Item
Remove-Item * -Include *(filetype) - Exclude *(any variable or number)"
위의 방법은 숨겨진 파일 또는 읽기 전용 파일을 식별 및 제거하거나 특수 문자가 있는 파일을 삭제하는 데 매우 유용합니다.
11. 실행 정책 설정
보안을 위해 PowerShell에는 구성 파일, 스크립트 및 기타 매개 변수에 영향을 미치는 자체 실행 정책이 있습니다. Set-executionPolicy
이 안전 기능은 기존 항목을 덮어쓰는 와 같은 플래그와 함께 명령을 사용하여 실행할 수 있습니다 -force
. 아래 주어진 구문을 따릅니다.
Set-ExecutionPolicy<br>[-ExecutionPolicy]<br>[[-Scope] ]<br>[-Force]<br>[-WhatIf]<br>[-Confirm]<br>[]
예를 들어, Set-ExecutionPolicy
명령을 사용하여 Chocolatey 소프트웨어를 설치하면 아래 표시된 코드와 같습니다. 일단 실행되면 컴퓨터에 공식 Chocolatey 소프트웨어를 다운로드하여 설치합니다.
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
12. 개체 선택 및 개체 정렬
폴더 또는 하위 폴더에 많은 파일과 확장자가 있는 경우 미리 정의된 속성을 기준으로 오름차순 또는 내림차순으로 정렬하거나 선택할 수 있습니다. 여기에서 cmdlet Sort-Object
및 이 Select-Object
여러 개체를 한 번에 재정렬하는 데 도움이 될 수 있습니다.
정렬 및 선택은 컴퓨터의 기존 프로세스뿐만 아니라 다른 폴더의 모든 파일에 적용할 수 있습니다. 아래는 작업 집합(WS) 크기(MB)를 기반으로 가장 중요한 10개의 프로세스를 정렬하고 선택하는 예입니다.
Get-process | Sort-Object -Property WS | Select-Object - Last "Number of items"
다양한 파일의 기록 정보, 메모장 파일에 포함된 모든 목록 항목 정렬 및 컴퓨터의 다양한 이벤트 정렬과 같은 다양한 기타 매개 변수에 대한 정렬 및 선택을 사용할 수 있습니다.
13. 프로세스 시작 및 중지
Windows에서 새 프로세스를 시작하거나 기존 프로세스를 중지하려는 경우 PowerShell cmdlet을 사용하여 해당 목표를 빠르게 달성할 수 있습니다.
프로세스를 빠르게 종료하려면 Stop-Process
cmdlet을 사용하십시오. 다음 예에서는 워드패드에 대한 프로세스를 닫는 방법을 보여줍니다.
Stop-process -Name "Process or Application name"
마찬가지로 PowerShell 창에서 직접 새 애플리케이션을 시작하려면 Start-process
cmdlet 및 -FilePath
플래그를 입력합니다.
Start-Process -FilePath "Application name"
14. 서비스 일시 중단 및 재개
실행 중인 서비스를 시작하거나 중지하는 대신 직접 일시 중단할 수 있습니다. 이 Suspend-service
cmdlet은 사용이 간편하며 현재 사용하지 않는 서비스의 RAM 및 CPU 사용량을 줄이는 데 도움이 됩니다.
Suspend-service -DisplayName "Service full name"
종료된 서비스는 나중에 간단한 Resume-service
명령으로 재개할 수 있습니다. 시스템에 부정적인 영향을 주지 않고 어떤 서비스를 일시 중단할 수 있는지 확실하지 않은 경우 다음 명령을 사용하십시오.
Get-Service | Where-Object {$_.CanPauseAndContinue -eq "True"} | Suspend-Service -Confirm
15. 테스트 경로
프로그래밍에서 파일 경로 오류를 방지하려면 구문의 파일 경로가 정확한지 확인해야 합니다. 항상 파일 탐색기로 확인할 수 있지만 이를 확인하는 더 정확한 방법은 cmdlet을 사용하는 것입니다. Test-path
cmdlet은 주어진 경로가 존재하는지 여부에 대해 “참” 또는 “거짓”으로 대답합니다.
Test-Path -Path "Path name"
명령을 수정하여 지정된 파일의 가용성을 테스트하고, 레지스트리 경로가 정확한지 확인하고, 컴퓨터에 특정 파일 형식 외에 다른 파일이 있는지 확인할 수 있습니다.
16. 대기 프로세스
여러 프로세스가 동시에 실행 중인 경우 다시 사용하기 전에 하나 이상의 프로세스가 중지될 때까지 기다릴 수 있습니다. cmdlet 은 Wait-Process
크게 도움이 될 수 있습니다. 프로세스가 중지되기 전에 PowerShell이 대기하는 제한 시간을 지정할 수 있습니다.
Wait-Process -Name "Process name, -Timeout (in seconds)
기타 필수 PowerShell 명령
위에 나열된 PowerShell 명령 외에도 다음 cmdlet 및 기능을 배우는 것도 도움이 됩니다.
-
Echo
PowerShell 콘솔에서 값을 인쇄하는 데 사용되는 cmdlet입니다. -
Get-Host
Windows에서 PowerShell을 호스팅하는 프로그램에 대한 자세한 내용을 제공합니다. -
Test-JSON
문자열이 유효한 JSO 개체인지 여부를 테스트하는 데 사용되는 고급 cmdlet입니다. -
Trace-command
포함된 매개변수 및 플래그를 찾기 위해 전체 표현식 또는 명령을 추적합니다. -
Write-output
, 이름에서 알 수 있듯이 콘솔 창에서 마지막 명령의 출력을 제공합니다.
자주 묻는 질문
“PowerShell 스크립트가 cmdlet의 이름으로 인식되지 않음” 오류를 해결하려면 어떻게 해야 합니까?
PowerShell이 cmdlet의 이름을 인식하지 못하는 경우 Path 변수가 올바르게 설정되지 않았기 때문일 수 있습니다. 잘못된 폴더 경로를 수정하여 경로 변수 오류를 수정합니다.
PowerShell에서 오류 출력을 변수로 캡처하려면 어떻게 해야 하나요?
$ErrorVariable
PowerShell에는 다양한 cmdlet을 입력할 때 모든 오류 출력을 캡처하도록 설계된 오류 변수 매개 변수가 있습니다 . 문제 해결에 사용할 수 있습니다.
이미지 크레디트: DepositPhotos . Sayak Boral의 모든 스크린샷 .
- 페이스북
- 트위터
답글 남기기