PowerShell 스냅인: IIS 스냅인 네임스페이스 탐색
작성자 : Thomas Deml
파일 시스템이 어떻게 구성되는지 모두가 잘 알고 있습니다. 파일 시스템은 파일 및 기타 디렉터리를 포함하는 디렉터리로 구성된 계층 구조 네임스페이스입니다. PowerShell 스냅인은 파일 시스템에 이러한 유사점을 활용하고 다른 데이터 저장소를 계층 구조 네임스페이스로 노출할 수 있도록 합니다. 파일 시스템 드라이브의 루트와 마찬가지로 일반적으로 C:\
IIS 구성 시스템의 루트는 "IIS:"입니다.
루트 "IIS:" 드라이브 아래에는 "사이트" 및 애플리케이션 풀 - "AppPools"가 있습니다.
IIS 스냅인 네임스페이스 구성
IIS PowerShell 스냅인 네임스페이스의 구조는 다음과 같습니다. 다음 컨테이너는 삭제하거나 이동할 수 없습니다.
Iis:\
사이트
사이트 모음
- 애플리케이션 및 가상 디렉터리
AppPools
- WorkerProcesses
SslBindings
참고: 작업자 프로세스가 시작되면 작업자 프로세스 컬렉션에서 PowerShell Process 개체를 찾을 수 있습니다. 이 Process 컬렉션은 Request 및 AppDomain 개체로 보강됩니다. 이렇게 하면 현재 요청을 실행하고 애플리케이션 도메인을 실행하기 위해 IIS 작업자 프로세스를 쿼리할 수 있습니다.
이제 사용해 보겠습니다.
작업 1 - IIS 공급자 네임스페이스에 익숙해지다
1.1. IIS PowerShell 관리 콘솔 시작
시작 메뉴를 클릭하고 "모든 프로그램" - "IIS 7.0 확장" - "IIS PowerShell 관리 콘솔"을 선택합니다. 새 PowerShell 명령 창의 프롬프트는 IIS 공급자 네임스페이스의 루트인 "IIS:"로 설정됩니다.
1.2. 네임스페이스 탐색
"dir"을 입력하고 사이트 및 AppPools가 루트 아래에 있는 유일한 두 디렉터리임을 확인합니다.
PS IIS:\> dir
Name
----
Sites
AppPools
다음 단계로 사이트 디렉터리로 변경하려고 합니다. 다음 명령을 사용하여 이 작업을 수행할 수 있습니다.
PS IIS:\> cd Sites
PS IIS:\Sites> dir
Name ID State Physical Path Bindings
---- -- ----- ------------- --------
Default Web Site 1 Started f:\inetpub\wwwroot http *:80:
모험을 즐기는 경우 cd Si<탭> 을 입력하면 명령줄 완성이 제공됩니다.
이제 다음을 시도합니다.
1.2 좀 더 탐색
이제 다음을 시도합니다.
PS IIS:\Sites> Get-Item 'Default Web Site' | Select-Object *
PSPath : IIsProviderSnapIn\WebAdministration::\\THDLAP\Sites\Default Web Site
PSParentPath : IIsProviderSnapIn\WebAdministration::\\THDLAP\Sites
PSChildName : Default Web Site
PSDrive : IIS
PSProvider : IIsProviderSnapIn\WebAdministration
PSIsContainer : True
State : Started
name : Default Web Site
id : 1
serverAutoStart : True
bindings : {binding, binding}
limits : Microsoft.Web.Administration.ConfigurationElement
logFile : Microsoft.Web.Administration.ConfigurationElement
traceFailedRequestsLogging : Microsoft.Web.Administration.ConfigurationElement
applicationDefaults : Microsoft.Web.Administration.ConfigurationElement
virtualDirectoryDefaults : Microsoft.Web.Administration.ConfigurationElement
applicationPool : DefaultAppPool
enabledProtocols : http
userName :
password :
physicalPath : f:\inetpub\wwwroot
Attributes : {name, id, serverAutoStart, state}
ChildElements : {bindings, limits, logFile, traceFailedRequestsLogging...}
ElementTagName : site
IsLocallyStored : True
Methods : {Start, Stop}
RawAttributes : {name, id, serverAutoStart, state}
Schema : Microsoft.Web.Administration.ConfigurationElementSchema
CD 또는 DIR과 같은 이전 DOS 명령을 사용하는 대신 PowerShell cmdlet을 처음 시도합니다. IIS PowerShell 스냅인을 효과적으로 작업하려면 이러한 명령을 숙지하는 것이 좋습니다.
예를 들어 Get-Item 지정된 위치에서 항목에 대한 세부 정보를 가져올 수 있는 명령입니다. 이 경우 '기본 웹 사이트'에 대한 세부 정보를 가져옵니다(일부 입력을 저장하려면 'get-item D<탭>'을 사용해 보고 명령줄은 PowerShell에서 자동으로 완료됨). Get-Item 출력을 Select-Object cmdlet으로 파이프하면 '기본 웹 사이트'의 모든 구성 설정이 표시됩니다.
요약
이 연습에서는 IIS 스냅인 네임스페이스를 구성하는 방법을 간단히 소개했습니다. IIS 네임스페이스에서 방법을 찾기 위한 몇 가지 기본 명령도 알아보았습니다.