AMSI Defender Erweiterung für SharePoint aktivieren

AMSI steht für Antimalware Scan Interface. Die Software ist eine Art Zwischenschicht zwischen einer Antiviren-Lösung (wie Defender) und einem Software-Produkt (wie SharePoint, Exchange usw.), welche es der Software ermöglicht, zusätzliche Bedrohungen schon dann zu erkennen, bevor die Bedrohung die eigentlichen Prozesse erreicht. [1]

Im Grunde wird der HTTP-Datenstrom bzw. Arbeitsspeicher bzw. auf der Protokollebene von dem Softwareprodukt mit Hilfe der API der Antivirenlösung auf bedrohliche Elemente im voraus gescannt.

Die AMSI-Integration in SharePoint Server ist standardmäßig deaktiviert. [2]
In dieser Anleitung wird gezeigt, wie man AMSI für SharePoint aktiviert.

Es müssen mindestens folgende zwei Voraussetzungen erfüllt sein:

  • Antivirenprodukt muss AMSI unterstützen und
  • Das Produkt bzw. die Software muss die AMSI-Schnittstelle integriert haben.

Unter anderem folgende Elemente werden gescannt: [3]

  • Benutzerkontensteuerung oder UAC (Erhöhung der EXE-, COM-, MSI- oder ActiveX-Installation)
  • PowerShell (Skripts, interaktive Verwendung und dynamische Codeauswertung)
  • Windows Script Host (wscript.exe und cscript.exe)
  • JavaScript und VBScript
  • Office VBA-Makros

AMSI-Architektur

Voraussetzungen

Auf jedem SP-Server überprüfen:

  • Windows Server 2016 oder höher
  • SharePoint Server-Abonnementedition Version 22H2 oder höher
  • SharePoint Server 2019 Build 16.0.10396.20000 oder höher (KB-5002358: Sicherheitsupdate vom 14. März 2023 für SharePoint Server 2019)
  • SharePoint Server 2016 Build 16.0.5391.1000 oder höher (KB-5002385: Sicherheitsupdate vom 11. April 2023 für SharePoint Server 2016)
  • Microsoft Defender mit AV-Engine-Version 1.1.18300.4 oder höher (alternativ ein kompatibler AMSI-fähiger Drittanbieter für Antiviren-/Antischadsoftware) ^2

Mögliche Nachteile

  • Je nach Antiviren-Software kann die Performance des Softwareproduktes bzw. die CPU-Leistung stark beeinträchtigt werden, weil theoretisch jede HTTP-Anfrage untersucht werden könnte. ^2
  • Wird eine Antivirensoftware installiert, dann wird Defender automatisch deaktiviert, bis die Antivirensoftware deinstalliert wird. Falls die neue Antivirensoftware dabei kein AMSI unterstützt, dann ist der AMSI-Schutz nicht vorhanden.

AMSI-Provider anzeigen

Anzeigen, welche AMSI-Provider von Antiviren-Tools registriert wurden

$AMSI = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\AMSI\Providers' -Recurse
$AMSI -match '[0-9A-Fa-f\-]{36}'
$Matches.Values | ForEach-Object {Get-ChildItem "HKLM:\SOFTWARE\Classes\CLSID\{$_}" | Format-Table -AutoSize}

Hier ist nur der Defender vorhanden, der auf die AMSI API zugreift.

Ausgabebeispiel:


True

    Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{2781761E-28E0-4109-99FE-B9D127C57AFE}

Name                   Property                                      
----                   --------                                      
Hosts                  (default) : Scanned Hosting Applications                                                          
Implemented Categories                                               
InprocServer32         (default)      : "C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.23050.5-0\MpOav.dll"    
                       ThreadingModel : Both

SP-Farm Version anzeigen

# SharePoint Modul laden
Add-PSSnapin Microsoft.SharePoint.PowerShell
# Buildversion ausgeben 
(get-spfarm).buildversion

Die Farmversion muss ^2

  • Für SP 2016 > 16.0.5391.1000 sein
  • Für SP 2019 > 16.0.10396.20000 sein

Ausgabebeispiel:

Major  Minor  Build  Revision
-----  -----  -----  --------
16     0      10398  20000

Defender Engine Version anzeigen

CMD als Admin öffnen.

cd %ProgramData%\Microsoft\Windows Defender\Platform
dir
:: Angezeigten <Ordnernamen> mit höchster Version beim nächsten Befehl verwenden
cd <Ordnername>
mpcmdrun.exe -SignatureUpdate

Die Engine muss > 1.1.18300.4 sein ^2

Copyright (C) Microsoft Corporation. All rights reserved.
C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.2105.5-0>MpCmdRun.exe -SignatureUpdate
Signature update started . . .
Service Version: 4.18.2106.6
➡ Engine Version: 1.1.18300.4 ⬅
AntiSpyware Signature Version: 1.343.1364.0
AntiVirus Signature Version: 1.343.1364.0
Signature update finished. No updates needed
C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.2105.5-0>

AMSI Aktivierung per Zentraladministration

Pro Webanwendung folgende Schritte durchführen.

  1. CA aufrufen
  2. Application Management
  3. Manage web applications
  4. Webanwendung auswählen, für die AMSI aktiviert werden soll
    1. Manage Features (oben im Ribbon)
  5. Feature suchen
    1. SharePoint Server Antimalware Scanning
      Beschreibung: "Detect and block potential malware attacks against a web application."
    2. und auf Activate klicken.
    3. Mit OK das Fenster schließen.
  6. Für alle gewünschten WebApps wiederholen (bei uns MySite, Portal und CA).

AMSI Aktivierung per PowerShell (alternativ) ^2

Einzeln und selektiv (nach Bedarf) in PowerShell ausführen.


# SharePoint Modul laden
Add-PSSnapin Microsoft.SharePoint.PowerShell

# Alle WebApplikationen ausgeben (inkl. CA)
Get-SPWebApplication -IncludeCentralAdministration

# Prüfen, ob AMSI für eine bestimmte WebApp aktiv ist
Get-SPFeature -Identity 4cf046f3-38c7-495f-a7da-a1292d32e8e9 -WebApplication https://WebApp-url.de/
# Aktiviert, wenn Ausgabe ohne Fehler, bei Fehler (s.u.) nicht aktiviert.
# Get-SPFeature : Cannot find an Enabled Feature object with Id: 4cf046f3-38c7-495f-a7da-a1292d32e8e9 in scope  WebApplication Url: https://WebApp-url.de/

# AMSI für eine WebApp aktivieren
# DisplayName "AntimalwareScan"
Enable-SPFeature -Identity 4cf046f3-38c7-495f-a7da-a1292d32e8e9 -Url https://WebApp-url.de/

# AMSI für eine WebApp deaktivieren
# DisplayName "AntimalwareScan"
Disable-SPFeature -Identity 4cf046f3-38c7-495f-a7da-a1292d32e8e9 -Url https://WebApp-url.de/

# AMSI für alle WebApps (inkl. CA) aktivieren
# URLs der WebApps
$WebApps = Get-SPWebApplication -IncludeCentralAdministration | select Url
# WebApps zu String
# Vorsicht: Es gibt auch leere Zeilen davor und danach
$WebAppsString = $WebApps | Out-String
# Strin in Zeilen aufteilen
$WebAppArray = $WebAppsString.split("`n")
# Erste Header-Zeilen und letzten leeren Zeilen entfernen
$WebAppNoHeader = $WebAppArray | Select-Object -Skip 3 | Select-Object -SkipLast 3
# Feature für alle WebApps aktivieren
ForEach($WebApp in $WebAppNoHeader){
    Enable-SPFeature -Identity 4cf046f3-38c7-495f-a7da-a1292d32e8e9 -url $WebApp
}

Vorgänge mit Microsoft Outlook synchronisieren – Wir konnten Ihre Vorgänge nicht synchronisieren – Event-ID: 8313

Problem

Wir konnten Ihre Vorgänge nicht synchronisieren.

Die Aufgabenliste im SharePoint kann nach dem drücken auf den Button „Mit Outlook synchronisieren“ nicht synchronisiert werden. Es wird folgende Fehlermeldung angezeigt:

Vorgänge mit Microsoft Outlook synchronisieren

Wir konnten Ihre Vorgänge nicht synchronisieren. Der Grund hierfür könnte sein, dass sich Ihr Postfach auf einem Exchange-Server befindet, auf dem das Synchronisieren von Vorgängen nicht unterstützt wird. Wenden Sie sich wegen weiterer Hilfe bitte an Ihren Administrator.

We weren’t able to sync your tasks.

Sync Tasks with Microsoft Outlook

We weren’t able to sync your tasks. This could be because your mailbox is on an Exchange server that isn’t supported for syncing tasks. Please contact your administrator for more help.

Event-ID: 8313 – SharePoint Foundation – Topologie

Fehler beim Versuch, eine Dienstanwendung aufzurufen: EndpointFailure
Prozessname: w3wp
Prozess-ID: 9772
AppDomain-Name: /LM/W3SVC/2/ROOT/c0872fbc-10-131068430349594355
AppDomain-ID: 11
Dienstanwendungs-URI: urn:schemas-microsoft-com:sharepoint:service:fea20cf0#authority=urn:uuid:4a99a796&authority=https://old-sp-server:32844/Topology/topology.svc
Aktive Endpunkte: 3
Fehlerhafte Endpunkte:1
Betroffene Endpunkte:http://sp-server:32843/fea20cf0/ProfileService.svc

A failure was reported when trying to invoke a service application: EndpointFailure

ULS-Log:

A failure was reported when trying to invoke a service application: EndpointFailure Process Name: w3wp Process ID: <ID> AppDomain Name: /LM/W3SVC/2/ROOT/c0872fbc-14-131072520302397589 AppDomain ID: 15 Service Application Uri: urn:schemas-microsoft-com:sharepoint:service:fea20cf0#authority=urn:uuid:4a99a796&authority=https://old-sp-server:32844/Topology/topology.svc Active Endpoints: 3 Failed Endpoints:1 Affected Endpoint: http://sp-server:32843/fea20cf0/ProfileService.svc Vorgänge mit Microsoft Outlook synchronisieren – Wir konnten Ihre Vorgänge nicht synchronisieren – Event-ID: 8313 weiterlesen

„Benutzerinformationsliste“ – „User Information List“ – „UserInfo“

Was ist die „Benutzerinformationsliste“ – „User Information List“ – „UserInfo“?

Die „Benutzerinformationsliste“ („Title“ in deutschen Systemen) bzw. „User Information List“ („Title“ in englischen Systemen) bzw. „UserInfo“ („EntityTypeName“ in PowerShell bzw. Anzeige in MS-Access) ist eine versteckte SharePoint-Liste.

In jeder Websitesammlung existiert diese UserInfo-Liste (für jede Sitecollection eine eigene), auf die der Websitesammlungsadministrator zugreifen kann.

„Benutzerinformationsliste“ – „User Information List“ – „UserInfo“ weiterlesen

Dokumentenversionen auflisten und löschen per PowerShell

Alle Dokumentenversionen einer Dokumentenbibliothek inklusive Dateigrößen per PowerShell anzeigen und löschen

Manchmal fällt es auf, dass die SharePoint-Seiten bzw. Dokumentenbibliotheken viel Speicherplatz belegen, obwohl die Summe der eigentlichen Dateien viel geringer ist.

Der Speicherplatzverbrauch ist evtl. durch verbrauchte Speicher-Quota oder durch das Betrachten der Speichermetriken (Websiteeinstellungen > Websitesammlungsverwaltung > Speichermetriken) aufgefallen.

Storage Metrics - Speichermetriken - _layouts-storman.aspx - SharePoint 2013

Die echten Dateigrößen kann man sich anzeigen lassen, indem man die Dokumentenbibliotheks- oder Dateieigenschaften im Windows-Explorer per WebDav-Protokoll öffnet.
(Dokumentenbibliothek im IE > Reiter „Bibliothek“ > „Mit Explorer öffnen“). SharePoint Bibliothek - Reiter BIBLIOTHEK - Menü lang - Mit Explorer öffnen Button - SharePoint 2013

Falls die in Speichermetriken angezeigten Datengrößen von den Tatsächlichen Dateigrößen abweichen, dann könnte es sein, dass die Speicherbelegung durch die Dokumentenversionen zustande kommt. Denn auch wenn nur geringe Änderungen in einem (großen) Dokument durchgeführt werden, wird (bei eingeschalteter Versionierung) jedes mal eine komplette Kopie dieser großen Datei erstellt.

Mehrere Probleme bei aktivierter Versionierung

Deaktivieren der Versionierung löscht die Versionen nicht

Nach dem Deaktivieren der Versionierung bzw. Begrenzung der Anzahl der Versionen werden bereits vorhandene Dokumentenversionen nicht gelöscht bzw. nicht bereinigt, somit wird der bereits belegte Speicher nicht freigegeben.

Dokumentenversionen auflisten und löschen per PowerShell weiterlesen

MissingSetupFile – Missing Server Side Dependencies – Fix

MissingSetupFile

MissingSetupFile – File is referenced [1] times in the database, but is not installed on the current farm

MissingSetupFile – File [Features\Brandysoft.SharePoint.ADSelfService\ADSelfService.dwp] is referenced [1] times in the database [WSS_Content], but is not installed on the current farm. Please install any feature/solution which contains this file.

MissingSetupFile – Auf die Datei wird in der Datenbank [1] Mal verwiesen, sie ist jedoch für die aktuelle Farm nicht installiert

MissingSetupFile – Auf die Datei ‚[Features\Brandysoft.SharePoint.ADSelfService\ADSelfService.dwp]‘ wird in der Datenbank [‚WSS_Content‘] [1] Mal verwiesen, sie ist jedoch für die aktuelle Farm nicht installiert. Installieren Sie ein Feature oder eine Lösung, das bzw. die diese Datei enthält. Auf mindestens eine nicht in der aktuellen Farm installierte Setupdatei wird in der Datenbank [‚WSS_Content‘] verwiesen. Installieren Sie die Features oder Lösungen, die diese Dateien enthalten.

Serverseitige Abhängigkeiten fehlen

Title
Serverseitige Abhängigkeiten fehlen.

[MissingSetupFile] Auf die Datei ‚[Features\Brandysoft.SharePoint.ADSelfService\ADSelfService.dwp]‘ wird in der Datenbank [‚WSS_Content‘] [1] Mal verwiesen, sie ist jedoch für die aktuelle Farm nicht installiert. Installieren Sie ein Feature oder eine Lösung, das bzw. die diese Datei enthält. Auf mindestens eine nicht in der aktuellen Farm installierte Setupdatei wird in der Datenbank [‚WSS_Content‘] verwiesen. Installieren Sie die Features oder Lösungen, die diese Dateien enthalten. MissingSetupFile – Missing Server Side Dependencies – Fix weiterlesen

Restore-SPSite : No content databases in the web application were available to store your site collection

Problem

Restore-SPSite : Der Vorgang, den Sie auszuführen möchten, kann nicht erfolgreich abgeschlossen werden. Es waren keine Inhaltsdatenbanken in der Webanwendung verfügbar, um Ihre Websitesammlung zu speichern.

Restore-SPSite : Der Vorgang, den Sie auszuführen möchten, kann nicht erfolgreich abgeschlossen werden. Es waren keine Inhaltsdatenbanken in der Webanwendung verfügbar, um Ihre Websitesammlung zu speichern. Die vorhandenen Inhaltsdatenbanken haben möglicherweise die maximale Anzahl von Websitesammlungen erreicht, wurden als schreibgeschützt festgelegt, sind offline oder enthalten bereits eine Kopie dieser Websitesammlung. Erstellen Sie eine andere Inhaltsdatenbank für die Webanwendung, und versuchen Sie den Vorgang dann erneut.

Restore-SPSite : The operation that you are attempting to perform cannot be completed successfully. No content databases in the web application were available to store your site collection.

Restore-SPSite : The operation that you are attempting to perform cannot be completed successfully. No content databases in the web application were available to store your site collection. The existing content databases may have reached the maximum number of site collections, or be set to read-only, or be offline, or may already contain a copy of this site collection. Create another content database for the Web application and then try the operation again.

Restore-SPSite : No content databases in the web application were available to store your site collection weiterlesen

SharePoint Wiki Bibliothek migrieren

In diesem Beitrag möchte ich zeigen, wie man eine SharePoint Dokumentenbibliothek bzw. eine Wiki Bibliothek migrieren bzw. exportieren und in eine neue Seite importieren kann.

SharePoint Wiki Bibliothek migrieren weiterlesen

SpShellAdmin – Benutzer für die PowerShell-Verwaltung der SharePoint-Farm berechtigen

Damit ein Benutzer die PowerShell-CMDlets zur Verwaltung der SharePoint-Farm verwenden kann, muss dieser zuerst dafür mit dem CMDlet Add-SPShellAdmin berechtigt werden.

Hier zeige ich kurz wie das gemacht wird, was dabei im Hintergrund passiert und was die Voraussetzungen für die Durchführung sind.

SpShellAdmin – Benutzer für die PowerShell-Verwaltung der SharePoint-Farm berechtigen weiterlesen

SiteOrphan – Database contains a site that is not found in the site map

SiteOrphan – Database contains a site that is not found in the site map

Die Datenbank enthält eine Website, die in der Websiteübersicht nicht gefunden wurde

Folgende Fehlermeldung wird nach dem Update durch den SharePoint-Assistenten (bzw. durch das Kommandozeilentool PsConfig) angezeigt:

. . .
Fehler beim Ausführen des Upgrades für SharePoint-Produkte.

Eine Ausnahme vom Typ ‚Microsoft.SharePoint.Upgrade.SPUpgradeException‘ wurde ausgelöst. Weitere Ausnahmeinformationen:
Die Datenbank [‚<SP_Database>‚] enthält eine Website (ID = [‚<ID>‚], URL = [‚/managedpath/site‚]), die in der Websiteübersicht nicht gefunden wurde. Trennen Sie die Datenbank, und fügen Sie sie dann erneut an. (EventID:ajxkz)

Das Upgrade wurde mit Fehlern abgeschlossen. Überprüfen Sie die Upgradeprotokolldatei unter ‚C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\LOGS\Upgrade-<Date>-<Time>-169.log‘. Die Anzahl der Fehler und Warnungen ist am Ende der Updateprotokolldatei aufgeführt.

Folgen Sie diesem Link, um weitere Informationen zur Behandlung von Upgradefehlern zu erhalten:
http://go.microsoft.com/fwlink/?LinkId=259653

Database contains a site that is not found in the site map

Database [<SP_Database>] contains a site (Id = [<ID>], Url = [/managedpath/site]) that is not found in the site map. Consider detach and reattach the database which contains the orphaned sites.
Restart upgrade if neccesary.

SiteOrphan – Database contains a site that is not found in the site map weiterlesen

Websitesammlung in eine neue Inhaltsdatenbank verschieben – Kurzanleitung

Vorhandene Websitesammlung in eine neue Inhaltsdatenbank verschieben

Es gibt einige Gründe, um eine zusätzliche Inhaltsdatenbank für SharePoint zu erstellen. Zum einen kann z.B. die maximal empfohlene Größe der Content-DB erreicht sein, zum anderen kann der Wunsch nach etwas mehr Performance-Gewinn die Aufteilung der Inhaltsdatenbanken rechtfertigen.

Man sollte aber nach Möglichkeit nicht einfach die Option „Inhaltsdatenbank hinzufügen“ (Add a content database) in der Zentraladministration benutzen, da die Einstellungen noch optimiert werden sollten.

Websitesammlung in eine neue Inhaltsdatenbank verschieben - Nicht benutzen - Inhaltsdatenbank hinzufügen - No - Add a content database - SharePoint 2013

In diesem Artikel zeige ich, wie man eine neue Inhaltsdatenbank für den SharePoint anlegt, konfiguriert und die vorhandene Websitesammlung (Sitecollection) in diese neue Datenbank verschiebt.

Websitesammlung in eine neue Inhaltsdatenbank verschieben – Kurzanleitung weiterlesen