Comment maîtriser PowerShell en un rien de temps ?
파워쉘

PowerShell을 즉시 마스터하는 방법은 무엇입니까?

By Hervé , on 25 6월 2024 , updated on 25 6월 2024 - 1 minute to read
Partager cet article :

효율성을 높이려는 시스템 관리자이신가요? Windows 인프라 자동화 및 관리를 위한 필수 도구인 PowerShell을 마스터하는 방법을 알아보세요. 이 문서에서는 기록적인 시간 내에 PowerShell 전문가가 되기 위한 필수 개념, 방법 스크립트 및 팁을 안내합니다. 변화를 가져올 기술을 습득하여 일상적인 운영 생활을 변화시킬 준비를 하십시오.

Table of Contents

PowerShell 기본 사항: 필수 명령 알아보기

PowerShell은 작업 자동화 및 Windows 운영 체제 관리를 위해 설계된 강력한 도구입니다. 필수 명령을 이해하는 것은 관리 작업을 최적화하고 효율성을 얻는 데 필수적입니다.

인터페이스 및 구문 발견

흔히 콘솔이라고 불리는 PowerShell의 인터페이스는 명령이 입력되는 곳입니다. PowerShell의 구문은 작고 가벼운 명령인 “cmdlet”을 사용하여 직관적으로 설계되었습니다. 각 cmdlet은 ‘동사-명사’ 형식을 따르므로 기억하고 사용하기가 더 쉽습니다.

필수 cmdlet

일부 cmdlet은 PowerShell을 처음 사용하는 모든 사람에게 기본입니다. 가장 중요한 사항은 다음과 같습니다.

  • 도움말 얻기 : cmdlet 도움말 정보에 대한 액세스를 제공합니다.
  • Get-명령 : 사용 가능한 모든 cmdlet, 함수, 워크플로 및 스크립트를 나열합니다.
  • 서비스 받기 : 시스템 서비스의 상태를 표시합니다.
  • 실행 정책 설정 : PowerShell 스크립트의 실행 정책을 수정합니다.
  • 프로세스 가져오기 : 시스템에서 실행 중인 프로세스를 나열합니다.

물체 취급

PowerShell은 각 요소를 개체로 처리합니다. 즉, 각각에는 특정 속성과 관련 메서드가 있습니다. cmdlet 회원가입 데이터를 효과적으로 조작하는 데 중요한 이러한 속성과 메서드를 시각화할 수 있습니다.

스크립트 관리

스크립트를 작성하고 실행하는 기능은 PowerShell을 매우 강력하게 만듭니다. 스크립트를 사용하면 복잡한 작업 순서를 자동화하여 오류 한계와 수동 개입의 필요성을 줄일 수 있습니다. 스크립트를 실행하기 위해 우리는 종종 다음을 사용합니다. ./script_name.ps1 실행 정책을 조정한 후 실행 정책 설정.

데이터 필터링 및 정렬

다음과 같은 cmdlet Where-객체 그리고 정렬 개체 데이터를 정렬하고 필터링하는 데 필수적입니다. 이를 통해 기준을 지정할 수 있어 결과의 관련성과 분석이 더욱 쉬워집니다.

파이프라인 및 주문 구성

PowerShell의 가장 강력한 측면 중 하나는 파이프라인을 사용하여 명령을 연결하는 기능입니다. 예를 들어, 프로세스 가져오기 | Where-객체 {$_.CPU -gt 100} 100개 이상의 CPU 장치를 소비하는 모든 프로세스를 나열합니다. 이 기능을 사용하면 매우 강력하고 유연한 명령 시퀀스를 구축할 수 있습니다.

별칭을 사용하여 PowerShell에서 시간 절약

별칭이 복잡한 PowerShell 명령을 단순화하는 방법을 시각적으로 표현합니다.

PowerShell의 별칭 기본 사항

자동화 및 인프라 관리를 위한 강력한 도구인 PowerShell은 별칭을 사용하여 명령을 단순화하는 기능을 제공합니다. PowerShell의 별칭은 본질적으로 cmdlet, 함수, 스크립트 또는 실행 파일에 대한 바로 가기 또는 대체 이름입니다. 입력 명령의 길이를 줄이고 일상 작업 속도를 높입니다.

사용자 정의 별칭 생성 및 사용

PowerShell에서 별칭을 만들려면 cmdlet


세트 별칭

사용. 예를 들어


Get-ChildItem

디렉토리의 파일을 나열하는 데 자주 사용되는 는 다음과 같이 수행할 수 있습니다.


Set-Alias ​​​​-Name l -Value Get-ChildItem

이 별칭을 사용하면 사용자가 다음을 입력할 수 있습니다.


대신에


Get-ChildItem

, 특히 반복 작업 중에 시간과 노력을 절약할 수 있습니다.

별칭 관리

기존 별칭 관리는 cmdlet을 통해 수행됩니다.


Get-Alias

. 이 명령은 현재 PowerShell 세션에서 사용할 수 있는 모든 별칭을 나열합니다. 검색을 세분화하거나 특정 별칭을 찾으려면 다음을 사용할 수 있습니다.


Get-Alias-Name l

이 명령은 별칭 정보를 반환합니다.


, 별칭이 무엇을 참조하는지 빠르게 확인할 수 있습니다.

별칭 지속성

기본적으로 PowerShell에서 생성된 별칭은 세션 간에 저장되지 않습니다. 이를 영구적으로 만들려면 PowerShell 프로필 파일에 추가해야 합니다. 별칭을 영구적으로 추가하는 등 PowerShell이 ​​시작될 때마다 실행되는 명령을 포함하도록 프로필 파일을 수정할 수 있습니다.


If (-Not (테스트 경로 -Path $Profile)) { 새 항목 -유형 파일 -Path $Profile -Force }
Add-Content -Path $Profile -Value 'Set-Alias ​​​​-Name l -Value Get-ChildItem'

이 접근 방식은 별칭이


PowerShell 세션이 시작될 때마다 사용할 수 있습니다.

별칭 사용 모범 사례

특히 다른 사람이 사용하거나 유지 관리할 수 있는 스크립트에서는 코드 명확성을 유지하기 위해 별칭을 신중하게 사용해야 합니다. 그것을 추천합니다 :

  • 다음과 같이 잘 알려지고 널리 허용되는 별칭을 사용하세요. ㅋㅋㅋ

    을 위한

    Get-ChildItem

    .

  • cmdlet의 기능을 모호하게 할 수 있는 별칭을 만들지 마십시오. 혼란스러울 수 있습니다.
  • 모든 사용자가 별칭이 무엇을 참조하는지 이해할 수 있도록 공유 프로젝트에 별칭을 문서화하세요.

이러한 방식을 채택함으로써 별칭은 코드 가독성과 유지 관리성을 유지하면서 효율성을 높이는 데 기여하는 귀중한 도구가 됩니다.

PowerShell을 사용하여 효율적인 스크립트 생성 및 관리

스크립팅을 위한 PowerShell 기본 사항

PowerShell 사용은 기본 사항을 이해하는 것부터 시작됩니다. PowerShell은 관리 작업 및 구성 관리를 자동화하도록 설계된 스크립팅 언어입니다. 특정 PowerShell 명령인 cmdlet을 통해 작동하므로 간단하거나 복잡한 작업을 수행할 수 있습니다.

스크립팅을 시작하려면 변수, 루프 및 조건을 이해하는 것이 중요합니다. 변수를 사용하면 임시 정보를 저장할 수 있습니다. 다음과 같은 루프 ~을 위한, 각각, 그리고 ~하는 동안, 코드 블록을 반복적으로 실행하기가 더 쉬워집니다. 조건부 구조 만약에, elseif 그리고 또 다른 다양한 조건에 따라 작업을 수행할 수 있습니다.

모듈식 및 재사용 가능한 스크립트 작성

좋은 PowerShell 스크립트는 기능적일 뿐만 아니라 모듈식이며 재사용도 가능합니다. 이 목표를 달성하려면 기능을 사용하는 것이 좋습니다. 함수는 특정 작업을 수행하고 반복적으로 호출할 수 있는 코드 부분을 캡슐화합니다. 또한 이러한 기능에 대해 매개변수를 사용하는 것이 현명하며, 이를 통해 스크립트를 더욱 유연하게 만들고 다양한 상황에 적응할 수 있습니다.

성능을 위한 스크립트 최적화

스크립트의 성능은 특히 대규모 네트워크에서 관리 작업을 처리할 때 매우 중요합니다. 성능을 향상시키려면 시간이 많이 걸리는 cmdlet에 대한 중복 호출을 최소화하고 가능하면 병렬 처리 기술을 사용하는 것이 중요합니다. cmdlet 사용 호출 명령 여러 기계에서 동시에 주문을 실행할 수 있어 총 처리 시간이 단축됩니다.

또 다른 중요한 측면은 오류 처리입니다. 사용 노력하다, 레슬링, 그리고 마지막으로 제어된 방식으로 오류를 처리하여 예기치 않은 스크립트 종료를 방지하고 보다 원활한 실행을 가능하게 합니다.

스크립트 관리: 보안 및 유지 관리

악의적인 사용으로부터 시스템을 보호하려면 스크립트 보안이 필수적입니다. 항상 사용자 입력의 유효성을 검사하고 확인되지 않은 명령을 실행하지 마십시오. 또한 특히 PowerShell과 이를 관리하는 환경이 지속적으로 발전함에 따라 스크립트를 최신 상태로 유지하는 것이 중요합니다.

문서화는 종종 간과되지만 스크립트 관리의 중요한 측면이기도 합니다. 포괄적인 문서를 통해 다른 관리자는 스크립트의 목적과 작동을 빠르고 효율적으로 이해할 수 있으므로 다른 팀이 스크립트를 더 쉽게 유지 관리하고 조정할 수 있습니다.

대규모 스크립팅 프로젝트에서 변경 사항을 추적하고 순서를 유지하려면 Git과 같은 버전 제어 시스템을 통한 로그 및 버전 추적을 주의 깊게 사용하는 것이 좋습니다.

결론적으로, PowerShell을 사용하여 효과적인 스크립트를 생성하고 관리하려면 기본 측면을 잘 이해하고 모듈성, 성능 및 보안에 특별한 주의를 기울여야 합니다. 이러한 원칙을 염두에 두고 관리자는 이 강력한 도구를 최대한 활용하여 관리 작업을 자동화하고 최적화할 수 있습니다.

PowerShell의 키보드 단축키를 사용하여 생산성 최적화

더 빠르고 효율적인 작업 관리를 위해 PowerShell의 키보드 단축키를 마스터하세요.

생산성 향상을 위한 기본 지름길

PowerShell에서 키보드 단축키를 배우는 것은 단지 전문성을 뽐내기 위한 것이 아니라 스크립트 작성 및 명령 관리에 소요되는 시간을 크게 줄일 수 있습니다. 마우스 대신 키보드를 사용하면 특히 대용량 작업을 처리할 때 효율성이 향상됩니다. 모든 사용자가 알아야 할 몇 가지 필수 단축키는 다음과 같습니다.

  • Ctrl+C : 명령 실행을 중단합니다.
  • Ctrl+V : 클립보드의 텍스트를 붙여넣습니다.
  • Ctrl+R : 이전 주문 내역을 검색할 수 있습니다.
  • : 탭 완성이라고 하는 명령이나 파일의 이름을 자동으로 완성합니다.

고급 콘솔 처리

복잡한 작업을 정기적으로 수행하는 사람들에게는 고급 단축키를 익히는 것이 중요할 수 있습니다. 이러한 바로 가기를 사용하면 인터페이스를 더 빠르게 탐색하고, 현재 명령을 편집하고, PowerShell 세션을 더 쉽게 관리할 수 있습니다.

  • Ctrl + 왼쪽/오른쪽 화살표 : 명령줄을 통해 단어별로 이동합니다. 이는 긴 명령에 특히 유용합니다.
  • Ctrl + 백스페이스 / Ctrl+Del : 커서 앞이나 뒤에 있는 단어를 삭제하여 빠른 수정을 더 쉽게 만듭니다.
  • Alt+F7 : 명령 기록을 지웁니다. 개인 정보 보호를 위해 유용하거나 단지 혼란을 없애는 데 유용합니다.

세션 및 스크립트 관리

여러 세션이나 스크립트를 관리하는 관리자의 경우 특정 키보드 명령과 함께 PowerShell을 효과적으로 사용하면 혼란스러운 워크플로를 유동성과 조직의 모델로 변환할 수 있습니다.

  • Ctrl+D : PowerShell 콘솔을 닫습니다. ‘exit’를 입력할 필요 없이 세션을 빠르게 종료하는 데 자주 사용됩니다.
  • Ctrl+S : 내장된 스크립트 편집기에 현재 편집된 스크립트를 저장합니다.
  • F5 : 현재 편집기에 열려 있는 스크립트를 실행합니다. 이는 작업 환경을 떠나지 않고 스크립트 변경 사항을 테스트하는 데 중요합니다.

바로가기 사용에 대한 권장 사례

이러한 바로 가기를 일상 생활에 통합하려면 연습이 필요하지만 PowerShell 사용을 최적화하는 데 필수적입니다. 단축키를 자신의 필요에 맞게 조정하고 정기적으로 사용 연습을 통해 암기하여 작업 환경을 개인화하는 것이 좋습니다. 이를 통해 스크립팅 및 시스템 관리가 더욱 빨라질 뿐만 아니라 더욱 즐거워집니다.

PowerShell 스크립트와 CLI 명령은 자동화 및 시스템 관리를 위한 강력한 도구입니다. 키보드 단축키를 능숙하게 사용하면 이러한 프로세스의 속도가 크게 향상되는 동시에 수동 오류도 줄어듭니다. 특정 요구 사항에 맞게 이러한 도구를 계속 배우고 적용하면 시스템 작업 자동화를 완전히 익힐 수 있습니다.

PowerShell에서 고급 검색에 정규식 사용

정규 표현식의 기초

정규식이라고도 하는 정규식은 문자열을 조작하는 강력한 도구입니다. PowerShell에서는 일반적으로 텍스트 데이터에서 특정 정보를 찾거나 바꾸거나 추출하는 데 사용됩니다. 정규식을 사용하면 비교적 간단한 코드 줄로 복잡한 작업을 수행할 수 있습니다.

정규식은 검색 패턴을 정의하는 일련의 문자입니다. PowerShell은 이 기능을 직접 통합하므로 시스템 관리자와 개발자가 액세스 가능하고 효율적으로 사용할 수 있습니다.

기본 정규식 구문 이해

PowerShell에서 정규식을 시작하려면 몇 가지 기본 구문을 이해하는 것이 중요합니다. 다음과 같은 기호


^

(체인의 시작),


$

(문자열의 끝),


.

(모든 문자) 및


*

(0개 이상 발생)은 검색 패턴에 자주 사용됩니다. 예를 들어,


^a.*$

‘a’로 시작하고 임의의 문자로 끝나고 그 문자가 원하는 만큼 반복되는 행과 일치합니다.

PowerShell에서 정규식 적용

PowerShell은 정규식을 사용할 수 있는 여러 cmdlet을 제공합니다. cmdlet


선택 문자열

텍스트 파일이나 문자열에서 정규식 패턴을 검색하는 데 특히 유용합니다. 예를 들어 파일에서 이메일 주소가 포함된 모든 줄을 찾으려면 다음을 사용할 수 있습니다.

또한, 매개변수


-바꾸다

같은 연산자


-성냥

,


-바꾸다

, 또는



정규식을 기반으로 문자열을 수정할 수 있습니다. 이러한 접근 방식을 사용하면 데이터를 세부 사양으로 매우 빠르게 쉽게 변환할 수 있습니다.

고급 정규식: 캡처 그룹 및 어설션

정규식은 캡처 그룹 및 어설션을 통해 더 많은 기능을 제공합니다. 캡처 그룹을 사용하면 하위 패턴과 일치하는 문자열의 특정 부분을 추출할 수 있습니다. 예를 들어 :

긍정적 및 부정적 주장을 포함한 주장은 최종 결과에 일치하는 텍스트를 포함하지 않고 일치의 컨텍스트를 지정하는 방법을 제공합니다. 이는 복잡한 스크립트의 매우 구체적인 유효성 검사에 특히 유용합니다.

Regex를 사용하여 PowerShell 스크립트 최적화

정규식을 PowerShell 스크립트에 통합하면 자동화 효율성을 크게 높일 수 있습니다. 로그 분석, 구성 수정, 사용자 입력 유효성 검사 등 정규식을 사용하면 이러한 작업이 가능할 뿐만 아니라 효율적입니다.

간단하지만 정확한 정규식 사용으로 스크립팅 시간과 잠재적인 오류를 크게 줄여 IT 시스템의 안정성과 성능을 극대화할 수 있습니다.

표현식을 프로덕션에 배포하기 전에 항상 안전하고 통제된 환경에서 테스트하여 효과를 익히는 것이 좋습니다.

PowerShell의 기능을 사용하여 반복 작업 자동화

시스템 관리에서 반복적인 작업을 자동화하기 위해 PowerShell 기능 구성을 관리합니다.

PowerShell의 기능 이해

PowerShell의 강력한 기능은 반복 작업을 자동화하는 기능에 있으므로 시스템 관리자에게 없어서는 안 될 도구입니다. PowerShell의 함수는 특정 작업을 수행할 수 있는 코드 블록입니다. 이를 사용하면 반복을 제거하고 스크립트를 더 읽기 쉽고 유지 관리하기 쉽게 만들어 코드를 단순화할 수 있습니다.

간단한 함수 만들기

시작하려면 PowerShell의 함수가 키워드를 사용하여 선언됩니다.


기능

그 뒤에는 함수 이름과 중괄호로 묶인 코드 블록이 옵니다. 다음은 기본 예입니다.

이 함수는 매개변수를 허용합니다.


$name

을 클릭하고 인사말 메시지를 표시합니다. 이 함수를 호출하려면 다음을 입력하세요.


인사 - 이름은 '프랑수아'

PowerShell 콘솔에서.

함수에서 매개변수 사용

함수는 모듈성을 높이기 위해 여러 매개변수를 허용할 수 있습니다. 예를 들어, 숫자의 제곱을 계산하는 함수의 경우:

함수에 숫자 전달


정사각형

함수 오류 처리

강력하고 안정적인 스크립트를 구축하려면 오류 처리가 필수적입니다. PowerShell은 오류 처리를 위한 여러 메커니즘을 제공하며 가장 일반적인 함수 중 하나는 블록입니다.


시도...잡아

.

이 함수는 두 숫자의 나누기를 시도하고 0으로 나눌 때 발생하는 오류를 처리합니다.

반복 작업 자동화

PowerShell 기능은 반복 작업을 자동화하는 데 매우 유용할 수 있습니다. 예를 들어, 여러 서버에서 사용 가능한 디스크 공간을 자주 확인해야 한다고 가정해 보겠습니다. 이 작업을 자동화하는 함수를 작성할 수 있습니다.

이 기능을 사용하면 서버 목록을 제공하여 사용 가능한 디스크 공간에 대한 보고서를 빠르게 얻을 수 있습니다.

PowerShell에서 오류를 효과적으로 디버그하고 처리합니다.

PowerShell의 오류 유형 이해

PowerShell은 주로 런타임 오류(“예외”라고도 함)와 비터미널 오류라는 두 가지 유형의 오류를 구분합니다. 처리되지 않은 예외와 같은 터미널 오류는 발생하는 스크립트를 중단시킵니다. 이와 대조적으로, 비터미널 오류 또는 명령 오류를 사용하면 문제를 보고하는 동안 스크립트가 계속 실행될 수 있습니다. 적절한 디버깅 방법을 선택하려면 발생한 오류 유형을 인식하는 것이 필수적입니다.

Try, Catch 및 finally 사용

Try-Catch 블록은 PowerShell의 오류 처리를 위한 필수 제어 구조입니다. 블록에서 예외를 발생시킬 수 있는 코드를 캡슐화합니다.


노력하다

. 사용


레슬링

오류 발생 시 수행할 작업을 정의합니다.


마지막으로

오류 발생 여부에 관계없이 Try and Catch 후에 코드를 실행합니다. 이렇게 하면 스크립트에 사용된 리소스를 효율적으로 정리할 수 있습니다.

디버그 모드 사용

PowerShell은 cmdlet을 통해 활성화되는 내장 디버깅 기능을 제공합니다.


세트-PSDebug

. 이 모드를 사용하면 스크립트의 실행 흐름을 따라갈 수 있으며 다양한 시점의 변수 값을 볼 수 있습니다. 최소한의 디버깅을 위해서는 -Trace 1 설정을 사용하고, 더 자세한 디버깅을 위해서는 -Trace 2를 사용하고, 스크립트를 단계별로 실행하려면 -Step을 사용하세요.

오류 로그 개선

오류를 문서화하는 것은 강력한 시스템에 매우 중요합니다. 다음과 같은 cmdlet을 사용하십시오.


쓰기 오류

,


쓰기-자세한 내용

또는


쓰기 디버그

오류 정보를 기록합니다. 또한 다음과 같은 cmdlet을 사용하여 외부 로그 파일에 대한 오류 리디렉션을 구성합니다.


파일 아웃

또는


내보내기-Clixml

추가 분석을 위해.

$ErrorActionPreference를 사용하여 오류를 사전에 처리합니다.

전역 변수


$ErrorActionPreference

비터미널 오류를 처리할 때 PowerShell의 일반적인 동작을 정의합니다. 가능한 값은 다음과 같습니다:


멈추다

,


계속 해

,


조용히계속

또는


문의

. 올바른 값을 선택하면 오류 발생 시 스크립트를 중지할지, 아니면 단순히 문제를 기록하고 계속할지 결정할 수 있습니다.

예외 객체의 고급 사용

일부 오류는 예외 개체를 통해 추가 정보를 제공합니다. 변수를 사용하여 이러한 객체에 액세스


$_

Catch 블록에서. 이러한 개체에는 정확하고 효율적인 진단에 필수적인 원래 오류, 스택 추적 또는 오류 해결 방법에 대한 팁과 같은 세부 정보가 포함될 수 있습니다.

검증 스크립트: 배포 전 테스트

런타임 조건을 시뮬레이션하고 다양한 환경에서 스크립트 동작을 확인하는 검증 스크립트를 작성하여 프로덕션 오류를 최소화합니다. Pester 또는 PowerShell 단위 테스트 프레임워크와 같은 도구를 사용하여 이러한 테스트를 자동화하고 스크립트의 견고성을 보장할 수 있습니다.

더 나은 이해를 위한 오류 사용자 정의

때로는 기본 오류 메시지가 모든 사용자에게 충분히 명확하지 않은 경우가 있습니다. 알림을 더욱 명확하고 유용하게 만들기 위해 스크립트에 사용되는 오류 메시지를 사용자 정의하세요. cmdlet 사용


쓰기 오류

스크립트의 컨텍스트에 맞는 특정 메시지를 정의하여 사용자 경험과 코드 유지 관리성을 향상시킵니다.

스마트 중단점 사용

중단점은 디버깅에 있어서 강력한 도구입니다. PowerShell을 사용하면 특정 줄, 변수를 읽거나 수정할 때, 함수 입력/출력에 중단점을 설정할 수 있습니다. 이를 전략적으로 사용하면 복잡한 스크립트에서 오류의 원인을 신속하게 격리하는 데 도움이 될 수 있습니다.

PowerShell은 디버깅 및 오류 처리를 위한 강력한 도구를 제공합니다. 권장 사례를 사용하고 사용 가능한 내부 메커니즘을 이해함으로써 시스템 관리자는 가동 중지 시간을 크게 줄이고 자동화된 스크립트의 안정성을 향상시킬 수 있습니다.

Avatar

Hervé

Comments

Leave a comment

Your comment will be revised by the site if needed.