I have in the past had an occasion to check if IIS is installed with support for ASP.NET applications. This function will do all you need: function
I have in the past had an occasion to check if IIS is installed with support for ASP.NET applications. This function will do all you need:
function IIS_Check { # IIS if ((Get-WindowsFeature Web-Server).InstallState -eq "Installed") { Write-Host "IIS is installed - Meets MD-STAFF Requirements" } else { Write-Host "IIS is not installed - DOES NOT Meet MD-STAFF Requirements" write-host "Installing IIS and features need to run MD-STAFF Application" # Install IIS and features needed to run ASP.NET applications Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServer Enable-WindowsOptionalFeature -Online -FeatureName IIS-CommonHttpFeatures Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpErrors Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpRedirect Enable-WindowsOptionalFeature -Online -FeatureName IIS-ApplicationDevelopment Enable-WindowsOptionalFeature -Online -FeatureName IIS-NetFxExtensibility45 Enable-WindowsOptionalFeature -Online -FeatureName IIS-HealthAndDiagnostics Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpLogging Enable-WindowsOptionalFeature -Online -FeatureName IIS-LoggingLibraries Enable-WindowsOptionalFeature -Online -FeatureName IIS-RequestMonitor Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpTracing Enable-WindowsOptionalFeature -Online -FeatureName IIS-Security Enable-WindowsOptionalFeature -Online -FeatureName IIS-RequestFiltering Enable-WindowsOptionalFeature -Online -FeatureName IIS-Performance Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerManagementTools Enable-WindowsOptionalFeature -Online -FeatureName IIS-IIS6ManagementCompatibility Enable-WindowsOptionalFeature -Online -FeatureName IIS-Metabase Enable-WindowsOptionalFeature -Online -FeatureName IIS-ManagementConsole Enable-WindowsOptionalFeature -Online -FeatureName IIS-BasicAuthentication Enable-WindowsOptionalFeature -Online -FeatureName IIS-WindowsAuthentication Enable-WindowsOptionalFeature -Online -FeatureName IIS-StaticContent Enable-WindowsOptionalFeature -Online -FeatureName IIS-DefaultDocument Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebSockets Enable-WindowsOptionalFeature -Online -FeatureName IIS-ApplicationInit Enable-WindowsOptionalFeature -Online -FeatureName IIS-NetFxExtensibility45 Enable-WindowsOptionalFeature -Online -FeatureName IIS-ASPNET45 Enable-WindowsOptionalFeature -Online -FeatureName IIS-ISAPIExtensions Enable-WindowsOptionalFeature -Online -FeatureName IIS-ISAPIFilter Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpCompressionStatic write-host "Completed installing IIS and ASP.NET features" } }
Once IIS is installed you can better configure IIS using the WebAdministration module for PowerShell
Import-Module WebAdministration
Now you can create a new WebSite and Application Pool.
Create an Application Pool:
New-WebAppPool -name "MyWebSiteAppPool" -force $appPool = Get-Item -name "MyWebSiteAppPool" $appPool.processModel.identityType = "NetworkService" $appPool.enable32BitAppOnWin64 = 1 $appPool | Set-Item
Create a Web Site:
md "c:\Web Sites\MyWebSite" # All on one line $site = $site = new-WebSite -name "MyWebSite" -PhysicalPath "c:\Web Sites\MyWebSite" -HostHeader "home.thecodeasylum.com" -ApplicationPool "MyWebSiteAppPool" -force
COMMENTS