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

Fehler Verteilter Cache SharePoint 2013

In manchen Fällen passiert es, dass sich der Verteilte Cache Dienst nicht mehr starten lässt.

Ein Versuch den Verteilten Cache Dienst mittels

remove-spdistributedcacheserviceinstance

bring die Fehlermeldung „cacheHostInfo is null„!

Abhilfe schafft nur das nachfolgende Powershellscript

$s = get-spserviceinstance „GUID Verteilter Cache“

$s.delete()

add-spdistributedcacheserviceinstance

Anschließend kann man den Dienst in der Zentraladministration des SharePoint wieder starten.

Sollte der Verteilte Cache gestartet aber die Abfrage get-cachehostconfig auf den Server und Port nachfolgenden Fehler liefern

appfabric fehler

kann dies mittels

stop-spdistributedcacheserviceinstance -gracefull

remove-spdistributedcacheserviceinstance

add-spdistributedcacheserviceinstance

wieder behoben werden.

Danach ist es möglich per get-cachehostconfig die Daten wieder anzufragen.

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