IIS관리 PowerShell Cmdlet
작성자: Baris Caglar
호환성
버전 | 참고 |
---|---|
IIS 10.0 | IISAdministration PowerShell Cmdlet은 IIS 10.0에서 도입되었습니다. 최신 버전의 IIS관리는 Powershell 갤러리를 통해 지원됩니다. |
IIS 8.5 이하 | IISAdministration PowerShell Cmdlet은 IIS 10.0 이전에는 지원되지 않았습니다. 그러나 사용자는 Powershell 갤러리를 통해 설치할 수 있습니다. |
최신 버전의 IIS관리를 가져오는 방법에 대해 알아보려면 iis.net IISAdministration 소개를 참조하세요.
IIS관리 개요
IIS 팀은 Windows 10 및 Windows Server 2016 기존 WebAdministration
Cmdlet과 함께 새롭고 간소화된 IISAdministration
모듈을 함께 릴리스합니다. 완전히 새로운 PowerShell Cmdlet 모듈을 릴리스하기로 결정한 데는 여러 가지 이유가 있으며, 그 중 몇 가지는 다음과 같습니다.
IISAdministration
는 로 실행하는WebAdministration
데 시간이 오래 걸리는 스크립트에서 더 잘 확장됩니다.- 이제 개체의 instance
Microsoft.Web.Administration.ServerManager
직접 참조하고 스크립트와 함께 네임스페이스에서 수행할 수 있는Microsoft.Web.Administration
모든 작업을 수행할 수 있습니다. - PowerShell 파이프라인 호환성은 많은 cmdlet 디자인의 원동력이었습니다. 따라서 는
IISAdministration
PowerShell 파이프라인에서 훨씬 더 잘 작동합니다.
Windows 10 출시된 Cmdlet 버전은 개선의 여지가 있는 대략적인 버전이었습니다. 대상 릴리스는 완성되고 세련된 제품에 대해 Windows Server 2016. 이전 릴리스의 이유는 업계의 실제 PowerShell 사용자 및 IIS 관리자로부터 피드백을 받고, 질문에 답변하고, 기존 기능뿐만 아니라 PowerShell과 관련된 IIS 관리에서 사용자가 원하는 새로운 기능에 대한 제안을 받기 위해서였습니다.
다음은 새 공급자의 사용에 대한 몇 가지 예입니다.
파이프라이닝
PS:>Get-IISConfigSection -SectionPath "system.webServer/defaultDocument" | Get-IISConfigCollection -CollectionName "files" | New-IISConfigCollectionElement -ConfigAttribute @{"Value" = "MyDefDoc.htm"}
Get-IISConfigSection
는 대부분의 파이프라인의 시작 부분에 있으며 위의 특정 예제에서는 먼저 "system.webServer/defaultDocument" 섹션(대/소문자 구분!)을 받은 다음, 파일 컬렉션을 가져오고, 마지막으로 지정된 특성 값이 있는 컬렉션 요소를 가져옵니다.
PS:>$ConfigSection = Get-IISConfigSection -SectionPath "system.applicationHost/sites"
PS:>Get-IISConfigCollection $configSection | Get-IISConfigCollectionElement -ConfigAttribute @{"Name"="Default Web Site"} | Get-IISConfigAttributeValue -AttributeName "State"
이 예제는 섹션이 먼저 변수에 배치된 다음 파이프라인에서 사용되는 하이브리드 예제에 해당합니다.
간단한 명령
간단한 명령의 수는 몇 가지로 크게 줄어듭니다. 예제에는 Get-IISSite 및 Get-IISAppPool이 포함됩니다. 명령이 존재하지 않는 다른 간단한 작업은 파이프라인 작업을 통해 수행할 수 있습니다.
PS:> Get-IISAppPool
Name Status CLR Ver Pipeline Mode Start Mode
---- ------ ------- ------------- ----------
DefaultAppPool Started v4.0 Integrated OnDemand
Get-IISServerManager
PS:>$sm = Get-IISServerManager
PS:>$sm.ApplicationPools["DefaultAppPool"].Recycle()
보듯이 서버 관리자에 대한 액세스 권한이 있으면 하늘이 제한됩니다.
Start-IISCommitDelay/Stop-IISCommitDelay
이러한 명령 간에 작업을 바깥쪽에 두면 변경 내용이 동시에 커밋되는지 확인할 수 있습니다.
이는 새 공급자를 사용하여 수행할 수 있는 작업의 몇 가지 예에 불과합니다. 전체 설명서 및 기타 예제는 Online 문서를 참조하세요.