Verschieben der Suchtopologie auf einen anderen Server

Verschieben der Suchtopologie

In vielen Fällen ist es von Vorteil die einzelnen Komponenten der Suche auf verschiedene Server zu verteilen. Das hat den Vorteil, dass lastintensive Aufgabe, wie z.B. das Erstellen und Aufbauen des Index nicht auf dem Frontend Server, dem Application Server oder dem Server welcher die Suchanfragen verarbeitet, laufen muss.

Im ersten Schritte holt man sich die vorhandene Suchtopologie und klont diese.

$ssa = get-spenterprisesearchserviceapplication
$active = get-spenterprisesearchtopology -searchapplication $ssa –active
$clone = new-spenterprisesearchtopology -searchapplication $ssa -clone –searchtopology $active

Der zweite Schritt beinhaltet das Starten des Suchdienstes auf dem zusätzliche Server.

$newserver = get-spenterprisesearchserviceinstance -identity „weiterer Server“

start-spenterprisesearchserviceinstance -identity $newserver

Im dritten Schritte werden der neuen Suchtopologie die Komponenten am neunen Server hinzugefügt.

new-spenterprisesearchqueryprocessingcomponent -searchtopology $clone -searchserviceinstance $newserver
new-spenterprisesearchanalyticsprocessingcomponent -searchtopology $clone -searchserviceinstance $newserver
new-spenterprisesearchcontentprocessingcomponent -searchtopology $clone -searchserviceinstance $newserver
new-spenterprisesearchindexcomponent -searchtopology $clone -indexpartition 0 -searchserviceinstance $newserver

Anschließend identifiziert man die Komponenten, welche vom alten Server aus der geklonten Topologie gelöscht werden sollen.

get-spenterprisesearchcomponent -searchtopology $clone

remove-spenterprisesearchcomponent -identity Componentenname -searchtopology $clone -confirm:$false

Abschließend setzt man die geklonte Topologie aktiv.

set-spenterprisesearchtopology -identity $clone

AD Gruppen nicht aktuell

SharePoint 2013 keine aktuellen AD Gruppen mit Claims Authentifizierung

In einer SharePoint-Umgebung in der AD Gruppen zum Berechtigen von Usern genutzt werden kann es oftmals passieren, dass Nutzer welche in  der AD Gruppe sind trotzdem keine Berechtigung auf dem SharePoint haben.

Das liegt daran, das der SharePoint Server, sobald sich der Nutzer anmeldet, einen Token mit der Information über den Nutzer mit allen zugehörigen Gruppenmitgliedschaften genneriert. Im Original wird diese Information für 24 Stunden gespeichert.

stsadm.exe -o getproperty -propertyname token-timeout

Dies sollte nachfolgende Ausgabe liefern.

<property exist=“Yes“ value=“1440″ />

Die 1440 stehen hierbei für die Lebenszeit des Token in Minuten.

Im nächsten Schritt kann man nun diese Lebenszeit seinen Bedürfnissen anpassen.

stsadm.exe -o setproperty -propertyname token-timeout -propertyvalue 5

Updated My Tasks on MySite

Aktualisierungsfehler My Tasks auf der MySite

In vielen Fällen kann es passieren, dass nach dem Erstellen der MySite die Aufgaben unter My Tasks nicht aktualisiert werden. Ein erster Anhaltspunkt dafür ist, dass die Anzeige Zuletzt aktualisiert auf dem 01.01.1901 steht und ein gelbes Ausrufezeichen davor angezeigt wird.

Zur Behebung des Fehlers prüft man als erstes ob der Benutzerprofilssyncronisations- und der Arbeitsverwaltungsdienst laufen. Dies bringt aber in 90 Prozent der Fälle keinen Erfolg. Denn das Problem liegt an einer ganz anderen Stelle. Um hier einen Erfolg zu erzielen, muss die fehlende Berechtigung für den Application Pool auf die Benutzerprofildienstanwendung gesetzt werden.

Dazu prüft man im ersten Schritt den Namen des Anwendungspool.

Anwendungspool UPS

Im nächsten Schritt prüft man das Servicekonto des Anwendungspools.

Servicekonto des Anwendungspools

 

Im dritten und letzten Schritt berechtigt man nun dieses Konto auf der Benutzerprofildienstanwendung.

Berechtigen des Anwendungspool

 

Abschließend kann geprüft werden, ob nun My Tasks auf der MySite aktualisiert wurden.

Aktualisierte Vorgänge

Erstellung eines multiple Domain Zertifikat

In vielen Fällen ist es nötig, dass man ein Zertifikat mit mehreren DNS Namen erstellt. Eine kurz Anleitung wird nachfolgend Beschrieben

  1. MMC.exe als Admin auf dem Webserver starten und das Zertifikate SnapIn für Computerkonten hinzufügen.              Zertifikat MMC
  2. Eigene Zertifikate mit der rechten Maustaste anklicken –> Alle Aufgaben –> Erweiterte Vorgänge –> Benutzerdefinierte Anforderungen erstellen auswählen  Zertifikatanforderung
  3. Anschließend klickt man sich durch den AssistentenZertifikat3
  4. Wählt die Richtlinie des Active Directory ausZertifikat4
  5. Hierbei ist wichtig, dass die Vorlage Webserver ausgewählt ist.Zertifikat5
  6. durch das klicken auf Eigenschaften kann man nun wie in Punkt 6 zu sehen die benötigten Eingaben vornehmen.
  7. Zertifikat6
  8. Zertifikat7
  9. Abschließend speichert man die Zertifikatanforderung noch ab.Zertifikat8
  10. Anschließend kann diese Zertifikatanforderung bei der zuständigen Domänezertifizierungsstelle eingereicht werden.

SharePoint-Farm PassPhrase anpassen

PassPhrase wiederherstellen

Immer wieder kommt es vor, dass man einen neuen Server in eine bestehende SharePoint Farm aufnehmen muss. Oft passiert es dabei, dass der Zugang unmöglich ist, weil die PassPhrase vergessen wurde oder gar nicht bekannt ist.

Nachfolgend wird kurz beschrieben, wie das beschriebene Problem gelöst werden mittels PowerShell gelöst werden kann und die PassPhrase sich neu setzen läßt. Ein Weg die alte auszulesen ist meines Wissens nicht möglich.

Vorgehen:

Als erstes startet man die PowerShell und lädt das SharePoint PowerShellPlugin mit

add-pssnapin microsoft.shahrepoint.powershell

Anschließend speichert man die PassPhrase in eine variable mit SecureString mittels

$pass = ConvertTo-SecureString -AsPlainText -Force

Convertierung SecureString

Dies startet einen Dialog in dem man die Password String eingeben muss und mit der Enter-Taste bestätigt.

Danach setzt man die PassPhrase neu mit

Set-SPPassPhrase -PassPhrase $pass -Confirm

Setzen der neuen PAssPhrase

Anschließend gibt man im Dialog die Phrase nochmals ein, schließt die Eingabe mit der Enter-Taste ab und bestätigt dies nochmals mit Y.

Nun kann man mit der neuen Phrase einen Server in die Farm aufnehmen.

 

Contentdatenbank umbenennen

Umbenennen einer Contentdatenbank

Das Umbenennen einer Contentdatenbank ist in manchen Fällen nötig. Zum Beispiel, wenn die automatisch generierte Datenbank im Namen eine GUID enthält. s.h. Bild

Ansicht Contendatenbank mit GUID

 

1.Schritt

Dazu startet man die PowerShell und lädt das Sharepoint-Modul mit

add-pssnapin microsoft.sharepoint.powershell

Anschließend listet man die jeweilige Datenbank für die einzelnen Webapplicationen auf.

get-spwebapplication | select-object Url, ContentDatabases | Format-List

Ansicht der Contentdatenbanken pro Webapplication

2.Schritt

Als nächsten Schritt wird die Datenbank abgehangen. Das erfolgt mittels

dismount-spcontentdatabase Datenbankname

Dismount Contentdatenbank

dies muss mit Y bestätigt werden..

3.Schritt

Anschließend kann man die Contentdatenbank im SQL Management Studio mittels Query umbenennen.

Umbenennen einer Contendatenbank im SQL Management Studio

4.Schritt

Abschließend muss die Contentdatenbank mittels

mount-spcontentdatabase „neuer Datenbankname“ -Webapplication URL

wieder angefügt werden.

Anhängen der Contentdatenbank

Benachrichtigungen im SharePoint mittels PowerShell anpassen

In diesem Beitrag wir kurz beschrieben, wie man die Benachrichtigungen mit Hilfe der PowerShell anzeigen, anpassen und löschen kann.

1. Anzeigen der Benachrichtigungen

$web = get-spweb „URL der SharePoint Webseite“ 

foreach($benachrichtigung in $web.alerts)

{

$benachrichtigung.User.Name + “  “ + $benachrichtigung.alertfrequency

}

Das zeigt den Nutzer und die jeweilige Benachrichtigungsfrequenz an.

2. Anpassen der Benachrichtigung

$web = get-spweb „URL der SharePoint Webseite“ 

foreach($benachrichtigung in $web.alerts)

{

if($benachrichtigung.User.Name -eq „Name des Benutzers“)

{

$benachrichtigung.AlertFrequency Microsoft.SharePoint.SpAlertFrequency]::Daily

$benachrichtigung.Update()

}

}

Dadurch kann die Benachrichtigungsfrequenz auf täglich gestellt werden.

3. Löschen der Benachrichtigung

$web = get-spweb „URL der SharePoint Webseite“ 

$benachrichtigungen= $web.alerts

$nutzer= “Domaine\Nutzername”

$meinebenachrichtigungen= @()

foreach ($benachrichtigung in $benachrichtigungen)

{

if ($benachrichtigung .User -like $nutzer)

{

$meinebenachrichtigungen += $benachrichtigung

}

}

foreach ($del in $meinebenachrichtigungen)

{

$benachrichtigungen.Delete($del.ID)

}

Anpassen der E-Mail Adresse eines Benutzer in SharePoint via PowerShell

Nachfolgend wird beschrieben, wie man mit Hilfe der PowerShell die E-Mail Adresse bzw. andere Nutzerdaten anpassen kann.

  1. man startet die PowerShell mit einem Nutzer der administrative Rechte auf dem SharePoint Server hat.
  2. anschließend lädt man das SharePoint PowerShell Snapin mit add-pssnapin microsoft.sharepoint.powershell 
  3. als nächstes holt man sich den gesuchten Nutzer mit §nutzer=get.-spuser „domaine\benutzername“ -web „URL der Sitecollection“
  4. nun kann man mit $nutzer.Email = „Emailadresse“ die neue E-Mail Adresse setzen
  5. Abschließend muss man das ganze mit $nutzer.Update() speichern
  6. Überprüfen kann man das ganze anschließend mit $nutzer.Email

Verknüpfte Datenquellen in SharePoint 2013

Verknüpfte Datenquellen kennt man oft nur aus der Datenbankwelt. Sie können jedoch auch direkt im SharePoint Server genutzt werden. Verknüpfte Datenquellen bieten dabei einige Vorteile. So tragen sie zum Beispiel zur Übersichtlichkeit in den einzelnen SharePoint-Listen bei. Für den Anwender wird eine zusammengefasste Ansicht über alle erzeugt.

Zur Erstellung einer verknüpften Datenquelle mittels dieses Beitrags benötigt man, zusätzlich zum SharePoint inklusive administrativen Recht auf der SiteCollection, einen SharePoint Designer. Ausgangspunkt sind zwei benutzerdefinierte SharePoint-Listen, eine welche den Kundennamen und die Bestellnummer beinhalten, eine andere mit den einzelnen Positionen der Bestellung.

Dazu legt man erst eine Liste Kundenbestellungen mit den Feldern Kundenname und Bestellnummer. Zum Test sind die Datentypen dabei irrelevant.(Eine Textzeile gewählt). Die zweite Liste nennt man Bestellungen. Diese beinhaltet die Felder Bestellnummer, Position und Bezeichnung. Auch hier ist der Datentyp irrelevant. Abschließend ändert man noch die Titelspalte in nicht erforderlich und achte darauf, dass in der Liste Bestellungen die Bestellnummer nicht eindeutig sein darf.

Als nächstes öffnet man im SharePoint Designer die SiteCollection, wo diese Listen erstellt wurden und erstellt unter Data Source eine neue Linked Data Source.

Verknüpfte Datenquelle

Im sich öffnenden Fenster wählte man anschließend Configure Linked Source… und fügt die Listen Kundenbestellungen und Bestellungen zu den Selected Data Sources hinzu.

verknüpfte Datenquelle

Anschließend klickt man auf Next und wählt den Punkt „Join the contents of the data sources…

 verknüpfte Datenquelle

und bestätigt das ganze mit Finish.

Anschließend kann man hinter der jeweiligen Liste mittels Edit noch Einstellungen für die Sortierung, Filterung und Anzeige vornehmen.

verknüpfte Datenquelle

verknüpfte Datenquelle

 Damit wäre die Verknüpfung der Datenquellen abgeschlossen. Nachfolgend kann man sich um das Anzeigen kümmern. Dazu nimmt man entweder eine vorhanden Seite oder erstellt sich im SharePoint Designer eine neu. Diese öffnet man anschließend im SharePoint Designer im erweiterten Modus

verknüpfte Datenquellen

 

und setzt den Courser zwischen den <form Tag. Nun kann man unter der Registrierkarte Insert eine neue Data View für seine verknüpfte Datenquelle einfügen.

vd8

 

Anschließend markiert man den gesamten eingefügten Bereich, wählt im rechten Bereich unter Data Source Details die entsprechenden Felder der übergeordneten Liste aus und fügt diese über Insert Selected Fields as Multiple Item View ein.

vd9

 

Als hilfreich dabei erweist sich, wenn schon ein Dummy Datensatz in den Listen vorhanden ist. Außerdem ist zu beachten, dass im Designer Funktionen manchmal ausgegraut sind, wenn das Dokument noch nicht gespeichert wurde.

Damit bekommt man nun beim Aufruf der Seite eine Datenansicht der ersten Liste.

vd10

Als nächstes sucht man im Quellcode der Seite im SharePoint Designer den Tag wo die Daten des zu verknüpfenden Feldes geladen werden. In dem Fall <xsl:value-of select=“@Bestellnummer“/> . Nun setzt man dahinter den Courser, wählt diesmal die Felder der zweiten Liste aus und fügt dies mit Insert Selected Fields as Joined Subview ein.

vd11

Dabei muss nun die zu verknüpfende Spalte angegeben werden.

vd12

Nach anschließendem Speichern und aufrufen im Browser bekommt man nachfolgendes Ergebnis.

vd13

Anschließend sollte die Ansicht dann mittels CSS formatiert und Links zu den einzelnen Objekten eingefügt werden. Der Einfachheit halber wurden hier nur Rahmen hinzugefügt.

Verknüpfte Daten aus zwei SharePoint-Listen

Suchhostcontroller-Dienst

Suchhostcontroller-Dienst startet nicht richtig

Oft passiert es, das der Suchhostcontroller-Dienst in der Zentraladministration dauerhaft auf „wird gestartet“ steht. Dieses Problem habe ich schon des öfteren bei SharePoint 2013 Farmen erlebt. Der Fehler im Suchhostcontroller-Dienst lässt sich auch nicht über einen Neustart des Servers beheben. Außerdem gibt es keine Möglichkeit diesen über die Zentraladministration wieder in einen definierten Zustand zu bringen. Einzig der Einsatz der PowerShell schaft hier Abhilfe.

Als erstes startet man die PowerShell als Farm-Administrator. Anschließend gibt man den Befehl

add-pssnapin microsoft.sharepoint.powershell

ein, um das PowerShell Snapin für SharePoint zu laden. Danach holt man sich den Dienst, welcher im „wird gestartet“ festhängt. Dies erfolgt mittels

$service = get-spserviceinstance | where {$_.Status -like „Provisioning“}

Nun kann der Dienst mit

$service.unprovision()

beendet und mit

$service.provision()

neu gestartet werden.

 

Eine Übersicht findet man unter Microsoft SPServiceInstance Referenz