Geek School PowerShell 확장 방법 알아보기
PowerShell은 셸을 확장하는 두 가지 방법을 제공합니다. 바이너리 전용이며 C #과 같은 완전한 프로그래밍 언어로 개발 된 스냅인을 사용할 수도 있고 스크립트 기반의 바이너리 모듈 일 수도있는 모듈을 사용할 수 있습니다.
시리즈의 이전 기사를 읽으십시오.
- PowerShell을 사용하여 Windows를 자동화하는 방법 배우기
- PowerShell에서 Cmdlet을 사용하는 방법 학습
- PowerShell에서 개체를 사용하는 방법 학습
- PowerShell에서 형식 지정, 필터링 및 비교 학습
- PowerShell에서 Remoting 사용 방법 배우기
- PowerShell을 사용하여 컴퓨터 정보 가져 오기
- PowerShell의 컬렉션 작업
그리고 일주일 내내 나머지 시리즈에 계속해서 관심을 가져주세요..
스냅인
스냅인은 작년에 그렇게합니다. 대부분의 스크립터는 개발자가 아니며 C #과 같은 언어로만 스냅인을 작성할 수 있기 때문에 모든 농담은 제쳐두고, PowerShell 커뮤니티에는 결코 포착되지 않습니다. 그럼에도 불구하고 Web Deploy와 같은 스냅인을 사용하는 제품이 아직 있습니다. 셸에서 사용할 수있는 스냅인을 보려면 다음 명령을 사용하십시오.
Get-PSSnapin - 등록됨
스냅인이 추가 한 명령을 사용하려면 먼저 세션에 명령을 가져와야합니다. 이렇게 할 수 있습니다.
Add-PSSnapin -Name WDeploySnapin3.0
이 시점에서 Web Deploy 스킨을 설치하지 않으면 오류가 발생합니다. 내가 설치 한 것처럼 설치하면 세션으로 가져옵니다. 스냅인에서 사용할 수있는 명령 목록을 얻으려면 Get-Command cmdlet을 사용하면됩니다.
Get-Command - 모듈 WDeploy *
참고 : 기술적으로 이는 모듈이 아니지만 어떤 이유로 모듈 매개 변수를 사용해야합니다..
모듈
모듈은 더 새롭고 앞으로의 길입니다. PowerShell을 사용하여 스크립팅 할 수도 있고 C #과 같은 언어로 코딩 할 수도 있습니다. 대부분의 내장 명령은 모듈로 구성되어 있습니다. 시스템의 모듈 목록을 보려면 다음 명령을 사용할 수 있습니다.
Get-Module -ListAvailable
제품이 업데이트되면 PowerShell의 해당 제품이 모듈로 마이그레이션됩니다. 예를 들어, SQL은 스냅인을 사용했지만, 이제는 모듈로 구성됩니다..
모듈을 사용하려면 먼저 모듈을 가져와야합니다..
가져 오기 모듈 - 이름 SQLASCMDLETS
모듈에서 쉘에 추가 한 모든 명령을 보려면 스냅인과 함께 사용했던 것과 동일한 트릭을 사용할 수 있습니다.
그렇다면 PowerShell은 시스템에있는 스냅인과 모듈을 어떻게 알 수 있습니까? 글쎄, 스냅인은 약간의 고통이며 설치되어야합니다. 설치 프로세스에는 PowerShell이 스냅인 정보를 찾는 몇 가지 레지스트리 항목을 만드는 작업이 포함됩니다. 반면에 모듈은 PSModulePath 환경 변수의 위치 중 하나에 배치하여 쉘에 등록 할 수 있습니다. 또는 모듈의 경로를 환경 변수에 추가하면됩니다..
($ env : PSModulePath) .Split ( ";")
그것은 변수의 내용을 뱉어 낼 것입니다. SQL과 같은 모듈이 설치되어있는 경우 SQL 모듈의 위치를 포함하도록 변수를 수정 한 방법.
모듈 자동 로딩
PowerShell 3은 몇 가지 이름으로 된 멋진 새로운 기능을 도입했습니다. 그들 중 누구도 공식적은 아니지만 "모듈 자동 로딩"이 이에 대한 가장 좋은 설명입니다. 기본적으로 Import-Module cmdlet을 사용하여 모듈을 명시 적으로 가져 오지 않고도 외부 모듈에 속한 cmdlet을 사용할 수 있습니다. 이를 확인하려면 먼저 다음 명령을 사용하여 쉘에서 모든 모듈을 제거하십시오.
Get-Module | 모듈 제거
그런 다음 다음을 사용하여 모듈이로드되지 않았는지 확인할 수 있습니다.
Get-Module
이제 핵심 라이브러리에없는 cmdlet을 사용하십시오. 테스트 - 연결은 좋은 방법입니다.
테스트 연결 로컬 호스트
로드 된 모듈을 다시 확인하면 실제로 모듈을로드 한 것을 볼 수 있습니다.
그게 오늘의 사람들을위한 것입니다. 내일 더 많은 것을 위해 우리와 함께하십시오..