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