I wrote the post (Fully configure host header for Web application) 2 months ago in order to facilitate how to use host header for your Web application. Using host header allows you to make more easier using SharePoint for end-user. They just need to use friendly URL instead of remembering port number of URL.
In this post, let me share the PowerShell code I made today. PowerShell has a seduction that makes you love when you are in which.
The PowerShell helps you the following:
- Automatically create new Web Application with Host Header
- Automatically create new Site collection in the Web Application
- Automatically remove and then add new binding IIS Web Server
- Automatically create new Host A record in DNS
Check code out: http://gallery.technet.microsoft.com/scriptcenter/Fully-configure-Host-d4027a48
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
Add-PSSnapin Microsoft.SharePoint.PowerShell #Add PowerShell Snap-in for SharePoint #Set variables for Web Application $waName = "ICT24H Home" $waHostHeader = "home.ict24h.intranet" $waPort = 80 $waAppPool = "SharePointAppPool" $waAppPoolUserName = "ict24hsp_app" $databaseName = "HomeDb" $databaseServer = "sharepoint2010spinstance" #Use named-instance #Configure Managed Account $appPoolCred = Get-Credential $waAppPoolUserName $waAppPoolAccount = New-SPManagedAccount -Credential $appPoolCred #Create new Web Application New-SPWebApplication -Name $waName -Port $waPort -HostHeader $waHostHeader -URL ("http://" + $waHostHeader) -ApplicationPool $waAppPool -ApplicationPoolAccount $waAppPoolAccount -DatabaseName $databaseName -DatabaseServer $databaseServer #Set variables for Site collection $scName = "Intranet Team Site" $scURL = ("http://" + $waHostHeader) #(Optional) Use Get-SPWebTemplate to view the availabe teampltes in SharePoint using SharePoint 2010 Management Shell $scTemplate = "STS#0" $scLanguage = 1033 #English $scOwner = "ict24hthuan" $w = Get-SPWebApplication $scURL Write-Host "Creating new site collection in the $waName Web Application...." New-SPSite -Name $scName -URL $scURL -HostHeaderWebApplication $w -OwenerAlias $scOwner -Language $scLanguage -Template $scTemplate #Create new Host (A or AAAA) in DNS $dnsServer = "ad.ict24h.intranet" #This DNS Server stores the Host A record $dnsZone = "ict24h.intranet" $hostA = $waHostHeader #use top-level site collection $class = 1 $ttl = 3600 $ipAddress = "192.168.1.100" #Ip Address of SharePoint Web Server Write-Host "Please wait some minutes for creating new Host A record process...." $dnsAType = [wmiclass] "\$dnsServerrootMicrosoftDNS:MicrosoftDNS_AType" $dnsAType.CreateInstanceFromPropertyData($dnsServer, $dnsZone, $hostA, $class, $ttl, $ipAddress) #Automatically remove and then add new binding Host Header in IIS Import-Module WebAdministration #Import PowerShell module for IIS $ipAddress = "192.168.1.100" $protocol = "http" Write-Host "Please wait some minutes for the binding process...." Remove-WebBinding -Name $waName -bindingInformation (":" + $waport + ":" + $waHostHeader) New-WebBinding -Name $waName -Port $waPort -ip $ipAddress -Protocol $protocol -HostHeader $waHostHeader |
You can`t create site that has the same url as url of host header site collection…!
Hi Blatnis,
Thanks for your commend. I only provided this script after I got it done. Just try and let me know if it doesn’t work for me.
Regards,
-T.s