PowerShell 학습을 시작하는 방법은 무엇입니까?

PowerShell 학습을 시작하는 방법은 무엇입니까?

“예, 저는 PowerShell에 다소 익숙합니다.”는 아마도 지난 몇 년 동안 기술 회의에서 가장 자주 사용된 진술 중 하나일 것입니다. 똑같이 과소평가되거나 과장될 수 있는 주장은 많지 않습니다.

이 말을 하는 사람들 중 일부는 PowerShell에 대해 꽤 알고 있음에도 불구하고 매우 겸손합니다. 다른 사람들은 PowerShell을 아는 것이 그것을 사용하는 방법을 아는 것과 같다고 생각하는 경향이 있습니다. 여전히 시스템 지원 및 엔지니어링 팀의 중요한 부분인 사용 방법을 모르는 사람들에게는 처음에 PowerShell을 어디서부터 시작해야 할지 생각하는 것이 상당히 어려울 수 있습니다. 당신은 수많은 기술 연설을 들었고, 기사 페이지를 읽었으며, 동료가 당신을 위해 할 수 있는 모든 일에 대해 많은 이야기를 나눴습니다. 당신은 성장하는 이 산을 바라보고 당신이 할 수 있는 모든 것은 정상에 집중하는 것뿐입니다. 정상에 도달하는 방법을 계획할 때 명백한 사실이 당신을 탈출합니다. 이 첫 번째 단계는 바로 산기슭에 있습니다.

PowerShell에 대해 아무것도 모를 수도 있지만 괜찮습니다.

이 문제를 해결해 보겠습니다. PowerShell을 몰라도 괜찮습니다. PowerShell에 대해 알면 괜찮지만 한 번도 사용해 본 적이 없다면 고백해도 괜찮습니다. 동료와의 토론에 동의하고 이력서에 PowerShell을 추가하여 우위를 점하는 것은 생각보다 훨씬 빨리 현실이 될 수 있습니다. 모든 사람은 자신만의 PowerShell 스토리를 가지고 있으며 IT 지원 및 엔지니어링의 세계로의 여정만큼 당신의 스토리가 독특할 것입니다. 올라가는 것 외에는 갈 곳이 없습니다!

Microsoft Docs 에 따르면 “PowerShell은 명령줄 셸, 스크립팅 언어 및 구성 관리 프레임워크로 구성된 크로스 플랫폼 작업 자동화 솔루션입니다. PowerShell은 Windows, Linux 및 macOS에서 작동합니다.” 이 게시물의 초점은 엄격하게 PowerShell의 셸 부분이며 이에 초점을 맞출 것입니다. PowerShell 셸에 대한 경험이 쌓일수록 다른 측면이 조금 더 명확해집니다.

Microsoft는 PowerShell을 개발했으며 Windows 데스크톱 운영 체제, Windows Server 운영 체제, Office 365 리소스 및 Azure 클라우드 리소스와 상호 운용되도록 PowerShell을 지속적으로 개선하고 있습니다. 이는 거의 모든 Microsoft 제품 세계에서 없어서는 안될 부분이 될 것입니다. PowerShell을 사용하면 파일, 폴더, 설정 및 구성과 같은 리소스의 대량 생성 및 수정을 가능하게 하여 엔지니어와 지원 직원이 자신의 책임을 보다 효율적으로 관리할 수 있습니다. “command”로 발음되는 cmdlet 동사 및 명사의 고유하고 사용자 친화적인 명명법으로 가장 잘 알려져 있습니다. cmdlet은 PowerShell에서 일부 작업을 수행하는 데 사용되는 실제 명령입니다. 일부 cmdlet은 있는 그대로 실행할 수 있습니다. 매개변수를 정의하지 않고 입력하고 Enter 키를 누르고 BOOM! 콘솔에 제공된 출력이 있습니다. Windows 환경에서 항상 충실한 명령 프롬프트에 익숙하다면 PowerShell이 ​​매우 편할 것입니다. 일반적으로 명령 프롬프트에서 실행하는 많은 명령을 PowerShell 콘솔에서도 실행할 수 있습니다. 어쨌든 다음에 일반적으로 명령줄을 사용할 때 시도하십시오. PowerShell 콘솔 내에서 동일한 작업을 수행하는 방법을 확인하십시오. 다음에 일반적으로 명령줄을 사용할 때 시도하십시오. PowerShell 콘솔 내에서 동일한 작업을 수행하는 방법을 확인하십시오. 다음에 일반적으로 명령줄을 사용할 때 시도하십시오. PowerShell 콘솔 내에서 동일한 작업을 수행하는 방법을 확인하십시오.

GUI의 베일 열기

대부분의 사람들은 소중한 GUI를 좋아합니다. 그들은 보고 싶다고 생각하는 모든 것을 볼 수 있으며 적용을 누른 다음 확인을 누르면 따뜻하고 흐릿한 느낌을 받습니다. 그들 중 일부는 가장자리에 살기를 좋아하고 적용을 전혀 누르지 않습니다! 결국 서버, 데스크톱 또는 Exchange 관리에 대해 점점 더 깊이 파고들면 20개의 다른 Active Directory 보안 그룹에 360명의 사용자를 추가해야 하는 변경이 필요할 때 끝없이 클릭하게 되는 자신을 발견하게 될 것입니다. 이 끔찍한 악몽에 대한 준비가 되셨습니까?

PowerShell이 ​​소중하고 사랑받는 GUI의 베일을 걷어내는 데 도움이 된다고 해도 과언이 아닙니다. PowerShell을 사용하면 AD 사용자를 여러 그룹으로 그룹화하고 여러 명령을 개발하여 GUI를 통해 모든 작업을 수행하는 데 걸리는 시간보다 훨씬 짧은 시간에 작업을 완료할 수 있습니다. 장점은 Microsoft가 이러한 작업에 PowerShell을 사용하기를 원한다는 것입니다. 많은 Microsoft의 핵심 인증 시험에서 PowerShell을 사용하는 데 초점을 맞추면서 더 이상 숙련된 관리자를 위한 것이 아니라 일상적인 지원 도구 키트에서 점점 더 필요한 것이 되고 있습니다. 충분한 정확도로 그래픽 인터페이스에서 볼 수 있는 모든 작업, 버튼, 옵션 또는 구성이

첫 번째 단계

Windows PC에서 이 글을 읽고 있다면 지금 바로 사용할 수 있는 몇 가지 cmdlet부터 시작하겠습니다. 대부분의 시스템 관리자와 엔지니어가 상호 작용하는 한 가지는 서비스 콘솔입니다. PowerShell 콘솔을 여는 경우 Get-Service입력하고 Enter 키를 누르면 설치된 서비스 목록이 표시됩니다. 로컬 시스템에 설치된 모든 서비스와 현재 실행 중 또는 중지됨 상태에 대한 간략한 개요를 볼 수 있습니다. 이 출력은 특정 응용 프로그램 서비스가 실행 중인지 여부를 확인하는 데 유용합니다.

전체 서비스 목록이 필요하지 않고 특정 서비스를 찾고 있을 수 있습니다. 인쇄 스풀러 서비스가 실행 중인지 확인하려는 경우를 가정해 보겠습니다. 다음과 같이 -ServiceName 매개변수를 사용하여 이름으로 호출할 수 있습니다.

Get-Service -ServiceName spooler

이 출력은 인쇄 스풀러 서비스 및 해당 상태의 단일 목록을 제공합니다. 서비스가 현재 실행 중이거나 중지되었으며 중지하거나 시작하려고 한다고 가정해 보겠습니다. 다음 입력을 사용하여 인쇄 스풀러 서비스를 중지/시작할 수 있습니다.

Start-Service -ServiceName spooler

Stop-Service -ServiceName 스풀러

기본적으로 이 줄은 명령이 전송될 때 서비스 상태를 표시하지 않습니다. Get-Service -ServiceName spooler현재 상태를 보려면 실행해야 합니다 .

다행히 PowerShell은 개체와 이름을 나열할 때 와일드카드에 매우 친숙합니다. 특정 서비스를 확인해야 하지만 “공식적으로” 무엇인지 잘 모르겠다고 가정해 보겠습니다. 첫 번째 단어가 제거되었다는 것만 알 수 있습니다. 간단 해:

Get-Service -ServiceName remote*

이 항목은 원격으로 시작하는 모든 서비스를 나열하며 검색 범위를 좁혀 찾고 있는 특정 서비스를 찾고 필요한 조치를 취할 수 있습니다. Restart-Service cmdlet도 있다는 것을 잊지 마십시오.

서비스에 대한 이 작은 지식을 한 단계 더 발전시켜 원격 시스템의 서비스를 확인해 보겠습니다. Windows 도메인 환경에 있고 관리하는 원격 컴퓨터에 대한 관리 액세스 권한이 있다고 가정해 보겠습니다. 앞에서 설명한 것과 동일한 cmdlet을 사용할 수 있지만 하나의 매개 변수와 값을 추가해야 합니다. PrintServer01이라는 원격 서버에서 인쇄 스풀러 서비스를 확인하려면:

Get-Service -ComputerName PrintServer01

이 출력은 이전에 수행한 로컬 시스템과 마찬가지로 원격 시스템에 설치된 모든 서비스를 나열합니다. 이 cmdlet은 RDP를 사용하여 원격 서버에 로그인하여 서비스를 테스트하거나 원격 서버를 로컬 MMC 스냅인에 추가하는 번거로움을 덜어줍니다. 이 능력 자체는 매우 빠르게 성과를 냅니다.

매개 변수 없이 바로 사용할 수 있는 또 다른 명령은 Get-NetIPAddress입니다. 이 cmdlet은 로컬 시스템의 모든 네트워크 어댑터 목록과 각 어댑터에 대한 많은 정보를 제공합니다. 이 출력에서 ​​GUI의 내부 작동을 볼 수 있습니다. 일반적으로 GUI에서 아이콘으로 볼 수 있는 항목에 대한 더 많은 정보를 볼 수 있습니다. 추가 정보 보기의 장점은 언제든지 PowerShell을 사용하여 추가 정보를 처리하고 검색할 수 있다는 것입니다. 예를 들어 특정 네트워크 어댑터를 변경하려는 경우 특정 값이 있는 어댑터만 검색하거나 필터링할 수 있습니다. 가능성은 무한합니다!

더 많은 정보를 얻을 수 있는 곳

이제 PowerShell이 ​​제공할 수 있는 최소한의 기능을 갖추었으므로 이전에 이야기한 산을 계속 등반하는 것은 귀하에게 달려 있습니다. 한 발을 다른 발 앞에 두는 것은 PowerShell 팁에 ​​대한 일부 리소스를 탐색하는 것만큼 쉽습니다. cmdlet에 대한 간단한 Google 검색은 좋은 시작입니다. Microsoft Docs에는 각 cmdlet에 대한 강력한 라이브러리가 있으며 이를 사용하는 방법에 대한 많은 예가 있습니다. PowerShell 자체는 설명과 예제의 좋은 소스입니다. 이 명령 Get-Help Get-Service은 위의 예에 대한 자세한 정보를 제공합니다.

경험 많은 PowerShell 사용자가 기억하는 리소스 중 하나는 Don Jones와 Jeffrey Hicks의 최고 평점 책입니다. 이러한 PowerShell의 거인들은 Mount PowerShell을 정복할 때 많은 사람들이 의지하는 어깨를 소유하고 있습니다. 이 책의 제목은 Learn Windows PowerShell in a Month of Lunch입니다. 이 읽기 쉬운 책은 PowerShell의 기본 사항을 한 입 크기로 안내하며 궁극적으로 PowerShell을 사용해야 하는 상황에 처했을 때 지속적으로 참조하게 될 리소스입니다.

PowerShell 커뮤니티는 또한 배울 수 있는 매우 개방적이고 유용한 장소입니다. r/PowerShell subredditPowerShell.org 에는 모든 기술 수준의 사람들로 구성된 매우 번창하는 커뮤니티가 있습니다. 이러한 리소스에서 항상 지침을 얻을 수 있습니다. 조치를 취하지 않으면 이 산을 오를 수 없습니다. 따라서 업무에 착수하여 PowerShell이 ​​때때로 두려운 일상적이고 평범한 작업을 어떻게 도울 수 있는지 확인하십시오. PowerShell에 대해 자세히 알아볼 시간을 갖기 위해 많은 작업량을 계획하고 자동화하는 데 열중하고 있을 수 있습니다!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다