Web-Redirect HTTP/HTTPS beim IIS via Powershell erstellen

In diesem kurzen Blog, möchte ich zeigen wie man unter dem
Windows Server 2012 R2 mit der Powershell einen HTTP Web-Redirect im
Internet Information Server (IIS) erstellt.

Voraussetzungen

1. Windows Server 2012 R2 mit installierten IIS
2. Schauen Sie sich hierzu auch den nachfolgenden Blog an
HTTP Redirect mit dem IIS 7.5 und Windows Server 2008 R2
3. Das Verzeichnis „C:\inetpub\wwwroot\myRedirects“ muss  erstellt werden
4. Eine HTM Datei sollte unter  „C:\inetpub\wwwroot\myRedirects\start.htm“ erstellt werden. Der Inhalt der Datei kann auch leer sein 😉

Bevor wir anfangen, möchte ich drauf hinweisen, dass die Anleitung nicht für einen Produktivbetrieb genutzt werden sollte. Der Einsatz erfolgt auf eigene Gefahr, ich übernehme keine Haftung für Schäden!

Schritt für Schritt Web-Redirect’s mit der Powershell

1. Erstellen des Verzeichnisses unter „C:\inetpub\wwwroot\myRedirects“

New-Item "$env:systemdrive\inetpub\wwwroot\myRedirects\My-Portal" -ItemType Directory

2. Die Datei „start.htm“ wird in das Verzeichniss „\myRedirects\MyPortal“ kopiert

Copy-Item "$env:systemdrive\inetpub\wwwroot\myRedirects\start.htm" "$env:systemdrive\inetpub\wwwroot\myRedirects\MyPortal"

3. Erstellen des Application Pools

New-WebAppPool myportal.medic-daniel.de

4. Erstellen der Site

New-Website -name myportal.medic-daniel.de -Port 80 -HostHeader myportal.medic-daniel.de -PhysicalPath "%systemdrive%\inetpub\wwwroot\myRedirects\MyPortal" -ApplicationPool myportal.medic-daniel.de

5. Erstellen des Redirects. Dieser zeigt dann auf „http://tauch-urlaub.net“

Set-WebConfiguration system.webServer/httpRedirect "IIS:\sites\myportal.medic-daniel.de" -Value @{enabled="true";destination="http://tauch-urlaub.net";exactDestination="true";httpResponseStatus="Permanent"}

Anbei die ganzen Schritte als Script. Es werden jeweils zwei Sites pro Domain angelegt.
Beispiel: medic-daniel.de und www.medic-daniel.de

########################################
#IIS Create Webredirect via Powershell
########################################
Write-Host ********************************************* -foregroundcolor Green
Write-Host *Geben Sie als nächstes die Quell Domain an   -foregroundcolor Green
Write-Host *Beispiel myportal.medic-daniel.de -foregroundcolor Green
Write-Host * -foregroundcolor Green
Write-Host *Info: ohne http und ohne www -foregroundcolor red
Write-Host ********************************************* -foregroundcolor Green
$DNSDomainName = Read-Host 'Quell Domain die Umgeleitet werden soll'

Write-Host *************************************************************************** -foregroundcolor Green
Write-Host *Geben Sie als nächstes den Ordner an wo die config angelegt werden soll -foregroundcolor Green
Write-Host *Beispiel: myportal oder de_myportal -foregroundcolor Green 
Write-Host * -foregroundcolor Green
Write-Host *Info: Der Ordner wird unter "C:\inetpub\wwwroot\myRedirects\" abgelegt -foregroundcolor red
Write-Host *************************************************************************** -foregroundcolor Green
$SiteName = Read-Host 'Gebe Sie hier den Ordner der Site an'

Write-Host *************************************************************************** -foregroundcolor Green
Write-Host *Geben Sie als nächstes die Ziel URL ein zu der hingeleitet wird -foregroundcolor Green
Write-Host *Beispiel: http://medic-daniel.de oder https://www.medic-daniel.de/eu -foregroundcolor Green
Write-Host * -foregroundcolor Green
Write-Host *Info: Nutzen Sie http oder https inkl. "://" -foregroundcolor red
Write-Host *************************************************************************** -foregroundcolor Green
$RedirectURL = Read-Host 'Geben Sie die Ziel URL ein'


New-Item "$env:systemdrive\inetpub\wwwroot\myRedirects\$SiteName" -ItemType Directory
New-Item "$env:systemdrive\inetpub\wwwroot\myRedirects\www_$SiteName" -ItemType Directory
Copy-Item "$env:systemdrive\inetpub\wwwroot\myRedirects\start.htm" "$env:systemdrive\inetpub\wwwroot\myRedirects\$SiteName"
Copy-Item "$env:systemdrive\inetpub\wwwroot\myRedirects\start.htm" "$env:systemdrive\inetpub\wwwroot\myRedirects\www_$SiteName"
New-WebAppPool $DNSDomainName
New-WebAppPool www.$DNSDomainName
New-Website -name $DNSDomainName -Port 80 -HostHeader $DNSDomainName -PhysicalPath "%systemdrive%\inetpub\wwwroot\myRedirects\$SiteName" -ApplicationPool $DNSDomainName
New-Website -name www.$DNSDomainName -Port 80 -HostHeader www.$DNSDomainName -PhysicalPath "%systemdrive%\inetpub\wwwroot\myRedirects\www_$SiteName" -ApplicationPool www.$DNSDomainName
Set-WebConfiguration system.webServer/httpRedirect "IIS:\sites\$DNSDomainName" -Value @{enabled="true";destination="$RedirectURL";exactDestination="true";httpResponseStatus="Permanent"}
Set-WebConfiguration system.webServer/httpRedirect "IIS:\sites\www.$DNSDomainName" -Value @{enabled="true";destination="$RedirectURL";exactDestination="true";httpResponseStatus="Permanent"}

Ich hoffe, ich konnte Ihnen einen kleinen Einblick geben. Sollten Sie Fragen haben, so scheuen Sie nicht, mich zu kontaktieren. Nutzen Sie hier die “Kommentar Funktion” des Blogs oder wenn es Ihnen lieber ist via E-Mail.

Weiter Blogs folgen in den nächsten Tagen. Ich würde mich sehr freuen, wenn Sie wieder vorbeischauen.

Ein Gedanke zu „Web-Redirect HTTP/HTTPS beim IIS via Powershell erstellen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

2 × vier =