개인 사용자 용 PowerShell 사용 – 초보자 가이드


마법사가되고 마법의 일을하기 위해 몇 마디 말을하는 사람은 누구입니까? 우리는 마법사가되는 방법을 보여줄 수는 없지만 약간의 컴퓨터 마술을하는 방법을 보여줄 수는 있습니다.

Windows 7이 설치된 Windows 컴퓨터가있는 경우 PowerShell이 ​​있습니다. 또한 Windows 7이 설치된 컴퓨터가있는 경우 보안을 위해 업데이트하십시오.

그러나이 기사는 Windows 사용자만을위한 것이 아닙니다. 최신 버전의 PowerShell은 무료이며 Mac 및 Linux 컴퓨터에 설치하여 사용할 수 있습니다.

현재 PowerShell에 대해 배우는 내용은 거의 모든 컴퓨터에서 사용할 수 있기 때문에 중요합니다. 누가 알아? 이 기술을 한 단계 끌어 올려 정보 기술 분야에서 경력을 쌓을 수 있습니다.

PowerShell이란 무엇입니까?

Microsoft의 첨단 기술은 " … 시스템 관리자를 위해 특별히 설계된 명령 줄 셸.”협박하는 소리. 하지만 그렇지 않습니다. 컴퓨터를 잘 관리하십니까? 예, 집안의 시스템 관리자입니다.

컴퓨터에 클릭 및 키 입력으로 수행 할 작업을 알려주십니까? 예, 명령 줄 셸을 컴퓨터에 무엇을해야하는지 알려주는 다른 창으로 생각하십시오. 이를 수행 할 수 있습니다.

In_content_1 all : [300x250] / dfp : [640x360]->

PowerShell은 프로그래밍 언어와 비슷하지만 대부분의 암호는 아닙니다. 실제로 일반 영어와 많이 비슷합니다. 마이크로 소프트는 프로그래머가 아닌 사람들이 선택할 수 있도록 노력했습니다.

Windows 운영 체제가 원하는 작업을 수행하도록 스크립트라고하는 몇 줄의 명령을 작성하는 방법입니다. 그런 다음 해당 줄을 파일에 저장하고 클릭으로 실행하거나 주기적으로 실행하도록 예약 할 수 있습니다.

PowerShell으로 무엇을 할 수 있습니까?

PowerShell은 작업을 자동화 할 수 있으므로 일상적인 작업을 반복적으로 수행하는 데 시간을 낭비하지 않아도됩니다. 전문 시스템 관리자의 경우 새 사용자 생성, 암호 생성, 세부 정보가 포함 된 전자 메일을 새 관리자에게 보낼 수 있습니다.

클릭 및 타이핑을 통해 수동으로 완료된 프로세스는 5 분에서 1 시간 이상 소요될 수 있습니다. 올바른 스크립트를 사용하면 시스템 관리자가 그 일부를 수행하지 않아도됩니다.

하지만 집에서 PowerShell로 수행 할 수있는 작업을 알고 싶을 것입니다. 반복해서 싫어하는 거의 모든 것. 필요하지 않은 임시 파일과 로그 파일을 삭제하여 하드 드라이브의 공간을 확보하십시오.

아이의 컴퓨터에 통금 시간을 정하십시오. 여러 파일의 이름을 바꾸거나 구성하십시오. 이것이 PowerShell의 아름다움입니다. 컴퓨터에서 수행 할 수있는 거의 모든 작업을 클릭하거나 일정에 따라 자동화하고 실행할 PowerShell 스크립트를 만들 수 있습니다.

PowerShell을 사용하는 방법

Powershell을 사용하는 가장 쉬운 방법은 PowerShell 통합 스크립팅 환경 (ISE)입니다. Windows 10의 검색 창에 시작을 클릭하고 powershell ise를 입력하면 찾을 수 있습니다. 아래와 같이 표시됩니다.

처음으로 사용하기 위해 관리자로 실행합니다. 이렇게하려면 먼저 컴퓨터에 대한 관리자 권한이 있어야합니다. 시작 메뉴에서 PowerShell ISE를 마우스 오른쪽 버튼으로 클릭 한 다음 관리자 권한으로 실행을 클릭합니다.

사용자 액세스 제어(UAC) 경고 팝업을 표시하여 원하는지 묻는 메시지가 표시됩니다. 를 클릭합니다.

이제 PowerShell IDE를보고 있습니다. (1)창의 상단 창은 스크립팅 창입니다. 여기에서 스크립트를 작성합니다. (2)창의 아래쪽 창은 콘솔 영역입니다. 스크립트를 테스트 할 때이 창에 결과가 표시됩니다.

여기에도 스크립트를 수정하고 개선하는 데 도움이되는 오류 메시지가 표시됩니다. (3)창의 오른쪽에있는 창은 명령 애드온입니다. 사용 가능한 모든 PowerShell 명령의 사전으로 생각하십시오.

PowerShell은 Windows의 일부 스크립트 이외의 스크립트를 실행하지 않도록 설정되어 있습니다. 자신 만의 스크립트를 실행할 수 있도록 변경해야합니다.

스크립트 창에서 다음을 복사하여 붙여 넣습니다.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Set-ExecutionPolicy의 일부를 cmdlet (명령어 발음)이라고합니다. Cmdlet은 강력한 것입니다. 그것들을 Windows에 제공 할 수있는 짧은 명령으로 생각하면 Windows는 명령을 만족시키기 위해 더 복잡한 작업을 수행합니다.

비유는 아이에게 방을 청소하라고 말하고 있습니다. 짧고 요점. 아이가 방 청소에 정통한 경우, 가서 침대를 만들고, 바구니에 세탁물을 넣고, 장난감과 책을 보관하고, 바닥을 진공 청소기로 청소할 수도 있습니다. 그들은 Clean-YourRoom cmdlet이 모든 것을 의미한다는 것을 알고 있습니다.

창 상단에 녹색 화살촉이 표시됩니다. 클릭하면 명령이 실행됩니다.

- ExecutionPolicy부분은 Set-ExecutionPolicy에 설정할 정책을 알려줍니다. 매개 변수입니다. “이러한 지침을 따르고 구체적으로 수행하기를 바랍니다. RemoteSigned의 특정 정책을 사용하도록 지시합니다.

원격 서명정책에 따르면 신뢰할 수있는 게시자가 서명하지 않으면 PowerShell에서 인터넷에서 다운로드 한 스크립트를 실행하거나 실행할 수 없습니다.

라운드 방식으로 로컬에서 생성 된 스크립트는 원격으로 신뢰할 수있는 게시자가 서명 할 필요가 없으므로 로컬로 만든 스크립트를 실행하는 것이 좋습니다. 이제 PowerShell 스크립트는 컴퓨터에서 작성한 모든 스크립트를 실행할 수 있습니다.

임시 파일을 삭제하는 스크립트를 살펴 보겠습니다. CCleaner만큼 강력하거나 철저하지는 않지만 CCleaner에는 자체 문제 세트가 있습니다.

Powershell을 사용하여 하드 드라이브에 공간 만들기

이 스크립트는 한 줄씩 표시되므로 작동 방식을 확인할 수 있습니다. 마지막에 스크립트가 완전히 표시되므로 원하는 경우 복사하여 붙여 넣을 수 있습니다.

$TempFileLocation = "C:\Users\username\Appdata\Local\Temp\*"

달러 기호가 앞에있는 것은 변수 이름입니다. . 가치있는 물건을 넣는 지갑이라고 생각하십시오. 지갑은 달러 기호를 생각 나게하며 귀중품은 변수처럼 들리므로 우리도 그 사실을 기억할 것입니다. $ TempFileLocation이라는 이름의 지갑 또는 변수를 만들고 있습니다. 등호는 PowerShell에 해당 변수에 무엇을 넣을지를 나타냅니다.

이 경우 Windows의 임시 파일 위치 (C : \ Users \ username \ AppData \)에 넣습니다. 로컬 \ 임시 \ *. 우리는 두 가지 이유로 이것을하고 있습니다; 파일을 삭제하기에 항상 안전한 위치이며 파일을 삭제해야 할 위치를 PowerShell에 알리기 위해 파일을 사용할 것입니다.

해당 위치에 사용자 이름이 표시되어 있으면 사용자를 위해 바꾸십시오. 이름. 컴퓨터에 로그인 할 때 사용하는 사용자 이름입니다. 끝에있는 별표 (*)는 와일드 카드입니다. Temp 폴더에있는 모든 것이 임시적이고 삭제하기를 원하기 때문에 Temp 폴더에있는 모든 것이 나타납니다.

위치 주변의 큰 따옴표도 중요합니다. PowerShell에 내용에 문자열이 있음을 알립니다. 문자열을 문자와 문자의 문자열로 생각하십시오. 평범한 숫자라면 따옴표를 사용하지 않습니다.

$TempFile = Get-ChildItem $TempFileLocation -Recurse

다른 변수를 만들고 있습니다. 이번에는 $ TempFile변수에 넣을 명령을 사용할 것입니다.

Get-ChildItem 

또 다른 것 Get-ChildItem과 같은 cmdlet에 대한 알림은 완전히 읽을 수 있다는 것입니다. 첫 단어가 어떻게 동사인지 봅니까? Cmdlet은 모두 동작 단어로 시작하므로 수행중인 작업을 즉시 알 수 있습니다. ChildItem은 두 개의 명사입니다.

이 cmdlet의 두 번째 부분은 항상 PowerShell에서 작업을 적용 할 내용을 알려줍니다. ChildItem은 부모 위치의 모든 자식을 의미합니다. 이것은 폴더에있는 모든 파일을 가져 오는 것과 같습니다. 파일은 자식이고 폴더는 부모입니다.

Cmdlet의 자식 항목은 무엇입니까? 변수 $ TempFileLocation의 모든 것. PowerShell은 이전에 $ TempFileLocation에 넣은 위치로 이동하여 거기에있는 모든 하위 항목을 가져옵니다. 그런 다음 $ TempFile변수에 넣습니다.

-재귀부분은 무엇입니까? Get-ChildItem에 해당 위치의 모든 항목을 거치라고 지시합니다. 부모 폴더 안에 파일을 바로 가져 가지 마십시오. 해당 폴더에 폴더가 있으면 모든 자식과 자식 등을 가져옵니다. 우리는 그것들을 모두 얻을 것입니다.

$TempFileCount = ($TempFile).count

예, $ TempFileCount라는 세 번째 변수를 만들고 해당 변수에 숫자를 넣습니다. 전화 번호는 어디에 있습니까? 글쎄, ($ TempFile) .count는 그 번호를 알려줄 것입니다. .count 부분이 $ TempFile에 방금 저장 한 모든 파일의 수를 계산한다는 것을 알았을 것입니다.

이러한 이유는 무엇입니까? 대부분 스크립트의 나머지 부분으로 얼마나 많은 쓸모없는 파일을 정리했는지 알고 있기 때문에 얼마나 효과적인지 알 수 있습니다.

if($TempFileCount -eq 0)

이제 설정 중입니다. 조건문을 작성합니다. 'if'인지 묻는 것을 알 수 있습니다. 만약에? 괄호 안의 내용이 true 또는 false 인 경우 대괄호는 중요하지만 그렇지 않으면 If는 무엇을 비교할지 모릅니다. 여기서 $ TempFileCount에 저장 한 숫자가 0인지 묻습니다.

-eq는 등식의 약어입니다. 일종의 비교 연산자입니다. 아이들에게“객실이 깨끗하고 훌륭하다면 뭔가를 할 것입니다…”라고 말하는 것과 같습니다.이 진술은 $ TempFileCount에 저장된 숫자가 0과 같다면 다음 단계를 수행합니다.

{Write-Host "There are no files in the folder $TempFileLocation" -ForegroundColor Green}

$ TempFileCount가 0 인 경우에 발생합니다. 중괄호가 중요합니다. $ TempFileCount가 0 인 경우 PowerShell에서 내부 작업 만 수행하도록 PowerShell에 지시합니다.

호스트에 쓰거나 "C : \ Users \ username \ Appdata \ Local \ Temp \ * 폴더에 파일이 없습니다"라는 화면이 나타납니다. 끝에있는 매개 변수 – ForegroundColor는 PowerShell에 텍스트를 녹색으로 표시합니다. 그러면 보통 빨간색 인 오류 메시지와 쉽게 구별 할 수 있습니다.

Else

다른 의미를 알고 있습니다. 이것은 자녀가 방을 청소했는지 확인하는 것의“방이 더 좋을 것입니다…”입니다. $ TempFileCount가 0이 아닌 경우 어떻게됩니까?

{$TempFile | Remove-Item -WhatIf -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue}

$ TempFile에 저장된 현재 위치로 이동합니다>. 그 후의 수직선을 파이프라고합니다. PowerShell이 ​​$ TempFile의 내용을 마치 세탁기에 파이프로 연결되는 것처럼 cmdlet에 퍼널 링하도록 지시하기 때문에 실제 파이프와 같은 기능을합니다. 그런 다음 cmdlet Remove-Item이 말하는 것을 수행합니다. 해당 위치에있는 모든 것을 제거합니다.

이 단계에서는 -WhatIf매개 변수가 매우 중요합니다. PowerShell에 명령을 실행하도록 지시하지만 시도하지 말고 아무것도 제거하지 마십시오. 우리가 실제로 그렇게한다면 어떻게 될지 보여주세요

컴퓨터에서 아무 것도 변경하지 않고 명령을 테스트 할 수 있습니다. 스크립트가 원하는 작업을 수행하고 다른 작업을 수행 할 수있을 때까지 -WhatIf를 그대로 두십시오. 그런 다음 삭제하면 스크립트가 작업을 수행합니다.

-Confirm : $ false매개 변수는 실제로 파일을 삭제할 것인지 묻는 스크립트를 중지합니다. -재귀의 기능을 알고 있습니다. -강제는 해당 항목을 삭제해도 상관 없습니다. -WarningActionSilentlyContinue로 설정되어 있습니다.

이러면 스크립트가 삭제 대상에 대한 경고를 표시하지 않습니다. -ErrorActionSilentlyContinue로 설정되어 프로세스에 오류가 발생하면 계속해서 chu 거립니다.

이제

Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green}

Write-Host가 처음했던 것처럼 다음과 같은 문장을 출력 할 것입니다. . 방금 처리 한 폴더에서 삭제 된 파일 수를 알려주고 쉽게 알아볼 수 있도록 녹색으로 표시합니다.

스크립트를 완전히 살펴 보겠습니다.

$TempFileLocation = "C:\Users\guymcd\Appdata\Local\Temp\*"
$TempFile = Get-ChildItem $TempFileLocation -Recurse
$TempFileCount = ($TempFile).count

if($TempFileCount -eq "0") {
Write-Host "There are no files in the folder $TempFileLocation" - ForegroundColor Green
}
Else {
$TempFile | Remove-Item -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green
}

이를 복사하여 PowerShell ISE에 붙여넣고 delete-TemporaryFiles.ps1과 같은 형식으로 저장할 수 있습니다. 이제 이해하기 쉬운 cmdlet 명명 규칙을 고수 할 수도 있습니다.

어떤 이유로 든 코드가 작동하지 않으면 Google에서 만든 PowerShell 스크립트를 다운로드하십시오. 그냥하세요 스크립트 파일을 보려면 먼저 압축을 풉니 다.

이 스크립트를 실행할 때마다 마우스 오른쪽 버튼을 클릭하고 PowerShell으로 실행을 선택하십시오. PowerShell 콘솔은 1-2 초 동안 팝업되고 스크립트는 자동으로 작동하지만 오류가 없으면 사라집니다.

어떻게 PowerShell을 더 배울 수 있습니까?

많은 것 같습니다! 첫 번째 PowerShell 스크립트의 경우 상당히 좋습니다. 지금까지 해본 적이 있다면 박수를 보내십시오. 오늘 많은 것을 배웠지 만 이제 더 많은 것을 배우고 싶습니다. 대단해!

인터넷에 PowerShell에 대해 더 많이 배울 수있는 많은 리소스가 있습니다. 시작하기에 좋은 곳은 "명령 줄 또는 PowerShell을 통해 시작 프로그램 목록 생성 "입니다. 그런 다음 다른 리소스를 확인하십시오.

  • Microsoft PowerShell 시작하기 – Microsoft Virtual Academy
  • PowerShell 자습서 – TutorialsPoint.com
  • Windows 10에서 타임라인으로 활동을 관리하는 방법

    관련 게시물:


    14.03.2019