Como criar um site collection no SharePoint 2013 com PowerShell

Olá SharePointers,

Este é um post simples para mostrar como criar um site collection com PowerShell.

Antes de criar o site collection é importante saber qual o template que deverá ser utilizado, para isso verifique com a área usuária que tipo de site precisam, depois utilize o seguinte script para obter a lista de web templates do SharePoint 2013:

Get-SPWebTemplate | Sort-Object "Title"

Com isso você vai obter a lista de todos os templates disoníveis, veja a seguir:

webtemplates

Como vocês devem estar percebendo estou criando vários posts sobre search, por isso vou mostrar um exemplo de como criar um site collection de Search Center.

Copie este script e cole no bloco de notas e salve como .ps1

try
{

Add-PSSnapin Microsoft.SharePoint.PowerShell –ErrorAction SilentlyContinue

## defina as váriaveis
$webApplicationUrl = “http://server”

$siteCollectionUrl = “http://server/sites/SearchCenter”

$siteCollectionName = “Search Center”

$siteCollectionOwner1 = “Dominio\usuario1”

$siteCollectionOwner2 = “Dominio\usuario2”

$siteCollectionTemplate = “SRCHCEN#0”

## Verifica se a url especificada já existe
$SiteCollection = Get-SPSite $siteCollectionUrl -ErrorAction SilentlyContinue

if ($SiteCollection -ne $null)
{
Write-Host “Esta URL já está sendo utilizada ” $siteCollectionUrl
}
else
{
## Cria o site collection
New-SPSite -URL $siteCollectionUrl -OwnerAlias $siteCollectionOwner1 -SecondaryOwnerAlias $siteCollectionOwner2 -Name $siteCollectionName -Template $siteCollectionTemplate
Write-Host “Search Center criado com sucesso!”
}
}
catch
{
Write-Host -ForegroundColor red “Ocorreram alguns problemas ao tentar criar o search center”
}

 

Para criar um site collection para outro template qualquer somente alterar o template conforme a lista obtida anteriormente.

Abraços,

Carlos Citrangulo

Anúncios

The Search display templates are not present on this site collection.

Olá SharePointers,

Hoje me deparei com o seguinte erro ao utilizar o query builder na Central Administration:

“The Search display templates are not present on this site collection. To add them, you need to activate the “Search Server Web Parts and Templates” feature on the Site Collection Features page.

Display Error: The display template had an error. You can correct it by fixing the template or by changing the display template used in either the Web Part properties or Result Types.

Template ‘~sitecollection/_Catalogs/masterpage/DisplayTemplates/System/Control_QueryBuilderPreview.js’ not found or has sytax errors. (Load Template: ) ”

errosearch

Para resolver esse problema é simples, abra o Shell do SharePoint e execute o seguinte cmdLet:

Enable-SPFeature SearchWebParts -url http://<central admin url>

Execute novamente o query builder e verá que o problema foi resolvido.

 

Abraços,

Carlos Citrangulo

Obter lista de Resultados Promovidos no SharePoint 2013

Olá SharePointers,

Na governança do serviço de busca é importante documentar e todas as configurações bem como manter os arquivos de configuração em um local gerenciado e de conhecimento do time de governança.

Por isso, neste post quero mostrar como obter todos os resultados promovidos criados em um site collection com powershell.

#Script para obter os resultados promovidos

$SearchServiceName = “Search Service Application”
$sspApp = Get-SPEnterpriseSearchServiceApplication $SearchServiceName
$siteUrl = “http://portal/searchcenter”
$site = get-spsite $siteUrl -WarningAction SilentlyContinue
$web = $site.rootweb
$fedManager = New-Object Microsoft.Office.Server.Search.Administration.Query.FederationManager($sspApp)
$SearchOwner = New-Object Microsoft.Office.Server.Search.Administration.SearchObjectOwner([Microsoft.Office.Server.Search.Administration.SearchObjectLevel]::SPWeb, $web)
$SearchObjectFilter = New-Object Microsoft.Office.Server.Search.Administration.SearchObjectFilter($SearchOwner)
$queryRuleManager = New-Object Microsoft.Office.Server.Search.Query.Rules.QueryRuleManager($sspApp)
$queryRules = $queryRuleManager.GetQueryRules($searchObjectFilter)
$bestbets = $queryRuleManager.GetBestBets($SearchObjectFilter)
$promotedResults = $queryrules | Where-Object{$_.DisplayName -match “RP”}
$promotedResults | ForEach {
Write-Host “Query Rule Title: ” -ForegroundColor “Yellow” –NoNewLine
Write-Host $_.DisplayName -ForegroundColor “White”
Write-Host “Terms: ” -ForegroundColor “Yellow” –NoNewLine
Write-Host $_.QueryConditions.Terms -ForegroundColor “White”
Write-Host “Best Bet Title(s):” -ForegroundColor “Yellow” –NoNewLine
Write-Host -ForegroundColor “White” $_.AssignBestBetsAction.BestBetIds.GetBestBetsFromIds().Title
Write-Host “Best Bet URL(s):” -ForegroundColor “Yellow” –NoNewLine
Write-Host -ForegroundColor “White” $_.AssignBestBetsAction.BestBetIds.GetBestBetsFromIds().URL
Write-Output “Query Rule Title: ” $_.DisplayName
Write-Output “Terms: ” $_.QueryConditions.Terms
Write-Output “Best Bet Info: ” $_.AssignBestBetsAction.BestBetIds.GetBestBetsFromIds()} >> c:\temp\reportRP.txt

Neste caso utilizei uma query que obtenha uma lista de Resutados Promovidos que contenham PR no Display Name.

Abraços,

Carlos Citrangulo

 

WebCast – Explorando o Search do SharePoint

Olá SharePointers,

Rodrigo Romano e eu vamos iniciar uma série de web casts para abordar o Search Service do SharePoint 2013, esperamos poder contribuir falando sobre infraestrutura e desenvolvimento com o Search.

Agenda 1

30/03 – 21hs: Overview e provisionamento do Search – Link para participação

13/04 – 21hs: Utilizando o Search como acelerador de soluções

Abordaremos uma introdução ao Search do SharePoint e suas capacidades e como provisioná-lo de acordo com as boas práticas recomendadas pela Microsoft. E no próximo WebCast, como utilizar esse ambiente para acelerar o desenvolvimento de soluções de negócios sem utilizar códigos!

Abraços,

Carlos Citrangulo

%d blogueiros gostam disto: