SharePoint – Automatyzowanie zakładania witryn

Wpis bardziej traktuje w formie ściągi, gdyż często zdarza mi się z tej metody korzystać. Szczególnie, w myśl powiedzenia „leniwy administrator, to dobry administrator”, staram się jak najwięcej rzeczy automatyzować. Może komuś się również przyda.

Przejdźmy do meritum. W sytuacji gdy w ramach SharePoint 2013, trzeba założyć nową web aplikację oraz zestaw witryn, zwykle nie bardzo lubię tracić czas na „przeklikiwanie” setki atrybutów. W takiej sytuacji idealnie sprawdza się Windows PowerShell, a konkretniej przystawka SharePoint Management Shell.

W pierwszym kroku najlepiej przygotować niezbędne dane, czyli np. utworzyć dedykowane konto dla webaplikacji

$Credentials = Get-credential "contoso\SPWebAppAccount"
$SPManagedAccount = New-SPManagedAccount -Credential $Credentials

lub w przypadku posiadania takowego pobranie go do zmiennej.

$SPManagedAccount  = Get-SPManagedAccount "conoso\SPWebAppAccount"

Następnie definiując odpowiednie parametry i tworzymy nową web aplikację:

$SPAuthenticationProvider = New-SPAuthenticationProvider
New-SpWebApplication -Name NewWebApp -ApplicationPool NewWebAppPool -ApplicationPoolAccount $SPManagedAccount -AuthenticationProvider $SPAuthenticationProvider -Port 443 -URL https://newwebapp.contoso.com -HostHeader newwebapp.contoso.com -SecureSocketsLayer

Gdy obiekt web aplikacji jest już poprawnie utworzony, opcjonalnie można dorzucić alternatywne mapowanie URL.

New-SPAlternateURL –WebApplication https://newwebapp.contoso.com –URL http://newwebapp.contoso.com –Zone Intranet –Internal

Ostatecznie wystarczy na bazie danego szablonu wystarczy utworzyć nową witrynę.

$WebTemplate = Get-SPWebTemplate "BLANKINTERNETCONTAINER#0"
New-SPSite -Url https://newwebapp.contoso.com/ -OwnerAlias "contoso\Administrator" -Template $WebTemplate

Całość w wersji bardziej uniwersalnej wygląda następująco:

## Dane WebAplikacji
$ADPoolAccount = "contoso\SPWebAppAccount"
$ADAdminAccount = "contoso\Administrator"
$WebAppName = "NewWebApp"
$WebAppPool = "NewWebApp"
$WebAppAddress = "newwebapp.contoso.com"
$WebTemplate = "BLANKINTERNETCONTAINER#0"

## Zakładanie
$Credentials = Get-credential $ADPoolAccount
$SPManagedAccount = New-SPManagedAccount -Credential $Credentials

$SPAuthenticationProvider = New-SPAuthenticationProvider
New-SpWebApplication -Name $WebAppName -ApplicationPool $WebAppPool -ApplicationPoolAccount $SPManagedAccount -AuthenticationProvider $SPAuthenticationProvider -Port 443 -URL "https://$WebAppAddress" -HostHeader $WebAppAddress -SecureSocketsLayer
New-SPAlternateURL –WebApplication "https://$WebAppAddress" –URL "http://$WebAppAddress" –Zone Intranet –Internal

$WebTemplate = Get-SPWebTemplate $WebTemplate
New-SPSite -Url "https://$WebAppAddress/" -OwnerAlias $ADAdminAccount -Template $WebTemplate

Źródła:
https://technet.microsoft.com/en-us/library/ff607931.aspx
https://technet.microsoft.com/en-us/library/ff607937.aspx

 

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s