Accéder au contenu principal

SharePoint : Lister via PowerShell les informations sur les sources de contenu du Search

 Quand on gère le moteur de recherche de SharePoint, on se rend très vite compte que l’interface est riche mais manque un peu de répondant (surtout quand vous commencez à dépasser les 20 Sources de contenu).

Voila donc un script PowerShell pour afficher les informations sur chaque source de contenu avec les informations de planification :

function Get-Crawl-Information-Schedule([string]$SiteCollectionURL)
{
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Search") > $null

    $site = new-object Microsoft.SharePoint.SPSite($SiteCollectionURL)
    Write-Host "SiteCollectionURL", $SiteCollectionURL
    $context =  [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($site)

    $site.Dispose()
    $sspcontent = new-object Microsoft.Office.Server.Search.Administration.Content($context)
    $sspContentSources =  $sspcontent.ContentSources
    foreach ($cs in $sspContentSources)
    {
        Write-Host " ------------------------------------------------------ "
        Write-Host "NAME: ", $cs.Name, " - ID: ", $cs.Id, " - CrawlStatus: ", $cs.CrawlStatus
        $myFullCrawlschedule = $cs.FullCrawlSchedule
        Write-Host "Full Crawl Schedule Description: ", $myFullCrawlschedule.Description
        $myIncrementalschedule = $cs.IncrementalCrawlSchedule
        Write-Host "Incremental Crawl Schedule Description: ", $myIncrementalschedule.Description
    }
    Write-Host " ------------------------------------------------------ "
}

Get-Crawl-Information-Schedule “http://search.xxxx

Un second script permet de faire un lancement ou stop des crawls de notre search server :

function Start-Stop-All-Crawl([string]$SiteCollectionURL, [string]$FullIncrementalorStop)
{
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Search") > $null

    $site = new-object Microsoft.SharePoint.SPSite($SiteCollectionURL)
    Write-Host "SiteCollectionURL", $SiteCollectionURL
    $context =  [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($site)

    $site.Dispose()
    $sspcontent = new-object Microsoft.Office.Server.Search.Administration.Content($context)
    $sspContentSources =  $sspcontent.ContentSources
    Write-Host "Total of Content Sources: ", $sspContentSources.Count
    foreach ($cs in $sspContentSources)
    {
        Write-Host "NAME: ", $cs.Name, " - ID: ", $cs.Id
        switch($FullIncrementalorStop)
        {
        "full"
            {
                Write-Host "Start Full Crawl"
                $cs.StartFullCrawl()
                Write-Host "Full Crawl Started"
            }
        "incremental"
            {
                Write-Host "Start Incremental Crawl"
                $cs.StartIncrementalCrawl()
                Write-Host "Incremental Crawl Started"
            }
        default
            {
                Write-Host "Stop Crawl"
                $cs.StopCrawl()
                Write-Host "Crawl Stopped"
            }
        }
    }
}

Start-Stop-All-Crawl “http://search.xxxxx” "full”

Il vous reste donc à adapter ce type de script pour votre besoin pour par exemple, redéfinir les planifications.

Toutes les propriétés de ces objets sont disponibles ici :

Romelard Fabrice [MVP]

Commentaires

Posts les plus consultés de ce blog

Série de Videos sur Home Assistant intégrant la production Photovoltaïque

 Un certain nombre de vidéos sont en ligne pour intégrer sa production photovoltaïque dans Home Assistant en partant de la base. Installation de Home Assistant: On peut ensuite intégrer les composant des Micro-Onduleurs Enphase, mais aussi les batteries Enphase: Ou encore le composant de contrôle Ecojoko: Ce qui permet alors de faire des comparaisons entre les valeurs capturées: Des videos seront encore publiés dans les prochaines semaines sur différents aspects de cette solution. Fab

Nouveau Scripts PowerShell publiés pour gérer les Storage Accounts dans Azure Cloud

Deux scripts sont en lignes pour nettoyer des Storage Account dans Azure Cloud: Supprimer les Blobs d'un container existant https://techcommunity.microsoft.com/discussions/azure/powershell-script-to-remove-all-blobs-from-storage-account/4357815 ------------------------------------------------------- [string]$myConnectionString = "DefaultEndpointsProtocol=https;AccountName=YourStorageAccountName;AccountKey=YourKeyFromStorageAccountConnectionString;EndpointSuffix=core.windows.net" [string]$ContainerName = "YourBlobContainerName" [int]$blobCountAfter = 0 [int]$blobCountBefore = 0 $context = New-AzStorageContext -ConnectionString $myConnectionString $blobCountBefore = (Get-AzStorageBlob -Container $ContainerName -Context $context).Count Write-Host "Total number of blobs in the container Before deletion: $blobCount" -ForegroundColor Yellow Get-AzStorageBlob -Container $ContainerName -Context $context | ForEach-Object {     $_ | Remove-AzureStorageBlob   # o...

Série de vidéos sur le montage d'une serre horticole ACD

 Episode 1: Préparation du terrain Episode 2: Montage de la serre en elle même Episode 3: Finalisation avec le montage électrique alimentant la serre Bon visionnage Fab