SharePoint 2010 estende la PowerShell con una serie di cmdlet in grado di gestire tutte le funzionalità della Farm.

In questo esempio, tramite PowerShell, creo una WebApplication (New-SPWebApplication) con autenticazione integrata basata Kerberos e Claims e successivamente la estendo (New-SPWebApplicationExtension'), sulla zona extranet, per avere la possibilità di autenticarmi via Form Base Authentication (FBA)

Per utilizzare lo script è sufficiente impostare le variabili: $wa_name, $wa_name_extranet, $wa_databaseserver, $wa_databasename e $wa_apppoolaccount

File: CreazioneWebApp.ps1

PowerShell

#Add-PSSnapin Microsoft.SharePoint.PowerShell

write-host "Creazione di una webapp con autenticazione Claims e Kerberos..."

$wa_name = "intranet.sgart.it"
$wa_name_extranet = "extranet.sgart.it"
$wa_apppoolaccount = "Dominio\utenteAppPool"
$wa_databaseserver = "NomeMacchinaSQL\NomeIstanza"
$wa_databasename = "WSS_Content_Intranet"

#---------------------------------------------------------------------
write-host $wa_name
write-host $wa_name_extranet
write-host $wa_databasename
write-host $wa_apppoolaccount


$wa_port = 80
$wa_hostheader = $wa_name
$wa_url = "http://$wa_name"
$wa_url_extranet = "http://$wa_name_extranet"
$wa_apppool = $wa_name
$wa_path = "D:\IISData\$wa_name"
$wa_path_extranet = "D:\IISData\$wa_name_extranet"

$ErrorActionPreference = "Stop"

#creo gli authentication provider

#provider per la WebApp con Claims e Kerberos
$apWA = New-SPAuthenticationProvider 
$apWA.DisableKerberos = $false

#provider per la Form Base Authentication con MembershipProvider custom e senza RoleProvider 
$apFBA = New-SPAuthenticationProvider -ASPNETMembershipProvider EXTERNAL -ASPNETRoleProviderName SSOSRoleManager 
$apFBA.RoleProvider = ""

#array
$aps = $apWA, $apFBA

#Create a new Web Application
write-host "Creo la Web Application con Claims, Kerberos ed FBA..."
New-SPWebApplication -name $wa_name -Port $wa_port -HostHeader $wa_hostheader -URL $wa_url -path $wa_path -ApplicationPool $wa_apppool -ApplicationPoolAccount (Get-SPManagedAccount $wa_apppoolaccount) -DatabaseName $wa_databasename -DatabaseServer $wa_databaseserver -AuthenticationMethod Kerberos -AuthenticationProvider $aps

#extend web application
write-host "Estendo la Web Application con  Claims, Kerberos ed FBA..."
Get-SPWebApplication –Identity $wa_url | New-SPWebApplicationExtension -Name $wa_name_extranet -HostHeader $wa_name_extranet -Port 80 -Zone Extranet -URL $wa_url_extranet -path $wa_path_extranet -AuthenticationProvider $aps

Lo script non crea nessuna site collection, mi è servito per creare le WebApp vuote in modo da poter migrare una farm SharePoint 2007 mediante l'attach dei database.
La password dell'account dell'application pool non è specificata in quanto ho degli account gestiti che recupero tramite Get-SPManagedAccount
Tags:
PowerShell200 SharePoint498 SharePoint 2010224
Potrebbe interessarti anche: