How To Manage WebSites using PowerShell on IIS 8
Introduction
As PowerShell continues to evolve and more features are added with each OS release there is more places to use PowerShell to automate and make many tasks easy. In this post we will explore managing websites using PowerShell, so let’s get started. the examples used in this post are from Cognos modifications to the default IIS 8 install.
The Code
All of the commands we will be using are part of the WebAdministration PowerShell module. Open PowerShell and import the module.
PS C:\> Import-module WebAdministration
Now we are ready to go!
Create a Virtual Directory called c10 under Default Web Site.
PS C:\> New-WebVirtualDirectory -Site "Default Web Site" -Name c10 -PhysicalPath E:\cognos102264\webcontent
Create a nested Virtual Directory under virtual directory c10.
PS C:\> New-WebVirtualDirectory -Site "Default Web Site" -Name c10\cgi-bin -PhysicalPath E:\cognos102264\cgi-bin
Set ISAPI-CGI security Settings
PS C:\> set-webconfiguration system.webserver/security/isapiCGIRestriction -value "True"
Define an new isapicgiRestriction to allow unspecified CGI and ISAPI modules.
PS C:\> Add-WebConfiguration /system.webServer/security/isapiCgiRestriction -value @{description="cognos.cgi";path="E:\cognos102264\cgi-bin\cognos.cgi";allowed="True"}
Add cgi module handler
PS C:\> New-WebHandler -Name CGI-server -Path *.cgi -Verb * -Modules CgiModule -PSPath "IIS:\sites\Default Web Site\cgi-bin"
Convert to application
PS C:\> ConvertTo-WebApplication "IIS:\Sites\Default Web Site\c10\cgi-bin"
Create Application Pool
PS C:\> New-WebAppPool -Name "cognos10cert.td.afg"
Set HTTP Redirect
PS C:\> Set-WebConfiguration system.webServer/httpRedirect "IIS:\sites\Default Web Site" -Value @{enabled="true";destination="/c10";httpResponseStatus="Found"}
Conclusion
As we can see with PowerShell we can create websites, virtual directoyies, application pools and modify other settings.
Leave a Reply