Service Pack 1 für SharePoint 2013 zurückgezogen

Microsoft hat das Anfang März veröffentlichte Service Pack 1 für den SharePoint Server 2013 inkl. aller Zusatzmodule zurückgezogen.

Auf der Description-Page von Microsoft http://support.microsoft.com/kb/2817429/en-us sind die Links für den Download zwar noch vorhanden, aber

der Download funktioniert nicht.

Auf der Seite an sich gibt es aber einen Hinweis darüber, welcher schnell überlesen werden kann.

Bisher konnte ich noch keine Statements finden, was der genaue Grund hierfür war.

 

Gruß

Mario

Kategorien:2013, SharePoint

Distributed Cache, lässt sich nicht starten “cacheHostInfo is null”

Folgende Situation:

Wir wollten in einer SharePoint 2013 Farm einen neuen Webserver hinzufügen um die Webfrontend Server zukünftig über ein Loadbalancer zu veröffentlichen. Nachträglich sollten die beiden Webfrondend Server für den Distributed Cache der SharePoint Farm genutzt und konfiguriert werden.

Nach dem der Server der Farm hinzugefügt war, wollte ich den Distributed Cache über die Zentraladministration starten.

Dabei wurde ein Fehler in Zentraladministration in “Services on Server” erzeugt.

Im Eventlog erschienen die drei folgenden Fehlermeldungen:

Log Name: Application
Source: SharePoint Foundation
Event ID: 7034
image

Log Name: Application
Source: SharePoint Foundation
Event ID: 3889
image

Log Name: Application
Source: SharePoint Foundation
Event ID: 6398
image

 

Der Lösungsversuch

Zunächst habe ich mit den Informationen aus der Technet versucht Informationen über den Status des Distrriuted Cache Clusters zu erhalten. Einen Überblick über den gesamten Cluster mit den Knoten bekommt man mit dem folgenden PowerShell Befehl.

$instancename ="SPDistributedCacheService Name=AppFabricCachingService"
Get-SPServiceInstance  | ?{($_.Service.Tostring()) -eq $instancename} | select Typename, Status, id, server | ft –AutoSize

image

Ich habe dann mit dem nachfolgenden Befehl, versucht den Server aus dem CacheCluster zu entfernen.

Remove-SPDistributedCacheServiceInstance

Aus dem Technet Artikel, siehe Link: Add or remove a server in a Distributed Cache cluster

Mit dem folgendem Ergebnis:
image

 

Nach dem dieser Befehl nicht erfolgreich war habe ich mich an den Technet Artikel, Repair a cache host orientiert.

$s = Get-SPServiceInstance GUID
$s.delete()

(Als Guid wurde die ID des Fehlerhaften Server eingetragen)

Dieser Befehl lief erfolgreich durch und der Server war aus dem Cache Cluster gelöscht. Zur Kontrolle wurde der erste Befehl verwendet siehe oben.
Ergebnis:
image

Nach dem der Vorgang erfolgreich war, habe ich gleich den folgenden Befehl, wie im Artikel beschrieben ausgeführt.

Add-SPDistributedCacheServiceInstance

Mit dem Ergebnis:
image
Diese Meldung besagt das der Server schon im Cluster vorhanden war, obwohl ich den Server ja eigentlich gelöscht hatte.

Ein Versuch den Dienst dann auf dem Server zu starten schlug auch wieder fehl.

 

Endlich die Lösung

Durch Unterstützung des Microsoft Supportes habe ich das Problem lösen können. (Hierbei noch einmal Danke an den MS Support)

Normalerweise soll der Distributed Cache nur über die PowerShell Befehle von SharePoint verwaltet werden. Da aber SharePoint den App Fabric Cache verwendet stehen uns noch mehr Befehle zur Verfügung.

Dafür muss die PowerShell Console der Caching Administration auf einem Server gestartet werden auf dem der Distributed Cache gestartet ist. (am besten gleich mit rechter Maustaste als Administrator starten)

In der Console habe ich dann den folgenden Befehl ausgeführt:

Get-CacheHost

Mit dem Ergebnis:
image

Obwohl ich den Server mit dem Befehl:
$s = Get-SPServiceInstance GUID
$s.delete()

zuvor gelöscht hatte, war der defekte Server immer noch in der CacheCluster-Config enthalten.

Um den Fehlerhaften Eintrag aus der Config zu bekommen, musste ich die Konfiguration des CacheClusters in eine XML-Datei exportieren:

Befehl:
Export-CacheClusterConfig –Path D:\Temp\CacheClusterConfig.xml

image

Danach habe ich die Datei mit dem Text-Editor geöffnet und den Fehlerhaften XML-Tag gelöscht.
Dabei muss der komplette Host-Tag des fehlerhaften Server gelöscht werden.
Mit Fehler:
image

Ohne Fehler:

image
Danach habe ich die Datei unter einem anderen Namen abgespeichert. Somit habe ich nicht die originale Config-Datei überschrieben.

Für den Import der Datei muss der Cache-Cluster noch gestoppt werden.
Wichtig: Hierfür einen Zeitraum außerhalb der Business Stunden wählen, da die Inhalte aus den anderen ClusterHosts gelöscht werden.

Stoppen des Clusters mit dem folgenden Befehl:

Stop-CacheCluster

image

Importieren der angepassten ConfigDatei:

Import-CacheClusterConfig –Path D:\Temp\CacheClusterConfig_Repair.xml

image

Starten des Cache Clusters:

Start-CacheCluster

image
Erfolgreicher Start der drei funktionierenden Cluster-Hosts

Hinzufügen des entfernten Server, hierfür muss die SharePoint-PowerShell Konsole auf dem zuvor entfernten Server geöffnet werden, um auf diesem Server den folgenden Befehl auszuführen:

Add-SPDistributedCacheServiceInstance

Mit diesem Befehl wurde der Server zum Cache Cluster hinzugefügt und erfolgreich gestartet.

Danach habe ich noch einmal geprüft ob die Cache Dienste auf allen Server ordnungsgemäß gestartet sind.

$instancename ="SPDistributedCacheService Name=AppFabricCachingService"
Get-SPServiceInstance  | ?{($_.Service.Tostring()) -eq $instancename} | select Typename, Status, id, server | ft -AutoSize

image

 

So das war´s, ich hoffe ich konnte einigen damit helfen.

 

Gruß

Mario

Kategorien:Allgemein

The User Does not exists or is not unique

Auf die og. Fehlermeldung bin ich in einer SharePoint 2010 Umgebung gestoßen, als ich einige Einstellungen an den HealthCheck Einträgen und Regeln anpassen wollte.

Jedes mal wenn ich in der Zentraladministration versucht habe die Einstellungen anzupassen habe ich den folgenden Fehler erhalten:

image

In den ULS Logs habe ich folgenden Einträge entnehmen können:
Could not get token super user token, reverting to system account.  User is

Object Cache: The super user account utilized by the cache is not configured. This can increase the number of cache misses, which causes the page requests to consume unneccesary system resources.  To configure the account use the following command ‘stsadm -o setproperty -propertyname portalsuperuseraccount -propertyvalue account -url webappurl’. The account should be any account that has Full Control access to the SharePoint databases but is not an application pool account.  Additional Data:  Current default super user account: SHAREPOINT\system

System.Runtime.InteropServices.COMException: The user does not exist or is not unique.    at Microsoft.SharePoint.Library.SPRequestInternalClass.GetUserToken(String bstrUrl, String bstrLogin)     at Microsoft.SharePoint.Library.SPRequest.GetUserToken(String bstrUrl, String bstrLogin)

Hierfür gibt es eine einfache Lösung, einfach die Cache Accounts für die Zentraladministrations Webanwendung setzen. Die Berechtigungen für die Cache Accounts der Zentraladministration kann man nur über PowerShell setzen.

Deshalb hier schnell das Script zum setzen der CacheAccounts:

$webapp = Get-SPWebApplication http://<Url und Port der Zentraladministration>
$writeAccount = “contoso\svcsssua”
$readAccount = “contoso\svcsssra”

$fullcontrol = $webapp.PolicyRoles.GetSpecialRole("FullControl")
$readcontrol = $webapp.PolicyRoles.GetSpecialRole("FullRead")

$FullRole = $webapp.Policies.Add($writeAccount,"SuperUserAccount")
$FullRole.PolicyRoleBindings.Add($fullcontrol)
$FullRead = $webapp.Policies.Add($readAccount,"SuperReaderAccount")
$FullRead.PolicyRoleBindings.Add($readcontrol)

$webapp.Update()

$webapp.Properties["portalsuperuseraccount"] = $writeAccount.Username
$webapp.Properties["portalsuperreaderaccount"] = $readAccount.Username
$webapp.Update()

 

Nach dem setzen der CacheAccounts sollte der IIS durch ein IISRESET neugestartet werden, bei mir haben aber die Einstellungen auch sofort gegriffen.

 

Bei mir ist der Fehler mit der folgenden SharePoint Build Number aufgetreten:

Version: 14.0.6126.5000

 

Viele Grüße

Mario

Kategorien:2010, PowerShell, SharePoint

Aktuelle Prerequisite URL’s SharePoint 2013 (Stand: 12.10.2013)

Im Internet habe ich einen genialen Beitrag für ein Download-PowerShell Script gefunden, hier der Link: Installing SharePoint 2013 Prerequisites Without an Internet Connection

Mit dem Script auf der Seite kann man leicht alle benötigten Prerequisites-Files für eine SharePoint 2013 Installation herunterladen.

Auf der Seite steht auch beschrieben das sich eventuell Links von MS ändern können hier einige Aktualisierungen:

Microsoft .NET Framework 4.5: http://download.microsoft.com/download/b/a/4/ba4a7e71-2906-4b2d-a0e1-80cf16844f5f/dotnetfx45_full_x86_x64.exe

SQL Server 2012 Native Client: http://download.microsoft.com/download/9/1/3/9138773A-505D-43E2-AC08-9A77E1E0490B/1033/x64/sqlncli.msi

Windows Management Framework 3.0: http://download.microsoft.com/download/E/7/6/E76850B8-DA6E-4FF5-8CCE-A24FC513FD16/Windows6.1-KB2506143-x64.msu

Windows Identity Foundation (KB974405): http://download.microsoft.com/download/D/7/2/D72FD747-69B6-40B7-875B-C2B40A6B2BDD/Windows6.1-KB974405-x64.msu

 

Viele Grüße

Mario

Kategorien:2013, SharePoint Schlagworte:

Windows 8 auf Virtuelle Festplatte installieren

Heute gibt es mal ein komplett anderes Thema auf meinem Blog. Wie viele schon wissen hat Microsoft vor ein paar Wochen das neue Windows 8 als Customer Preview veröffentlicht.

Dabei stellt sich bei einigen vielleicht die Frage, mache ich schon ein Update von meinem bisherigen Rechner. Oder installiere ich ein zweites Betriebssystem auf meinen Rechner? Diese beiden genannten Punkte sind zwar Ok aber ich persönlich würde das mit einer Vorabversion noch nicht auf meinen PC testen.
Auch die parallel Installation ist nicht wirklich optimal, da somit auch Einträge auf dem eigentliche Systemlaufwerk vorgenommen werden.

Außerdem kommt dann auch die Frage auf, wie lösche ich das System ohne größere Probleme und Rückstände?

Abhilfe schafft hier genau die gleiche Möglichkeit, die es auch schon bei Windows 7 gibt. Man installiert Windows 8 einfach auf einer virtuellen Festplatte (vhd), von der man auch normal den Rechner starten und auf alle Ressourcen zugreifen kann.

Voraussetzung hierfür ist das man auf den eingebauten Festplatten noch genügend Platz hat um solch eine vhd anzulegen. Das Volume sollte man sich merken!

Zuerst muss das gewünschte Image heruntergeladen werden.
http://windows.microsoft.com/en-US/windows-8/iso

Danach DVD brennen und den Rechner von der DVD booten.

P1030086
Im ersten Fenster was angezeigt wir einfach auf “Weiter” klicken.

 

P1030088
Danach müssen die “Computerreparaturoptionen” ausgewählt werden.

P1030089
Auswählen “Problembehandlung”

P1030090
“Erweiterte Optionen” wählen

P1030091
Dann die “Eingabeaufforderung” anklicken

In der Eingabeaufforderung wird das Programm “diskpart” gestartet. Einfach “diskpart” eingeben und mit “Enter” bestätigen.
image
über den Befehl: “List Volume” können noch einmal alle verfügbaren Laufwerke angezeigt werden.

P1030092
Anlegen der virtuelle VHD mit dem Befehl:
create vdisk file=d:\win8preview.vhd maximum=40000

Diese Befehl legt eine virtuelle Disk auf dem Volume D mit einer Größe von 40GB an.

P1030094

Auswählen der virtuellen Disk mit dem Befehl:
select vdisk file=d:\win8preview.vhd

Anhängen der virtuellen Disk:
attach vdisk

Danach wird das Programm “Diskpart” mit “exit” verlassen und das Setup wird mit dem Befehl “setup” fortgeführt.

 

P1030095
Auf “Weiter” klicken

 

P1030096

Wichtig: Hier muss “Benutzerdefiniert” ausgewählt werden.

P1030097
Im nächsten Fenster kann nun die virtuelle Disk ausgewählt werden. Der Warnhinweis des Assistenten “Windows kann nicht auf diesem Laufwerk installiert werden” kann ignoriert werden.

P1030098
Danach beginnt ganz normal die Installation, während der Installation startet der Rechner mehrmals durch. Wenn die Installation abgeschlossen ist erscheint das folgenden Boot-Menü:

P1030099
Das Boot-Menü wird standardmäßig 30sec angezeigt, es kann aber über die den Link:
”Standardeinstellungen ändern oder andere Optionen auswählen” angepasst werden.

 

P1030100
Windows 8 Menü für die Bootoptionen.

Nach dem nun die Installation abgeschlossen ist kann man ohne Probleme Windows 8 ausgiebig testen ohne Bedenken zu haben wie bekomme ist das OS wieder von meinem Rechner.

Mit dieser Variante brauch man nur das ursprüngliche OS (bei mir Windows 7) zu starten und die VDisk löschen, um Windows 8 zu entfernen. Zusätzlich muss man noch in Windows 7 mit dem Befehlszeilen-Tool BCDEdit den Eintrag aus dem Bootmenü entfernen. Eine Referenz zu über diese Tool findet Ihr unter dem folgenden Link:
http://technet.microsoft.com/de-de/library/cc709667(v=ws.10).aspx

Viel Spaß beim testen.

 

Gruß

Mario

Kategorien:Windows OS Schlagworte:

SPWakeUp3 starten durch ein bestimmtes Event

In meinem letzten Beitrag habe ich etwas über das Tool SPWakeUp3 und den automatischen Start über den Taskmanager geschrieben. Hierbei verwendete ich einen Zeitplan.

Seit Windows Server 2008 kann man auch über einen benutzerdefinierten XML Query Filter direkt auf ein Event reagieren.

Wie man diesen Filter anwendet, kann man in zahlreichen Artikeln im Netz lesen, ich habe zum Beispiel diese als Anregung verwendet:

Windows Event Viewer CUSTOM XML FILTER

Advanced XML filtering in the Windows Event Viewer

 

In dem Beispiel welches ich beschreibe möchte ich folgendes erreichen:

Da der Applicationpool für unsere Webanwendungen so eingestellt ist das er zu einem bestimmten Zeitpunkt neustartet, sollt die SPWakeUp3.exe nach dem auftreten dieses Events gestartet werden. Dabei soll aber nur auf ein bestimmten Applicationpool reagiert werden.

vorhandene Informationen:
- EventLog: System
- Quelle: WAS bzw. ProviderName: Microsoft-Windows-WAS
- Applicationpool Name: Test-AppPool
- EventID: 5076

Mit diesen Informationen kann man sich erst einmal im Eventlog den entsprechenden Filter zusammenstellen.
image

Danach werden die Einträge entsprechend gefiltert.
image

Bei diesen Filter werden alle Einträge mit der entsprechenden EventID angezeigt, um herauszubekommen wo der Name des Applicationpools steht. Ruft man am besten ein Event auf und sieht sich die XML-Struktur an.

image

Hier ist zu erkennen, dass der Applicationpool-Name unter dem XML-Tag “EventData” zu finden ist.

Da jetzt bekannt ist wo der Applicationpool-Name in dem Ereignis zu finden ist, muss nur noch der Filter um diese Eigenschaft ergänzt werden.
image

Hier der XML-Query:

<QueryList>
  <Query Id=”0″ Path=”System”>
    <Select Path=”System”>*[System[Provider[@Name='Microsoft-Windows-WAS'] and (Level=4 or Level=0) and (EventID=5076)]] and *[EventData[Data[@Name='AppPoolID'] and (Data =’Test-AppPool’)]]</Select>
  </Query>
</QueryList>

Wenn nach der Anpassung des Query´s das Eventlog betrachtet wird, ist zu erkennen das wirklich nur noch die Meldungen angezeigt werden welche dem XML-Query entsprechen.

Da das gewünschte Ergebnis erzielt wurde, kann der Query kopiert und in einen geplanten Task verwendet werden. Dazu wird die Aufgabenplanung geöffnet und es wird eine neue Aufgabe erstellt.

Bei der Erstellung des Triggers müssen dieses Mal die folgenden Einstellungen gewählt werden.
image

Auf “Neuer Ereignisfilter” klicken!

imageimage
XML und “Manuell bearbeiten” wählen und den kopierten Query in das Fenster kopieren.

Die anderen Task Einstellungen können dann individuell angepasst werden (siehe vorheriger Beitrag). Nach dem der Task abgespeichert wurde reagiert dieser auf den eingestellten Filter.

Es ist garantiert möglich noch weitere Filterparameter in den Query einzubauen, aber das sollte als ersten Überblick reichen.

Gruß
Mario

Kategorien:2010, Allgemein, SharePoint Schlagworte:

Automatisches Starten von SPWakeUp3

Kurz etwas zu SPWakeUp3

Wer kennt nicht das Problem, in der Nacht werden die Application-Pools wiederverwendet und am nächsten Morgen dauert der 1. Zugriff auf die SharePoint Anwendung ziemlich lange. Dann heißt es gleich: “das System ist zu langsam und man kann damit nicht arbeiten.”

Die automatische Wiederverwendung ist aber ein notwendiger Prozess um fehlerhafte Objekte oder auch s.g. Speicherlöcher aus dem Applicationpool-Prozess zu löschen.

Um nach einer solchen Wiederverwendung die SharePoint Seiten wieder “aufzuwecken”, gibt es das Tool SpWakeUp3 auf Codeplex.

Hier der Link: Codeplex SpWakeUp3

Diese Tool ruft im Hintergrund alle Webseiten einmal auf, wodurch die Seiten neu kompiliert und in dem Prozessspeicher abgelegt werden.

Das Tool muss nur in einem gewünschten Pfad im Fileverzeichnis abgelegt werden, dann kann es über die Kommandozeile oder über den Taskplaner  starten.

Die Parameter die diesem Toll mitgegeben werden können, kann man über durch den Parameter: spwakeup3.exe –help aufrufen.
image

So könnte die Ausgabe bei einem Start über die Kommandozeile aussehen.
image

Und so könnte die E-Mail dann noch aussehen:
image

 

Automatischer Start mit Taskplaner durch einen Zeittrigger

Um einen automatischen Start dieses Tools zu veranlassen ist es am einfachsten einen geplanten Task mit einer Zeitsteuerung zu starten.

Schritt 1: Aufgabenplanung starten und auf “Aufgabe erstellen” klicken
image

Schritt 2: Zeittrigger einrichten
image
In diesem Beispiel wir der Task stündlich jeden Tag ab 6:00 Uhr für 12 Stunden ausgeführt. Man kann natürlich auch mehrere Zeittrigger zu bestimmten Uhrzeiten einrichten, wenn der stündliche Start zu häufig ist.

Schritt 3: Aktion einrichten
image
In dem Fenster “neue Aktion” das Programm über “Durchsuchen” auswählen und zusätzlich noch die gewünschten Parameter in dem Argumente-Feld hinzufügen.

Die Werte in den beiden Registerkarten “Bedingungen” und “Einstellungen” kann man auf den Standardwerten lassen. Mit Ok alle Fenster schließen.
Noch den Benutzernamen und Kennwort für das ausführende Konto angeben, dann ist es geschafft.
image
Benutzername, Kennwort wird benötigt da die Aufgabe unabhängig von der Benutzeranmeldung ausgeführt werden soll.

Im nächsten Artikel beschreibe ich wie man den Task auf ein bestimmtes Event im Eventlog starten kann.

 

Bis dahin,

Gruß Mario

Kategorien:2010, Allgemein, SharePoint Schlagworte:
Follow

Erhalte jeden neuen Beitrag in deinen Posteingang.