SharePoint 2013 : Fonction PowerShell pour configurer le moteur de Recherche de SharePoint Foundation
Dans la liste des fonctions utilisables dans vos scripts de configuration de ferme SharePoint, voici celle qui permet de configurer entièrement le moteur de recherche SharePoint Foundation 2013 :
- Activer le moteur de recherche sur la machine locale
- Créer le pool applicatif pour le Service de Search
- Lancer la configuration automatique du moteur de recherche (reprenant l’installation de l’assistant de la Centrale Admin)
Un précédent article donnait les étapes de cette installation visuelle :
Le script est aussi basé sur un post de Gary Lapointe :
Function ActivateAndConfigureSearchService
{
Try
{
[string]$farmAcct = "DOMAIN\service_Account"
[string]$serviceAppName = "Search Service Application"Write-Host -ForegroundColor White " --> Configure the SharePoint Foundation Search Service -", $env:computername
Start-SPEnterpriseSearchServiceInstance $env:computername
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $env:computername
$appPool = Get-SPManagedAccount -Identity $farmAcct
New-SPServiceApplicationPool -Name SeachApplication_AppPool -Account $appPool -Verbose
$saAppPool = Get-SPServiceApplicationPool -Identity SeachApplication_AppPool
$svcPool = $saAppPool
$adminPool = $saAppPool
$searchServiceInstance = Get-SPEnterpriseSearchServiceInstance $env:computername
$searchService = $searchServiceInstance.Service
$bindings = @("InvokeMethod", "NonPublic", "Instance")
$types = @([string],
[Type],
[Microsoft.SharePoint.Administration.SPIisWebServiceApplicationPool],
[Microsoft.SharePoint.Administration.SPIisWebServiceApplicationPool])$values = @($serviceAppName,
[Microsoft.Office.Server.Search.Administration.SearchServiceApplication],
[Microsoft.SharePoint.Administration.SPIisWebServiceApplicationPool]$svcPool,
[Microsoft.SharePoint.Administration.SPIisWebServiceApplicationPool]$adminPool)$methodInfo = $searchService.GetType().GetMethod("CreateApplicationWithDefaultTopology", $bindings, $null, $types, $null)
$searchServiceApp = $methodInfo.Invoke($searchService, $values)
$searchProxy = New-SPEnterpriseSearchServiceApplicationProxy -Name "$serviceAppName - Proxy" -SearchApplication $searchServiceApp
$searchServiceApp.Provision()
}
catch [system.exception]
{
Write-Host -ForegroundColor Yellow " ->> Activate And Configure Search Service caught a system exception"
Write-Host -ForegroundColor Red "Exception Message:", $_.Exception.ToString()
}
finally
{
Write-Host “ Configuration Done”
}
}
Attention, il n’est pas possible de personnaliser la création des bases de données et elles auront toutes un nom selon le format de base :
Ce script est testé pour du SharePoint Foundation 2013, SharePoint Server 2013 supporte pour sa part une configuration spécifique qui est visible dans les scripts PowerShell de l’outil de déploiement automatisé, AutoSPInstaller.
D’autres fonctions viendront alimenter ce script global qui sera publié en fin. L’idée est de pouvoir prendre ces fonctions comme des briques de base pour votre propre solution de déploiement.
Romelard Fabrice [MVP] - MBA Risk Management
Commentaires
Enregistrer un commentaire