Move the search index location in SharePoint 2013

by Marco Rietveld 18. september 2013 14:09

During the installation of SharePoint 2013 there is an option to change the search index location. The default location is C:\Program Files\Microsoft Office Servers\15.0\Data. It is possible to change the search index location to a dedicated volume after the installation using PowerShell.

Managing the search topology in SharePoint 2013 can be done only via PowerShell. Here is an article about the procedure: http://technet.microsoft.com/en-us/library/jj219705(v=office.15).aspx

Changing the search index location can be done by following the next steps:

  • Get the current search topology
  • Clone the current search topology
  • Modify the cloned Search topology
    (add a new index component with new search index location)
  • Activate the cloned search topology
  • Remove the old search topology
  • remove old index component
    (This means clone, modify, activate search topology and remove the old search topology)

Get the current Search topology

$ssa = Get-SPEnterpriseSearchServiceApplication "Search Service Application"
$instance=Get-SPEnterpriseSearchServiceInstance -Local
$current=Get-SPEnterpriseSearchTopology -SearchApplication $ssa

 

Clone the current Search topology

$clone=New-SPEnterpriseSearchTopology -Clone -SearchApplication $ssa -SearchTopology $current

 

Modify the cloned Search topology

This will add a second index component with a new index location.

New-SPEnterpriseSearchIndexComponent -SearchTopology $clone -IndexPartition 0 -SearchServiceInstance $instance -RootDirectory "E:\NewIndexLocation"

 

Activate the cloned Search topology

Set-SPEnterpriseSearchTopology -Identity $clone

 

Remove the old Search topology

Remove-SPEnterpriseSearchTopology -Identity $current

The next step, remove the old index component, should be done when the new index component is ready.
This can be checked from Central Admin on the Search Administration page, view the status of the search topology or use PowerShell Get-SPEnterpriseSearchStatus. The new index component must be Active.

 

Remove the old index component

This must be done by get, clone, modify, activate the new search topology and remove the old search topology

$current=Get-SPEnterpriseSearchTopology -SearchApplication $ssa
$clone=New-SPEnterpriseSearchTopology -Clone -SearchApplication $ssa -SearchTopology $current
$comp=Get-SPEnterpriseSearchComponent -SearchTopology $clone | ? {$_.Name -eq "IndexComponent1"}
Remove-SPEnterpriseSearchComponent -Identity $comp -SearchTopology $clone
Set-SPEnterpriseSearchTopology -Identity $clone
Remove-SPEnterpriseSearchTopology -Identity $current

Tags: | |

PowerShell Remoting voor SharePoint 2010

by Marco Rietveld 2. december 2010 10:51

Een mogelijkheid met PowerShell en SharePoint 2010 is remote management. Dit betekend dat het mogelijk is om via PowerShell een SharePoint 2010 server remote te beheren zonder eerst een remote desktop verbinding met de server op te zetten. Om dit te kunnen doen zijn er een aantal zaken die eerst geconfigureerd moeten worden.

SharePoint Server

Remoting
Om te beginnen moet “remoting” worden aangezet op de server.
Windows PowerShell Remoting wordt ingeschakeld door de volgende cmdlet in PowerShell

Enable-PSRemoting

image

Test of remoting werkt op de server zelf:

Enter-PSSession –ComputerName localhost

image

Geheugen limiet voor remote shell
Standaard wordt er aan een remote shell 150MB geheugen toegewezen. Dit kan een probleem zijn bij commando’s die veel geheugen nodig hebben en daardoor fout gaan.
Met het volgende cmdlet wordt deze limiet verhoogd naar 1000MB

Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1000

image

CredSSP-ondersteuning
Om geen problemen te krijgen met “double hop” authenticatie wordt CredSSP ingeschakeld.

Enable-WSmanCredSSP -Role Server

image

 

Client
Voer de volgende stappen uit op de computer welke gebruikt wordt voor SharePoint remote powershell

start gpedit.msc

Navigeer naar: 
Local Computer Policy--> Computer Configuration--> Administrative Templates--> System--> Credentials Delegation

image

Allow Delegation Fresh Credentials
Voeg de SPN van de SharePoint server toe in het volgende formaat WSMAN/computer.domain

Allow Delegating Fresh Credentials with NTLM-only Server Authentication
Voeg de SPN van de SharePoint server toe in het volgende formaat WSMAN/computer.domain

image

Windows PowerShell Remoting wordt ingeschakeld door de volgende cmdlet in PowerShell

Enable-PSRemoting

image

CredSSP-ondersteuning
Om geen problemen te krijgen met “double hop” authenticatie

Enable-WSManCredSSP -Role Client –DelegateComputer “Servernaam”

image

Heeft de user waarmee je bent ingelogd de juiste rechten op de SharePoint server dan is het mogelijk om verbinding te maken met de SharePoint server.

Enter-PSSession –ComputerName “Servernaam”

image

Heeft de user waarmee je bent ingelogd niet de juiste rechten op de SharePoint server dan is het mogelijk om een verbinding te maken met een ander account

image

Verbinding maken met een ander Account.

Maak een password bestand
Het password wat gebruikt wordt voor dit account wordt encrypt opgeslagen in een tekst bestand

Read-Host -AsSecureString | ConvertFrom-SecureString | out-file C:\shp_pws.txt

type hierna het password van het account dat je gebruikt om in te loggen op server gevolgd door een enter.

image

Maak de volgende variabelen:

$pwd = Get-Content C:\shp_pws.txt | ConvertTo-SecureString
$crd = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "domain\account",$pwd
$session = New-PSSession -computername "Servernaam" -Authentication CredSSP -Credential $crd

image 

Maak verbinding met de server.

Enter-PSSession $session

image

Laad de SharePoint cmdlets

Add-PSSnapin Microsoft.SharePoint.Powershell

image

Powershell script

Bovenstaand kan ook via een powershell script, het eerder aangemaakte password bestand kan hiervoor worden gebruikt.

Kopieer het volgende in een tekst bestand en sla het op als remote_server.ps1

$pwd = Get-Content C:\shp_pws.txt | ConvertTo-SecureString
$crd = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "domain\account",$pwd
$session = New-PSSession -computername "Servernaam" -Authentication CredSSP -Credential $crd
Enter-PSSession $session
Invoke-Command -Session $session -ScriptBlock{Add-PsSnapin Microsoft.SharePoint.PowerShell}

Om een verbinding te maken naar de sharepoint server, maak een shortcut aan met het volgende:

powershell.exe -noexit C:\remote_server.ps1

Tags: | |

WCF service fout bij uitvoeren PowerShell commands FAST Search Server

by Marco Rietveld 18. oktober 2010 22:11

Het uitvoeren van een PowerShell command op een Fast Search for SharePoint server gaf de volgende foutmelding:

”Failed to communicate with the WCF service”

Om PowerShell commands te kunnen uitvoeren moet het account waarmee je bent ingelogd op de server lid zijn van de groep FASTSearchAdministrators. Dit is een lokale groep op de Fast Search server.

Tags: | |

SP2010 Central Administration: Wijzig de naam van de content database

by Marco Rietveld 27. juli 2010 10:23

Na de installatie van SharePoint 2010 heeft de content database van de central administration site een niet zo handige naam. De naam van de database heeft een vaste naam gevolgd door een GUID, bijvoorbeeld: SharePoint_AdminContent_bf53c245-3c8a-4025-8da2-f9a13e168820

Indien je een meer logissche naam voor deze database wil, volg de volgende stappen:

  1. Zet de content database offline in Central Administration.
     
  2. Maak een backup van de database.
     
  3. Restore deze database in een nieuwe database, voorbeeld: SP2010_AdminContent
     
  4. Start SharePoint 2010 Management Shell.
     
  5. Om de content db te “dismounten” heb je de ID van deze database nodig.
     
    Get-SPContentDatabase -site http://CA webapp


    Id : 0c16e9f5-dd9b-41ea-9318-24ef666ac44c 
    Name : SharePoint_AdminContent_bf53c245-3c8a-4025-8da2-f9a13e168820
    WebApplication : SPAdministrationWebApplication
    Server : sql
    CurrentSiteCount : 2

     

  6. Dismount de content database.
     
    Dismount-SPContentDatabase 0c16e9f5-dd9b-41ea-9318-24ef666a

     
    Confirm
    Are you sure you want to perform this action?
    Performing operation "Dismount-SPContentDatabase" on Target
    "SharePoint_AdminContent_bf53c245-3c8a-4025-8da2-f9a13e168820".
    [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help
    (default is "Y"):
     
  7. Mount de nieuwe content database 
     
    Mount-SPContentDatabase "SP2010_AdminContent" -DatabaseServer "sql" -WebApplication http://CA webapp        

     
    Id : 0c16e9f5-dd9b-41ea-9318-24ef666ac44c
    Name : SP2010_AdminContent
    WebApplication : SPAdministrationWebApplication
    Server : sql
    CurrentSiteCount : 2
     
  8. Open Central Administration en controleer de content database van de Central Administration site

    image
     
  9. Wanneer Central Administration correct functioneert kan de “oude” database verwijderd worden.

Tags: | |

SharePoint 2010 PowerShell Cheat Sheet

by Marco Rietveld 19. april 2010 21:52

Een handige Cheat Sheet om te beginnen met PowerShell voor SharePoint 2010

Het bevat  PowerShell info over oa installatie, beheer van site collections, sites, lists, documents, jobs, workflows, Recycle Bin……

Download

Tags: |

PowerShell Intro voor SharePoint Admins

by Marco Rietveld 21. december 2009 15:57

SharePoint 2010 maakt naast stsadm gebruik van Windows PowerShell.

Zie volgende linkjes voor een intro PowerShell voor SharePoint Admins

Deel 1

Deel 2

Tags: | |

SharePoint 2010 - Developer Dashboard

by Marco Rietveld 28. november 2009 23:40

Een nieuwe feature in SharePoint 2010 is het developer dashboard.
Dit dashboard geeft informatie over oa alle code en elke database query die is uitgevoerd op een pagina

 

 DevDashboard

Het developer dashboard staat standaard uit en kan via stsadm of PowerShell worden aangezet.
STSADM
stsadm –o setproperty –pn developer-dashboard –pv OnDemand

PowerShell

$DevDashboardSettings = [Microsoft.SharePoint.Administration.SPWebService]::ContentService.DeveloperDashboardSettings;
$DevDashboardSettings.DisplayLevel = ‘OnDemand’;
$DevDashboardSettings.RequiredPermissions =’EmptyMask’;
$DevDashboardSettings.TraceEnabled = $true;
$DevDashboardSettings.Update()

 

 DevDashboardIcon

Het dashboard is beschikbaar via een icoon naast de gebruikersnaam.

Tags: | |

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2018 SharePoint Geek