Windows PowerShell 객체 지향 자동화 엔진 및 스크립팅 언어입니다. 주로 IT 전문가와 시스템 관리자가 Windows OS 및 기타 응용 프로그램의 관리를 제어 및 자동화하도록 설계되었습니다. Windows 명령 프롬프트 및 Windows 스크립트 호스트 환경에서 얻은 지식과 스크립트를 확장할 수 있는 매력적인 새 개념을 제공합니다.
스크립팅의 유연성, 명령줄 속도 및 GUI 기반 관리 도구의 기능을 결합합니다. 시스템 관리자가 미래의 수동 노동 시간을 없애도록 도와줌으로써 문제를 효율적으로 해결할 수 있습니다. PowerShell을 배우기 위해 알아야 할 모든 중요한 측면을 살펴보겠습니다.
초보자를 위한 이 Powershell 자습서에서는 다음과 같은 Powershell 기본 사항을 배웁니다.
PowerShell이란 무엇입니까?
Powershell을 사용하는 이유
PowerShell 기록
Powershell의 기능
PowerShell 실행 방법
PowerShell cmdlet
Cmdlet 대 명령:
Powershell 데이터 유형:
특수 변수
PowerShell 스크립트
첫 번째 PowerShell 스크립트
PowerShell ISE란 무엇입니까?
PowerShell 개념
PowerShell 대 명령 프롬프트
Powershell의 응용 프로그램
이것은 Powershell 스크립팅 기본 사항에 대한 완전한 가이드입니다... 시작하겠습니다!
Powershell을 사용하는 이유
다음은 Powershell을 사용하는 몇 가지 중요한 이유입니다.
Powershell은 운영 체제에 대해 잘 통합된 명령줄 환경을 제공합니다.
PowerShell은 .NET 프레임워크의 모든 유형에 대한 완전한 액세스를 허용합니다.
시스템 관리자가 신뢰합니다.
PowerShell은 서버 및 워크스테이션 구성 요소를 조작하는 간단한 방법입니다.
더 쉬운 구문을 만들어 시스템 관리자를 대상으로 합니다.
PowerShell은 VBScript 또는 기타 스크립팅 언어를 실행하는 것보다 더 안전합니다.
PowerShell 기록
PowerShell 첫 번째 버전 1.0은 2006년에 릴리스되었습니다. 현재 PowerShell은 버전 7.2입니다. 연도와 버전이 지남에 따라 PowerShell의 기능과 호스팅 환경이 크게 성장했습니다.
Powershell의 버전별 역사 보기:
PowerShell 버전 1은 Windows Server 2003의 로컬 관리를 지원했습니다.
PowerShell 2.0은 Windows 7 및 Windows Server 2008 R2와 통합되었습니다. 이 버전은 원격을 지원하고 트랜잭션, 백그라운드 작업, 이벤트, 디버깅 등과 같은 PowerShell 기능을 향상시킵니다.
PowerShell 3.0은 Windows 관리 프레임워크의 내부 부분으로 출시되었습니다. Windows 8 및 Windows Server 2012에 설치되었습니다. 작업, 세션 연결, 자동 모듈 로드 등을 추가하고 예약할 수 있습니다.
PowerShell 4.0은 Windows 8.1 및 Windows Server 2012 R2와 함께 제공되었습니다. 이 버전에서는 원하는 상태 구성, 향상된 디버깅, 네트워크 진단에 대한 지원이 추가되었습니다.
PowerShell 5.0은 Windows 관리 프레임워크 5의 내부 일부로 출시되었습니다. 이 버전에서 제공하는 기능은 원격 디버깅, 클래스 정의, .NET 열거 등입니다.
PowerShell 7.2가 출시되었습니다. .NET 6.0을 기반으로 구축되었습니다. 이 버전은 새로운 연산자, 간소화된 동적 오류 보기, 자동 새 버전 알림 등을 제공합니다.
다음 Powershell 스크립팅 자습서에서는 Powershell의 기능에 대해 알아보겠습니다.
Powershell의 기능
PowerShell 원격 :PowerShell을 사용하면 원격 컴퓨터에서 스크립트와 cmdlet을 호출할 수 있습니다.
백그라운드 작업 :스크립트나 파이프라인을 비동기적으로 호출하도록 도와줍니다. 로컬 컴퓨터 또는 원격으로 작동되는 여러 컴퓨터에서 작업을 실행할 수 있습니다.
거래 :cmdlet을 활성화하고 개발자가 수행할 수 있도록 합니다.
저녁: 이 명령은 관리 및 시스템 이벤트를 수신, 전달 및 처리하는 데 도움이 됩니다.
네트워크 파일 전송: Powershell은 BITS(Background Intelligent Transfer Service) 기술을 사용하여 컴퓨터 간에 우선 순위가 지정된 비동기식 파일 전송을 기본적으로 지원합니다.
PowerShell 실행 방법
이제 이 Powershell 스크립트 자습서에서는 Windows OS에서 Powershell을 시작하는 방법을 배웁니다.
PowerShell은 모든 최신 버전의 Windows에 사전 설치되어 있습니다. 주어진 단계를 따라야 하는 PowerShell을 시작해야 합니다.
1단계) Windows에서 PowerShell을 검색합니다. 선택 및 클릭
2단계) 파워 셸 창 열기
PowerShell cmdlet
Command let이라고도 하는 cmdlet은 Windows 기반 PowerShell 환경에서 사용되는 간단한 명령입니다. PowerShell은 명령 프롬프트에서 이러한 cmdlet을 호출합니다. PowerShell API를 사용하여 cmdlet 명령을 만들고 호출할 수 있습니다.
Cmdlet 대 명령:
cmdlet은 다음과 같은 방식으로 다른 명령 셸 환경의 명령과 다릅니다. ?
Cmdlet은 .NET Framework 클래스 개체입니다. 별도로 실행할 수 없습니다.
Cmdlet은 수십 줄의 코드로 구성할 수 있습니다.
파싱, 출력 형식 지정 및 오류 표시는 cmdlet에서 처리되지 않습니다.
Cmdlet 프로세스는 개체에서 작동합니다. 따라서 텍스트 스트림 및 개체는 파이프라이닝을 위한 출력으로 전달할 수 없습니다.
Cmdlet은 레코드 기반이므로 한 번에 단일 개체를 처리합니다.
대부분의 PowerShell 기능은 항상 복수형이 아닌 동사-명사 형식인 Cmdlet에서 제공됩니다. 게다가 Cmdlet의 반환 객체는 텍스트가 아닙니다. cmdlet은 확장자가 .ps1인 텍스트 파일에 저장되는 두 줄 이상의 일련의 명령입니다.
cmdlet은 항상 하이픈으로 구분된 동사와 명사로 구성됩니다. PowerShell을 배우기 위해 사용하는 동사는 다음과 같습니다.
얻기 — 무언가를 얻으려면
시작 — 무언가를 실행하려면
아웃 — 무언가를 출력하려면
중지 — 실행 중인 것을 중지하려면
설정 — 무언가를 정의하기 위해
신규 — 무언가를 만들기 위해
PowerShell 명령
다음은 중요한 PowerShell 명령 목록입니다.
도움말 받기: PowerShell 명령 및 주제에 대한 도움말
예:Format-Table
명령에 대한 도움말 정보 표시
Get-Help Format-Table
명령 받기: 호출할 수 있는 모든 항목에 대한 정보 얻기
Powershell 스크립트 예:cmdlet 목록을 생성하려면 컴퓨터에 설치된 기능
Get-Command
서비스 받기: 'service'라는 단어가 포함된 모든 cmdlet을 찾습니다.
예:"vm"으로 시작하는 모든 서비스 가져오기
Get-Service "vm*"
회원가입: 개체로 수행할 수 있는 작업 표시
예:vm 프로세스의 구성원을 가져옵니다.
Get-Service "vm*" | Get-Member
기타 명령:
모듈 가져오기 명령 패키지 표시
콘텐츠 가져오기 이 cmdlet은 파일을 가져와 콘텐츠를 처리하고 작업을 수행할 수 있습니다.
Get- get 'get-
단어로 시작하는 모든 cmdlet을 찾습니다.
예:폴더 만들기
New-Item -Path 'X:\Guru99' -ItemType Directory
출력
Powershell 데이터 유형:
<중앙>
<그림>
Powershell 데이터 유형
그림>
특수 변수
특수 변수
설명
$Error가장 최근의 오류를 표시하는 오류 개체의 배열$Host현재 호스팅 응용 프로그램의 이름을 표시합니다.$Profile기본 셸에 대한 사용자 프로필의 전체 경로를 저장합니다.$PID프로세스 식별자를 저장합니다.$PSUICulture현재 UI 문화권의 이름을 저장합니다.$ NULL은 비어 있거나 NULL 값을 포함합니다.$FalseContains FALSE 값$TrueContains TRUE 값
PowerShell 스크립트
Powershell 스크립트는 .ps1 파일에 저장됩니다. 기본적으로 파일을 두 번 클릭하는 것만으로는 스크립트를 실행할 수 없습니다. 이것은 우발적인 손상으로부터 시스템을 보호합니다. 스크립트를 실행하려면:
1단계:마우스 오른쪽 버튼으로 클릭하고 "PowerShell로 실행"을 클릭합니다.
또한 스크립트 실행을 제한하는 정책이 있습니다. 이 정책은 Get-ExecutionPolicy 명령을 실행하여 확인할 수 있습니다.
다음 출력 중 하나가 표시됩니다.
제한됨 — 스크립트가 허용되지 않습니다. 이것은 기본 설정이므로 명령을 처음 실행할 때 표시됩니다.
모두 서명됨 — 신뢰할 수 있는 개발자가 서명한 스크립트를 실행할 수 있습니다. 이 설정의 도움으로 스크립트는 실행하기 전에 실행할 것인지 확인하는 메시지를 표시합니다.
PowerShell 스크립트의 확장자는 ps1입니다. 파일을 FirstScript.ps1로 저장
Powershell에서 명령을 사용하여 스크립트를 호출합니다.
& "X:\FirstScript.ps1"
PowerShell ISE란 무엇입니까?
Windows PowerShell ISE(통합 스크립팅 환경)는 Windows PowerShell의 기본 편집기입니다. 이 ISE에서는 창 기반 GUI 환경에서 명령, 작성기 테스트 및 디버그 스크립트를 실행할 수 있습니다. 여러 줄 편집, 구문 색상 지정, 탭 완성, 선택 실행 및 기타 많은 작업을 수행할 수 있습니다.
Windows PowerShell ISE를 사용하면 콘솔 창에서 명령을 실행할 수도 있습니다. 그러나 스크립트의 소스 코드와 ISE에 연결할 수 있는 기타 도구를 동시에 보는 데 사용할 수 있는 창도 지원합니다.
동시에 여러 스크립트 창을 열 수도 있습니다. 이것은 다른 스크립트나 모듈에 정의된 기능을 사용하는 스크립트를 디버깅할 때 특히 유용합니다.
이제 초보자를 위한 이 Powershell 튜토리얼에서 중요한 Powershell 개념에 대해 알아보겠습니다.
Cmdlet Cmdlet은 VB 또는 C#과 같은 .net 언어로 작성된 빌드 명령입니다. 이를 통해 개발자는 PowerShell 스냅인을 로드하고 작성하여 cmdlet 집합을 확장할 수 있습니다.기능 함수는 PowerShell 언어로 작성된 명령입니다. Visual Studio 및 devs와 같은 다른 IDE를 사용하지 않고 개발할 수 있습니다.스크립트 스크립트는 확장자가 .ps1인 디스크의 텍스트 파일입니다.응용 프로그램 애플리케이션은 기존 Windows 프로그램입니다.만약에 cmdlet이 실행되지 않도록 지시하지만 cmdlet이 실행되면 어떻게 되는지 알려줍니다.확인 명령을 실행하기 전에 cmdlet에 프롬프트를 표시하도록 지시합니다.상세 더 높은 수준의 세부정보를 제공합니다.디버그 cmdlet에 디버깅 정보를 제공하도록 지시합니다.ErrorAction 오류가 발생할 때 특정 작업을 수행하도록 cmdlet에 지시합니다. 허용된 작업은 계속, 중지, 자동으로 계속 진행하고 조회합니다.ErrorVariable 오류 정보를 담고 있는 변수를 지정합니다.OutVariable 특정 변수를 사용하여 출력 정보를 보관하도록 cmdlet에 지시합니다.OutBuffer 파이프라인에서 다음 cmdlet을 호출하기 전에 특정 수의 개체를 보유하도록 cmdlet에 지시합니다.
PowerShell 스크립트 사용의 장점
PowerShell 스크립트는 정말 강력하며 더 적은 줄로 많은 작업을 수행할 수 있습니다.
변수는 $
형식으로 선언됩니다.
변수는 명령, 개체 및 값의 출력을 유지하는 데 사용할 수 있습니다.
변수의 "유형"은 지정할 필요가 없습니다.
PowerShell 대 명령 프롬프트
파워쉘
명령 프롬프트
PowerShell은 Windows OS와 긴밀하게 통합됩니다. 대화형 명령줄 인터페이스와 스크립팅 언어를 제공합니다. 명령 프롬프트는 Microsoft에서 제공하는 기본 명령줄 인터페이스입니다. Windows 운영 체제의 모든 win32 개체와 상호 작용하고 대화할 수 있는 간단한 win32 응용 프로그램입니다.PowerShell은 cmdlet이라는 것을 사용합니다. 런타임 환경이나 자동화 스크립트에서 호출할 수 있습니다. 명령 프롬프트에서는 이러한 기능을 제공하지 않습니다. PowerShell은 이러한 기능을 개체로 간주합니다. 따라서 출력은 파이프라인을 통해 다른 cmdlet에 대한 입력으로 전달할 수 있습니다. 명령 프롬프트 또는 *nix 셸에서도 cmdlet에서 생성된 출력은 단순한 텍스트 스트림이 아니라 개체 모음입니다. PowerShell은 이와 관련하여 매우 고급입니다. 기능, 기능 및 내부 기능. 명령 프롬프트는 매우 기본적입니다.
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에서 사용되는 일부 특수 변수입니다.
Windows PowerShell ISE(통합 스크립팅 환경)는 PowerShell의 기본 편집기입니다.
PowerShell은 Windows OS와 긴밀하게 통합되는 반면 명령 프롬프트는 Microsoft에서 제공하는 기본 명령줄 인터페이스입니다.
PowerShell은 대규모 기업 네트워크에서 관리 작업과 노력을 용이하게 해주기 때문에 IT 관리자에게 이상적인 선택이 되었습니다.