SharePoint Dienste Tabelle inklusive Status – PowerShell Skript

SharePoint Dienste Tabelle inklusive Dienst-Status per PowerShell Skript generieren

Das PowerShell-Skript in diesem Artikel erstellt eine SharePoint Dienste Tabelle. In dieser Tabelle werden alle SharePoint-Dienste, die in der Farm vorhanden sind, mit dem Status auf den SharePoint-Servern der SharePoint-Farm ausgegeben.

Beispielausgabe:

Service Server01 Server02 Server03 Server04
Server Suche Online Online Disabled Disabled
Verteilter Cache Online Online
Zentraladministration Online Online Disabled Disabled
. . . . . . . . . . . . . . .

Diese Tabelle der SharePoint Dienste inklusive Dienst-Status wird in der PowerShell-Konsole ausgegeben. Zusätzlich wird die Tabelle in eine Text-Datei (TXT) und eine CSV-Datei geschrieben und per Mail verschickt. Die Erstellung bzw. den Versand kann man per Windows-Task z.B. einmal pro Woche automatisieren.

Das Skript könnte, zusammen mit den anderen Skripten aus unserer Artikelreihe „Inventarisierung„, dem SharePoint-Admin dabei helfen, seine SharePoint-Umgebung zu erfassen und den Überblick über Sitecollections, Datenbanken und andere Sharepointfarmkomponenten zu behalten.

SharePoint Dienste Tabelle inklusive Status – PowerShell Skript weiterlesen

SharePoint DB Liste nach Größe sortiert – PowerShell Skript

SharePoint DB Liste (nach Größe) sortiert per PowerShell Skript generieren

Das folgende PowerShell-Skript generiert eine SharePoint DB Liste, die nach Größe sortiert ist. Am Ende wird auch die Summe dieser Datenbanken berechnet.

Diese Liste wird in der PowerShell-Konsole ausgegeben. Zusätzlich wird die Liste in eine Text-Datei (TXT) und eine CSV-Datei geschrieben und per Mail verschickt. Die Erstellung bzw. den Versand der SharePoint DBs Liste kann man per Windows-Task z.B. einmal pro Woche automatisieren.

Das Skript könnte, zusammen mit den anderen Skripten aus unserer Artikelreihe „Inventarisierung„, dem SharePoint-Admin dabei helfen, seine SharePoint-Umgebung zu erfassen und Überblick über Sitecollections, Datenbanken und andere Sharepointfarmkomponenten zu behalten.

SharePoint DB Liste nach Größe sortiert – PowerShell Skript weiterlesen

SharePoint AAM – Alternate Access Mapping – Liste – PowerShell Skript

SharePoint AAM (Alternate Access Mapping) Liste per PowerShell generieren

Das folgende PowerShell-Skript generiert eine Liste von SharePoint AAM (Alternate Access Mapping).

Diese Liste wird in der PowerShell-Konsole ausgegeben. Zusätzlich wird die Liste in eine Text-Datei (TXT) und eine CSV-Datei geschrieben und per Mail verschickt. Die Erstellung bzw. den Versand der SharePoint AAM Liste kann man per Windows-Task z.B. einmal pro Woche automatisieren.

Das Skript könnte, zusammen mit den anderen Skripten aus unserer Artikelreihe „Inventarisierung„, dem SharePoint-Admin dabei helfen, seine SharePoint-Umgebung zu erfassen und Überblick über Sitecollections, Datenbanken und andere Sharepointfarmkomponenten zu behalten.

SharePoint AAM – Alternate Access Mapping – Liste – PowerShell Skript weiterlesen

Invoke-Sqlcmd : Could not load file or assembly Microsoft.SqlServer.BatchParser

Problem

Invoke-Sqlcmd : Could not load file or assembly Microsoft.SqlServer.BatchParser

Invoke-Sqlcmd : Could not load file or assembly ‚Microsoft.SqlServer.BatchParser, Version=11.0.0.0, Culture=neutral,
PublicKeyToken=89845dcd8080cc91′ or one of its dependencies. The system cannot find the file specified.
At line:1 char:1
+ Invoke-Sqlcmd
+ ~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Invoke-Sqlcmd], FileNotFoundException
+ FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand

Invoke-Sqlcmd : Die Datei oder Assembly Microsoft.SqlServer.BatchParser oder eine Abhängigkeit davon wurde nicht gefunden

Invoke-Sqlcmd : Die Datei oder Assembly „Microsoft.SqlServer.BatchParser, Version=11.0.0.0, Culture=neutral,
PublicKeyToken=89845dcd8080cc91“ oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.
In Zeile:1 Zeichen:1
+ Invoke-Sqlcmd
+ ~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Invoke-Sqlcmd], FileNotFoundException
+ FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand

Invoke-Sqlcmd : Could not load file or assembly Microsoft.SqlServer.BatchParser weiterlesen

Telnet-Client per PowerShell installieren – Tipp

Telnet-Client per PowerShell auf einem Windows Server installieren

Mit Hilfe des Telnet-Client kann getestet werden, ob die Verbindung zu einem Server auf einem bestimmten Port funktioniert.

Leider ist der Telnet-Client zwar vorhanden, aber in Windows standardmäßig nicht aktiviert (als Feature nicht installiert).

In diesem kurzen Tipp möchte ich zeigen, wie man Telnet-Client per PowerShell installieren kann.

Telnet-Client per PowerShell installieren – Tipp weiterlesen

CHKDSK Log – Ergebnisse der Fehlerüberprüfung finden

CHKDSK Log

In manchen Fällen möchte man sich die Ergebnisse vom CHKDSK Lauf (Datenträger-Fehlerüberprüfung) anschauen.

Das ist z.B. der Fall, wenn Windows einen Festplattenfehler feststellt und nach einem Neustart anfängt CHKDSK auszuführen. Das Problem dabei ist, dass die Festplatten-Überprüfung recht lange dauert und die Ergebnisse am Ende des CHKDSK-Checks kurz angezeigt werden und der Rechner danach sofort hochfährt. Sitzt man am Ende der Überprüfung nicht vor dem Bildschirm, so hat man scheinbar Pech gehabt. In dem Moment bleibt es erst einmal unklar, ob CHKDSK Fehler gefunden und repariert hat.

Manchmal werden die CHKDSK-Ergebnisse auch gar nicht angezeigt wie im Fall von Windows 10

CHKDSK Check Windows 10 - Windows Start - Laufwerk C wird überprüft

In dieser Anleitung zeige ich, wie man das CHKDSK Log auch nachträglich finden und anschauen kann.

CHKDSK Log – Ergebnisse der Fehlerüberprüfung finden weiterlesen

Alte IIS C:\inetpub\logs\LogFiles nach X Tagen bereinigen

IIS Log Dateien löschen, die älter sind als X Tage

Es kann passieren, dass der Ordner in dem der Web-Server die Log-Dateien speichert (C:\inetpub\logs\LogFiles) mit der Zeit recht groß wird.

Im Internetinformationsdienste (IIS)-Manager selbst kann man nur auswählen, wie oft eine neue Log-Datei erstellt oder wie groß die Log-Datei werden soll. Auch kann eingestellt werden, dass keine neuen Protokolldateien erstellt werden sollen. Allerdings kann nicht eingestellt werden, dass die neusten Dateien behalten und die alten Log-Dateien gelöscht werden.

internetinformationsdienste-iis-manager-protokollierung-c-inetpub-logs-logfiles

Wie die IIS Log Dateien, die älter als X Tage sind, trotzdem regelmäßig gelöscht werden können, zeige ich in diesem kurzen Artikel weiter unten.

Alte IIS C:\inetpub\logs\LogFiles nach X Tagen bereinigen weiterlesen

SQL Server Reporting Services SharePoint Mode – SSRS Feature fehlt

Problem

SQL Server Reporting Services Menüeinträge im SSRS-Kontextmenü fehlen

Die Menüeinträge im Kontextmenü eines Berichtes sehen normalerweise wie in diesem Bild aus:

SQL Server Reporting Services - Menüeinträge im SSRS-Kontextmenü - Drei-Punkte-Menü - Im Berichts-Generator bearbeiten - Abonnements verwalten - Datenquellen verwalten - SharePoint 2013

In unserem Fall fehlen plötzlich die oben gezeigten SSRS-Menüpunkte in dem Kontextmenü wie auf dem Bild unten zu sehen.

SQL Server Reporting Services - Menüeinträge im SSRS-Kontextmenü fehlen - Drei-Punkte-Menü - Im Berichts-Generator bearbeiten - Abonnements verwalten - Datenquellen verwalten - Fehler- SharePoint 2013

SSRS Feature fehlt

Zahnrad > Websiteeinstellungen > Websitesammlungsfeatures

Zahnrad - Site Menü - Websiteeinstellungen - SharePoint 2013Websiteeinstellungen - Websitesammlungsverwaltung - Websitesammlungsfeatures Button - SharePoint 2013

Normalerweise ist in der Auflistung von Websitesammlungs-Features auch das SSRS-Feature „Berichtsserver-Integrationsfunktion“ vorhanden.

Websitesammlungsverwaltung - Websitesammlungsfeatures - Berichtsserver-Integrationsfunktion - Aktiv - SharePoint 2013

In unserem Fall fehlte plötzlich das SSRS-Feature „Berichtsserver-Integrationsfunktion“ wie im Bild unten zu sehen.

SSRS Feature fehlt - Websitesammlungsverwaltung - Websitesammlungsfeatures - Berichtsserver-Integrationsfunktion - nicht vorhanden - SSRS - SharePoint 2013

SSRS Feature ReportServer fehlt

Mit dem CMDlet „Get-SpFeature“ kann man die SharePoint-Features auflisten.

Normalerweise ist das SSRS-Feature „ReportServer“ in der Auflistung der Features vorhanden, falls SSRS im SharePoint-Mode installiert ist (s. Bild u.)

Get-SPFeature | where "DisplayName" -like *report*

SSRS Feature fehlt - CMDlet - Get-SPFeature where DisplayName -like report - ReportServer vorhanden

In unserem Fall war dieses Feature „ReportServer“ nicht vorhanden (wie im Bild u. zu sehen).

SSRS Feature fehlt - CMDlet - Get-SPFeature where DisplayName -like report - Feature ReportServer fehlt

SQL Server Reporting Services SharePoint Mode – SSRS Feature fehlt weiterlesen

Die Benennung „Install-SPRSService“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt

Problem

Die Benennung „Install-SPRSService“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt

Install-SPRSService : Die Benennung „Install-SPRSService“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder einesausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.

The term ‘Install-SPRSService’ is not recognized as the name of a cmdlet, function, script file, or operable program.

Die Fehlermeldung auf Englisch lautet:

The term ‘Install-SPRSService’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if the path was included, verify that the path is correct and try again.

Details

Beschreibung

Eventuell sind nach der Installation der SSRS-SQL-Module keinerlei SSRS-Elemente zu finden. Eventuell sind auch keine SSRS CMDlets vorhanden und die Dienstanwendung und SSRS Dienste sind in der ZA nicht zu sehen.

Beim Ausführen der SSRS CMDlets wird folgende oder ähnliche Fehlermeldung angezeigt:

Install-SPRSService : Die Benennung „Install-SPRSService“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder einesausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.

oder

The term ‘Install-SPRSService’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if the path was included, verify that the path is correct and try again.

Install-SPRSService : Die Benennung "Install-SPRSService" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines
ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den
Vorgang.
In Zeile:1 Zeichen:1
+ Install-SPRSService
+ ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Install-SPRSService:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Die Benennung „Install-SPRSService“ wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt weiterlesen

Office Web Apps Version herausfinden – Tipp

Wie kann man Office Web Apps (OWA bzw. WAC) Version bzw. den Patchlevel herausfinden?

Auf dem OWA-Server

Folgender Code funktioniert nur auf den OWA-Servern, da nur dort die CMD-Lets vorhanden sind.

In der PowerShell Konsole, die als Administrator auf einem der OWA-Server gestartet wurde, folgendes ausführen um die Office Web Apps Version herauszufinden:

# OWA Version anzeigen (die OWA-Adresse wird aufgelöst)

$OWA = (Get-OfficeWebAppsFarm).InternalURL.OriginalString
(Invoke-WebRequest $OWA/m/met/participant.svc/jsonAnonymous/BroadcastPing).Headers["X-OfficeVersion"]

Falls die Seite nicht aufgerufen werden kann (z.B. in einer Reverse-Proxy Umgebung), dann kann man auch folgende Seite ausprobieren:

(Invoke-WebRequest $OWA/op/servicebusy.htm).Headers["X-OfficeVersion"]

Auf einem anderen Server (z.B. SP-Server)

Um das Snippet auf einem nicht OWA-Server auszuführen, muss man die OWA-Adresse anpassen, um die Office Web Apps Version herauszufinden, da hier keine OWA-Cmdlets zur Verfügung stehen.

# OWA Version anzeigen (die OWA-Adresse muss angepasst werden)

$OWA = "http://owaurl.de"   # Hier die OWA-Adresse anpassen
(Invoke-WebRequest $OWA/m/met/participant.svc/jsonAnonymous/BroadcastPing).Headers["X-OfficeVersion"]

Falls die Seite nicht aufgerufen werden kann (z.B. in einer Reverse-Proxy Umgebung), dann kann man auch folgende Seite ausprobieren:

(Invoke-WebRequest $OWA/op/servicebusy.htm).Headers["X-OfficeVersion"]

Links

  1. Todd Klindt’s SharePoint Admin Blog : SharePoint 2013 Build Numbers
  2. Steve Chen [MSFT] Sr. Support Escalation Engineer: SharePoint 2013 Build Numbers and CU’s