PowerShell을 사용한 건물 자동화는 처음에는 압도적으로 보일 수 있지만, 모든 위대한 노력과 마찬가지로, 점진적으로 진행해야 합니다. PowerShell을 블록으로 구성된 컬렉션으로 상상해보세요. 모듈은 기능을 살아나게 하는 기반입니다.
이 기사에서는 PowerShell 모듈이 무엇인지, 어떻게 찾을 수 있는지, 그리고 어떻게 사용하여 자동화 작업을 강화하는지 알아볼 것입니다. 가상 머신을 관리하거나 클라우드 서비스에 연결하거나 Active Directory를 자동화하는 등, 모듈을 통해 모든 것이 가능해집니다.
PowerShell의 잠재력을 최대로 발휘하고 정확하게 작업에 대처하기 위해 계속 읽어보세요!
사용 가능한 PowerShell 모듈 찾기
PowerShell 모듈은 기능을 확장하는 필수적인 구성 요소입니다. 그러나 모든 모듈이 자동으로 세션에 로드되는 것은 아닙니다. 시스템에 설치된 모듈은 종종 발견되기를 기다리고 있습니다.
시스템에 설치된 모듈을 살펴보려면 Get-Module
명령어를 사용하세요:
Get-Module
모듈의 짧은 목록을 볼 수 있을 것입니다. 그 이유는 Get-Module
이 이미 세션에 가져온 모듈만 표시하기 때문입니다.
아직로드되지 않은 모듈을 포함하여 시스템에 있는 모든 사용 가능한 모듈을 보려면 -ListAvailable
매개변수를 추가하세요:
Get-Module -ListAvailable
이 명령어는 메모리에 로드되었든 아니든 시스템에 있는 모든 모듈을 나열합니다. PowerShell은 일반적으로 명령어를 사용하는 동안 모듈을 자동으로 가져오므로 일반적으로 수동으로 로드할 필요가 없습니다.
모듈은 스크립트, 바이너리 또는 매니페스트와 같은 다양한 유형일 수 있습니다.
더 쉽게 검토하기 위해 유형별로 모듈을 그룹화하려면 다음을 시도해보세요:
gmo -ListAvailable | group ModuleType
여기서는 편의를 위해 별칭을 사용합니다.
예를 들어, gmo
은 Get-Module
의 줄임말이며, group
은 Group-Object
의 별칭입니다. 별칭은 콘솔에서 명령을 실행할 때 시간을 절약합니다.
모듈 버전 및 명령 세부 정보 찾기
각 모듈은 기능 세트나 시간에 따른 변경을 나타내는 버전을 갖습니다. 버전 관리를 통해 업데이트를 관리하거나 필요한 경우 이전 버전으로 되돌릴 수 있습니다.
모듈에는 ExportedCommands
속성을 통해 접근할 수 있는 명령도 포함되어 있습니다.
Microsoft.PowerShell.Management
모듈의 명령을 확인하려면 다음을 실행하세요:
gmo Microsoft.PowerShell.Management | Select-ExpandProperty ExportedCommands
이 명령은 모듈에서 사용 가능한 명령 목록을 표시합니다.
모듈 디렉토리 찾기
PowerShell에서 모듈은 마법처럼 작동하지 않습니다—시스템의 특정 디렉토리에 존재하며, PowerShell은 그들을 찾을 위치를 알아야 합니다.
사용 가능한 PowerShell 모듈의 위치를 표시하려면:
gmo -list
일반적인 위치는 다음과 같습니다:
- C:\Program Files\PowerShell\7\Modules
- C:\Program Files\WindowsPowerShell\Modules
- C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
PowerShell Core를 실행할 때라도 Windows PowerShell 디렉토리에서 모듈이 여전히 나타날 수 있습니다. PowerShell Core에서 이러한 모듈을 사용할 수 있기 때문입니다.
모듈은 호환성을 나타내는 PSEdition
속성에 따라 전용 카테고리를 갖습니다:
Core
– PowerShell Core용으로 제작됨.Desk
– Windows PowerShell용으로 설계되었습니다.Both
– 두 버전 모두와 호환됩니다.
PSModulePath
변수 관리
PowerShell은 모듈을 자동으로 시스템 전체에서 검색하지 않습니다. 대신 PSModulePath
환경 변수에서 정의된 특정 경로에 의존합니다. 모듈이 이러한 경로 중 하나에 없으면 PowerShell이 해당 모듈을 찾지 못합니다. 심지어 시스템/사용자가 다른 곳에 설치한 경우에도 그렇습니다.
PSModulePath
환경 변수를 보려면:
$env:PSModulePath
변수는 세미콜론으로 구분된 디렉토리 목록을 포함합니다.
가독성을 높이기 위해 배열로 분할합니다:
$env:PSModulePath -split ';'
PowerShell은 다음 위치에서 모듈을 검색합니다:
- 사용자 수준 디렉토리(예: 사용자 프로필의 문서 폴더).
- Program Files의 공유 디렉토리.
- 시스템 수준 디렉토리, 예를 들어 C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules.
사용자 지정 디렉토리도 검색 경로에 추가할 수 있습니다:
$env:PSModulePath + ';C:\MyNewModulePath' $env:PSModulePath
이 변경은 현재 세션에 적용되어 PowerShell을 지정된 경로에서 모듈을 찾도록 안내합니다.
결론
본 문서에서는 사용 가능한 모듈을 발견하고 버전을 보고 명령을 검사하며 저장 디렉토리를 찾는 방법을 살펴보았습니다. 또한 PowerShell이 모듈을 찾는 위치를 사용자 정의하는 데 PSModulePath
환경 변수를 활용하는 방법을 배웠습니다.
이러한 기본 기술들은 PowerShell의 전체 잠재력을 자동화 작업에 활용할 수 있도록 도와줍니다. 계속해서 이 지식을 실전으로 적용해보세요. 시스템에 이미 있는 모듈을 탐색하고 현재 필요한 모듈을 식별하는 것부터 시작해보세요.
모듈에 대한 심층적인 이해를 갖게 되면, 복잡한 자동화 과제에 자신있고 효율적으로 대응할 수 있을 것입니다!
Source:
https://adamtheautomator.com/powershell-modules-guide/