초보자를 위한 Powershell 자습서: Powershell 스크립팅 알아보기

파워쉘을 배워보자 Less온. 먼저, 우리는 다음을 배울 것입니다:

PowerShell이란 무엇입니까?

Windows PowerShell을 객체지향 자동화 엔진이자 스크립팅 언어입니다. 주로 IT 전문가와 시스템 관리자가 관리를 제어하고 자동화하도록 설계되었습니다. Windows OS 및 기타 응용 프로그램. 획득한 지식과 내부에서 만든 스크립트를 확장하기 위한 매력적인 새로운 개념을 제공합니다. Windows 명령 프롬프트 및 Windows 스크립트 호스트 환경.

스크립팅의 유연성, 명령줄 속도, GUI 기반 관리 도구의 힘을 결합합니다. 시스템 관리자가 미래의 수동 노동 시간을 없애도록 도와 문제를 효율적으로 해결할 수 있습니다. PowerShell을 배우기 위해 알아야 할 모든 중요한 측면을 살펴보겠습니다.

이것은 Powershell 스크립팅 기본 사항에 대한 완전한 가이드입니다. 시작해 보세요!

Powershell을 사용하는 이유는 무엇입니까?

Powershell을 사용하는 몇 가지 중요한 이유는 다음과 같습니다.

  • Powershell은 운영 체제에 대한 잘 통합된 명령줄 환경을 제공합니다.
  • PowerShell을 사용하면 .NET 프레임워크의 모든 유형에 대한 완전한 액세스가 가능합니다.
  • 시스템 관리자의 신뢰를 받습니다.
  • PowerShell은 서버 및 워크스테이션 구성 요소를 조작하는 간단한 방법입니다.
  • 보다 쉬운 구문을 만들어 시스템 관리자를 대상으로 합니다.
  • PowerShell은 실행하는 것보다 더 안전합니다. Vbscript 또는 다른 스크립팅 언어

파워셸 기록

PowerShell 첫 번째 버전 1.0은 2006년에 출시되었습니다. 현재 PowerShell 버전은 7.2입니다. 연도와 버전이 지남에 따라 PowerShell의 기능과 호스팅 환경이 크게 성장했습니다.

Powershell의 버전별 역사를 살펴보겠습니다.

  • PowerShell 버전 1은 다음의 로컬 관리를 지원했습니다. Windows 서버 2003
  • PowerShell 2.0은 다음과 통합되었습니다. Windows 7 및 Windows 서버 2008 R2. 이 버전은 원격을 지원하고 트랜잭션, 백그라운드 작업, 이벤트, 디버깅 등과 같은 PowerShell 기능을 향상시킵니다.
  • PowerShell 3.0이 내부 부분으로 출시되었습니다. Windows 관리 프레임워크. 에 설치되었습니다. Windows 8 및 Windows Server 2012. 작업, 세션 연결, 자동 모듈 로딩 등을 추가하고 예약할 수 있습니다.
  • PowerShell 4.0은 다음과 함께 제공되었습니다. Windows 8.1 및 Windows 서버 2012 R2. 이 버전에는 원하는 상태 구성, 향상된 디버깅, 네트워크 진단에 대한 지원이 추가되었습니다.
  • PowerShell 5.0은 내부 부분으로 출시되었습니다. Windows 관리 프레임워크 5. 이 버전에서 제공하는 기능은 원격 디버깅, 클래스 정의, .NET 열거 등입니다.
  • PowerShell 7.2가 출시되었습니다. .NET 6.0 기반으로 구축되었습니다. 이 버전은 새로운 연산자, 간소화되고 동적인 오류 보기, 자동 새 버전 알림 등을 제공합니다.

다음으로 Powershell 스크립팅 튜토리얼에서는 Powershell의 기능에 대해 알아봅니다.

파워셸의 특징

  • PowerShell Remoting: PowerShell을 사용하면 원격 컴퓨터에서 스크립트와 cmdlet을 호출할 수 있습니다.
  • 백그라운드 작업: 스크립트나 파이프라인을 비동기적으로 호출하는 데 도움이 됩니다. 로컬 머신이나 여러 원격 운영 머신에서 작업을 실행할 수 있습니다.
  • 거래 내역: cmdlet을 활성화하고 개발자가 수행할 수 있도록 허용합니다.
  • 저녁: 이 명령은 관리 및 시스템 이벤트를 수신하고, 전달하고, 조치를 취하는 데 도움이 됩니다.
  • 네트워크 파일 전송: PowerShell은 BITS(Background Intelligent Transfer Service) 기술을 사용하여 머신 간에 우선 순위가 지정되고 비동기적이며 제한적인 파일 전송에 대한 기본 지원을 제공합니다.

PowerShell을 시작하는 방법

이제 이 Powershell 스크립트 튜토리얼에서는 Powershell을 시작하는 방법을 배웁니다. Windows OS.

PowerShell은 모든 최신 버전에 사전 설치되어 있습니다. Windows. 주어진 단계를 수행하려면 PowerShell을 시작해야 합니다.

단계 1) PowerShell을 검색하세요. Windows. 선택하고 클릭하세요

파워쉘 시작

단계 2) Power Shell 창이 열립니다.

파워쉘 시작

PowerShell cmdlet

Command let is a라고도 불리는 cmdlet은 Windows 기반 PowerShell 환경에서 사용되는 경량 명령입니다. PowerShell은 명령 프롬프트에서 이러한 cmdlet을 호출합니다. PowerShell APIS를 사용하여 cmdlet 명령을 만들고 호출할 수 있습니다.

cmdlet과 명령

Cmdlet은 다음과 같은 면에서 다른 명령 셸 환경의 명령과 다릅니다.

  • cmdlet은 . NET 프레임 워크 클래스 객체 별도로 실행할 수 없습니다.
  • cmdlet은 수십 줄의 코드로 구성할 수 있습니다.
  • 구문 분석, 출력 형식 지정 및 오류 표시는 cmdlet에서 처리되지 않습니다.
  • Cmdlet 프로세스는 개체에서 작동합니다. 따라서 텍스트 스트림과 개체를 파이프라인의 출력으로 전달할 수 없습니다.
  • Cmdlet은 레코드 기반이므로 한 번에 단일 개체를 처리합니다.

대부분의 PowerShell 기능은 항상 복수형이 아닌 동사-명사 형식인 Cmdlet에서 제공됩니다. 게다가 Cmdlet의 반환 개체는 텍스트가 아닙니다. cmdlet은 두 줄 이상으로 구성된 일련의 명령으로, 확장명이 .ps1인 텍스트 파일에 저장됩니다.

cmdlet은 항상 하이픈으로 구분된 동사와 명사로 구성됩니다. PowerShell을 배우기 위해 사용되는 동사 중 일부는 다음과 같습니다.

  • 돈을 받아가세요 — 뭔가를 얻기 위해
  • 스타트 — 뭔가를 실행하려면
  • 아웃 — 무언가를 출력하려면
  • 중지 — 실행 중인 작업을 중지하려면
  • 세트 — 무언가를 정의하기 위해
  • 신제품 — 뭔가를 창조하다

PowerShell 명령

다음은 중요한 PowerShell 명령 목록입니다.

도움말 얻기: PowerShell 명령 및 항목에 대한 도움말

예: Format-Table 명령에 대한 도움말 정보 표시

Get-Help Format-Table

cmdlet과 명령

Get-명령: 호출할 수 있는 모든 것에 대한 정보 얻기

Powershell 스크립트 예: cmdlet 목록을 생성하려면 컴퓨터에 설치된 기능

Get-Command

cmdlet과 명령

서비스 받기: 'service'라는 단어가 포함된 모든 cmdlet을 찾습니다.

예: "vm"으로 시작하는 모든 서비스 가져오기

Get-Service "vm*"

cmdlet과 명령

Get-멤버: 객체로 무엇을 할 수 있는지 보여주기

예: vm 프로세스의 구성원을 가져옵니다.

Get-Service "vm*" | Get-Member

cmdlet과 명령

기타 명령:

  • 모듈 가져오기 명령 패키지를 표시합니다.
  • 콘텐츠 가져오기 이 cmdlet은 파일을 가져와 해당 내용을 처리하고 해당 파일로 작업을 수행할 수 있습니다.
  • Get- get 'get-'라는 단어로 시작하는 모든 cmdlet을 찾습니다.

예: 폴더 생성

New-Item -Path 'X:\Guru99' -ItemType Directory

출력:

cmdlet과 명령

Powershell 데이터 유형

Powershell 데이터 유형
Powershell 데이터 유형

특수 변수

특수변수 상품 설명
$오류 가장 최근의 오류를 표시하는 오류 객체의 배열
$호스트 현재 호스팅 애플리케이션의 이름을 표시합니다.
$Profile 기본 셸에 대한 사용자 프로필의 전체 경로를 저장합니다.
$PID 프로세스 식별자를 저장합니다.
$PSUICulture 현재 UI 문화권의 이름을 보유합니다.
$NULL 비어 있거나 NULL 값이 포함되어 있습니다.
$False FALSE 값을 포함합니다.
$True TRUE 값을 포함합니다.

PowerShell 스크립트

Powershell 스크립트는 .ps1 파일에 저장됩니다. 기본적으로 파일을 두 번 클릭하는 것만으로는 스크립트를 실행할 수 없습니다. 이렇게 하면 시스템이 우발적인 피해로부터 보호됩니다. 스크립트를 실행하려면:

1단계: 마우스 오른쪽 버튼을 클릭하고 “PowerShell로 실행”을 클릭하세요.

PowerShell 스크립트

또한 스크립트 실행을 제한하는 정책도 있습니다. Get-ExecutionPolicy 명령을 실행하여 이 정책을 볼 수 있습니다.

다음 출력 중 하나가 표시됩니다.

  • 한정된— 스크립트는 허용되지 않습니다. 이는 기본 설정이므로 명령을 실행할 때 처음 표시됩니다.
  • 모두 서명 됨— 신뢰할 수 있는 개발자가 서명한 스크립트를 실행할 수 있습니다. 이 설정을 사용하면 스크립트는 실행하기 전에 실행할지 확인하는 메시지를 표시합니다.
  • RemoteSigned— 신뢰할 수 있는 개발자가 서명한 스크립트를 실행할 수 있습니다.
  • 제한 없음— 실행하려는 스크립트를 실행할 수 있습니다.

실행 정책 변경 단계

단계 1) 관리자 권한 PowerShell 프롬프트를 엽니다. PowerShell을 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행"을 클릭합니다.

PowerShell 스크립트

단계 2) 다음 명령을 입력하세요

  1. 은 Get-ExecutionPolicy
  2. Set-executionpolicy 무제한
  3. 프롬프트에 Y를 입력하세요.
  4. 은 Get-ExecutionPolicy

PowerShell 스크립트

첫 번째 PowerShell 스크립트

메모장에 다음 명령을 작성하세요.

Write-Host "Hello, Guru99!"

PowerShell 스크립트의 확장자는 ps1입니다. 파일을 FirstScript.ps1로 저장합니다.

첫 번째 PowerShell 스크립트

Powershell에서 다음 명령을 사용하여 스크립트를 호출합니다.

& "X:\FirstScript.ps1"

첫 번째 PowerShell 스크립트

PowerShell ISE란 무엇입니까?

The Windows PowerShell 통합 스크립팅 환경(ISE)은 기본 편집기입니다. Windows 파워셸. 이 ISE에서는 창 기반 GUI 환경에서 명령, 작성기 테스트 및 디버그 스크립트를 실행할 수 있습니다. 여러 줄 편집, 구문 색상 지정, 탭 완성, 선택적 실행 및 기타 다양한 작업을 수행할 수 있습니다.

Windows PowerShell ISE를 사용하면 콘솔 창에서 명령을 실행할 수도 있습니다. 그러나 스크립트의 소스 코드와 ISE에 플러그인할 수 있는 다른 도구를 동시에 볼 수 있는 창도 지원합니다.

여러 스크립트 창을 동시에 열 수도 있습니다. 이는 다른 스크립트나 모듈에 정의된 함수를 사용하는 스크립트를 디버깅할 때 특히 유용합니다.

파워쉘 ISE

파워쉘 ISE

메모장에서 생성한 것과 동일한 스크립트를 ISE에서도 생성할 수 있습니다.

  1. 편집기에 코드 붙여넣기
  2. 스크립트 저장
  3. F5를 사용하여 스크립트를 실행하세요.
  4. 콘솔에서 출력 관찰

파워쉘 ISE

샘플 2 :

다음 코드는 무료를 제공합니다. 가상 메모리 당신의 기계에서

Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost |
Select-Object -Property CSName,FreeVirtualMemory 

파워쉘 ISE

PowerShell을 Concepts

이제 초보자를 위한 Powershell 튜토리얼에서 우리는 중요한 Powershell 개념에 대해 배울 것입니다:

cmdlet Cmdlet은 VB 또는 C#과 같은 .net 언어로 작성된 빌드 명령입니다. 이를 통해 개발자는 PowerShell 스냅인을 로드하고 작성하여 cmdlet 세트를 확장할 수 있습니다.
기능 함수는 PowerShell 언어로 작성된 명령입니다. 다른 IDE를 사용하지 않고도 개발이 가능합니다. 비주얼 스튜디오 그리고 개발자.
스크립트 스크립트는 확장자가 .ps1인 디스크의 텍스트 파일입니다.
어플리케이션 응용 프로그램은 기존의 Windows 프로그램입니다.
만약 cmdlet이 실행되지 않도록 지시하지만 cmdlet이 실행될 경우 어떤 일이 발생하는지 알려줍니다.
확인하기 명령을 실행하기 전에 메시지를 표시하도록 cmdlet에 지시합니다.
말 수가 많은 더 높은 수준의 세부정보를 제공합니다.
디버그 디버깅 정보를 제공하도록 cmdlet에 지시합니다.
오류 작업 오류가 발생하면 특정 작업을 수행하도록 cmdlet에 지시합니다. 허용되는 작업은 계속, 중지, 자동으로 계속 및 문의입니다.
오류변수 오류 정보를 보유하는 변수를 지정합니다.
아웃변수 출력 정보를 저장하기 위해 특정 변수를 사용하도록 cmdlet에 지시합니다.
아웃Buffer 파이프라인에서 다음 cmdlet을 호출하기 전에 특정 수의 개체를 보유하도록 cmdlet에 지시합니다.

PowerShell 스크립트 사용의 장점

  • PowerShell 스크립트는 정말 강력하며 더 적은 줄로 많은 작업을 수행할 수 있습니다.
  • 변수는 $ 형식으로 선언됩니다.
  • 변수는 명령, 개체 및 값의 출력을 저장하는 데 사용될 수 있습니다.
  • 변수의 "유형"을 지정할 필요가 없습니다.

PowerShell 대. 명령 프롬프트

PowerShell을 명령 프롬프트
PowerShell은 다음과 긴밀하게 통합됩니다. Windows OS. 대화형 명령줄 인터페이스와 스크립팅 언어를 제공합니다. 명령 프롬프트는 다음에서 제공하는 기본 명령줄 인터페이스입니다. Microsoft. 이는 Windows 환경의 모든 win32 개체와 상호 작용하고 대화할 수 있는 간단한 win32 응용 프로그램입니다. Windows 운영 체제.
PowerShell은 cmdlet이라는 것을 사용합니다. 런타임 환경이나 자동화 스크립트에서 호출할 수 있습니다. 명령 프롬프트에서는 이러한 기능을 제공하지 않습니다.
PowerShell은 이를 개체로 간주합니다. 따라서 출력은 파이프라인을 통해 다른 cmdlet에 입력으로 전달될 수 있습니다. 명령 프롬프트 또는 *nix 셸, cmdlet에서 생성된 출력은 단순한 텍스트 스트림이 아니라 개체 모음입니다.
PowerShell은 기능 및 내부 기능과 관련하여 매우 발전했습니다. 명령 프롬프트는 매우 기본적입니다.

파워셸의 응용

오늘날 PowerShell은 대규모 기업 네트워크에서 관리 작업과 노력을 용이하게 하기 때문에 IT 관리자에게 이상적인 선택이 되었습니다. 예를 들어, 400개가 넘는 서버가 있는 대규모 네트워크를 관리하고 있다고 가정해 보겠습니다. 이제 새로운 보안 솔루션을 구현하려고 합니다. 이 보안 솔루션은 해당 서버에서 실행해야 하는 특정 서비스에 따라 달라집니다.

각 서버에 로그인하여 해당 서비스가 설치되어 실행 중인지 확인할 수 있습니다. 그러나 직원이 이 비생산적인 프로세스에 많은 시간을 소비해야 하므로 인적 오류가 많이 발생합니다.

하지만 PowerShell을 사용하면 몇 분 안에 이 작업을 완료할 수 있습니다. 그 이유는 전체 작업이 서버에서 실행되는 서비스에 대한 정보를 수집하는 단일 스크립트로 수행되기 때문입니다.

요약

  • Windows PowerShell은 객체 지향 자동화 엔진이자 스크립팅 언어입니다.
  • Powershell은 운영 체제에 대한 잘 통합된 명령줄 환경을 제공합니다.
  • PowerShell 첫 번째 버전 1.0은 2006년에 출시되었습니다.
  • PowerShell을 사용하면 원격 컴퓨터에서 스크립트와 cmdlet을 호출할 수 있습니다.
  • PowerShell은 모든 최신 버전에 사전 설치되어 있습니다. Windows
  • cmdlet은 Window 기반 PowerShell 환경에서 사용되는 간단한 명령입니다.
  • Get, Start, Out, Stop, Set, New는 중요한 PowerShell 명령입니다.
  • Boolean, Byte, Chat, Decimal, Decimal, Long은 PowerShell의 중요한 데이터 유형입니다.
  • $오류. $Host, $Profile, $PID, $PSUICulture, $NULL은 PowerShell에서 사용되는 특수 변수입니다.
  • The Windows PowerShell 통합 스크립팅 환경(ISE)은 PowerShell의 기본 편집기입니다.
  • PowerShell은 다음과 긴밀하게 통합됩니다. Windows OS인 반면 명령 프롬프트는 다음에서 제공하는 기본 명령줄 인터페이스입니다. Microsoft
  • PowerShell은 대규모 기업 네트워크에서 관리 작업과 노력을 간소화하기 때문에 IT 관리자에게 이상적인 선택이 되었습니다.