Es kann schon mal passieren das man eine SharePoint Installation nicht mit dem Installationswizard macht (in meinem Fall ist jede Installation ohne den Wizard ;)). Hier gibt es aber einige Fallen, auf die ich mit diesem Post grob aufmerksam machen will. Einige Service Applikation können z.b. nicht über die grafische Oberfläche der Zentralverwaltung angelegt werden. Diese sind aber für andere Service Applications jedoch relativ wichtig - darum bleibt uns hier auch die PowerShell nicht verwehrt ;)
Session State Service Application
$sa = New-SPStateServiceApplication -Name "Session State Service Application"
New-SPStateServiceDatabase -Name "SharePoint_SessionStateServiceApplication" -ServiceApplication $sa
New-SPStateServiceApplicationProxy -Name "Session State Service Application" -ServiceApplication $sa -DefaultProxyGroup
Usage And Health Data Collection Service Application
Set-SPUsageService -LoggingEnabled 1 -UsageLogLocation "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\LOGS" -UsageLogMaxSpaceGB 5
New-SPUsageApplication -Name "Usage and Health Data Collection Service Application" -DatabaseName "SharePoint_UsageAndHealthDataCollectionServiceApplication" -UsageService (Get-SPUsageService)
Subscription Settings Service Application
$sa = New-SPSubscriptionSettingsServiceApplication –ApplicationPool "SharePoint Application Pool" –Name "Subscription Settings Service Application" –DatabaseName "SharePoint_SubscriptionSettingsServiceApplication"
New-SPSubscriptionSettingsServiceApplicationProxy -Name "Subscription Settings Service Application" –ServiceApplication $sa -DefaultProxyGroup
Session State Database
Enable-SPSessionStateService –DatabaseName "SharePoint_SessionStateDatabase" –SessionTimeout 120
Search Service Application (auch wenn es durch das UI einfacher geht - aber saubere DB Namen sind mir hier lieber)
$SPAppPool = Get-SPServiceApplicationPool -Identity "SharePoint Application Pool" -ErrorAction SilentlyContinue
if (!$SPAppPool)
{
$spAppPool = New-SPServiceApplicationPool -Name "SharePoint Application Pool" -Account "smartpointdev\svcspapp" -Verbose
}
Start-SPEnterpriseSearchServiceInstance ((Get-ChildItem env:computername).value) -ErrorAction SilentlyContinue
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance ((Get-ChildItem env:computername).value) -ErrorAction SilentlyContinue
$ServiceApplication = Get-SPEnterpriseSearchServiceApplication -Identity "Search Service Application" -ErrorAction SilentlyContinue
if (!$ServiceApplication)
{
$ServiceApplication = New-SPEnterpriseSearchServiceApplication -Partitioned -Name "Search Service Application" -ApplicationPool $spAppPool.Name -DatabaseName "SharePoint_SearchServiceApplication"
}
$Proxy = Get-SPEnterpriseSearchServiceApplicationProxy -Identity "Search Service Application" -ErrorAction SilentlyContinue
if (!$Proxy)
{
New-SPEnterpriseSearchServiceApplicationProxy -Partitioned -Name "Search Service Application" -SearchApplication $ServiceApplication
}
$ServiceApplication.ActiveTopology
$clone = $ServiceApplication.ActiveTopology.Clone()
$SSI = Get-SPEnterpriseSearchServiceInstance -local
New-SPEnterpriseSearchAdminComponent –SearchTopology $clone -SearchServiceInstance $SSI
New-SPEnterpriseSearchContentProcessingComponent –SearchTopology $clone -SearchServiceInstance $SSI
New-SPEnterpriseSearchAnalyticsProcessingComponent –SearchTopology $clone -SearchServiceInstance $SSI
New-SPEnterpriseSearchCrawlComponent –SearchTopology $clone -SearchServiceInstance $SSI
Remove-Item -Recurse -Force -LiteralPath "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\INDEX" -ErrorAction SilentlyContinue
mkdir -Path "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\INDEX" -Force
New-SPEnterpriseSearchIndexComponent –SearchTopology $clone -SearchServiceInstance $SSI -RootDirectory "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\INDEX"
New-SPEnterpriseSearchQueryProcessingComponent –SearchTopology $clone -SearchServiceInstance $SSI
$clone.Activate()
Over and Out