Microsoft hat Makros blockiert

Sicherheitsrisiko Microsoft hat die Ausführung von Makros blockiert, da die Quelle dieser Datei nicht vertrauenswürdig ist.

Seit kurzem erhalten wir vermehrt die Meldung, dass die Makros nicht mehr ausgeführt werden können. Nach dem Start der Datei erscheint oben eine rote Meldung mit einer Fehlermeldung zu einem Sicherheitsrisiko. Der Grund ist ein Update durch Microsoft, welche ab April 2022 laufend als Sicherheitsupdate eingespielt wird. Durch dieses Update werden teilweise Makros, welche per Email versendet werden oder von nicht vertrauenswürdigen Webseiten runtergeladen werden blockiert.

Was können Sie machen, wenn diese Fehlermeldung erscheint?

VARIANTE 1: Makro signieren

Wenn das Makro von einer Firma entwickelt wurde, dann können Sie diese Firma bitten, das Makro digital zu signieren. Anschliessend können Sie diese Signatur in den Excel-Optionen (Trust Center) als vertrauenswürdig definieren.

Die Signatur ist dadurch sicher, weil diese automatisch entfernt wird, wenn jemand eine Anpassung am VBA-Code d.h. Makro vornimmt. Solange das Makro nicht verändert wird und der Hersteller es signiert hat, ist die Excel-Datei sicher.

VARIANTE 2: Excel-Eigenschaften

Klicken Sie mit der rechten Maustaste auf die Excel-Datei und wählen Sie Eigenschaften. Unten hat es ein Bereich „Sicherheit“. Wenn Sie auf „Blockierung aufheben“ klicken, dann können Sie ebenfalls mit der Datei weiterarbeiten.

Sicherheitsrisiko Makro Excel blockiert
Sicherheitsrisiko Makro Excel blockiert

VARIANTE 3: Vertrauenswürdiger Speicherort

Sie können einen vertrauenswürdigen Speicherort definieren. Gehen Sie hierfür ins Excel zu Trust Center und definieren Sie einen Ordner der vertrauenswürdig ist. Wenn Sie eine Excel-Datei darin speichern, können Sie ebenfalls die Makros ausführen.

Vertrauenswürdiger Speicherort

VARIANTE 4: PowerShell

Mit PowerShell können Sie mehrere Dateien gleichzeitig entsperren.

Hier ein Beispiel-Code um bei einer Excel-Datei die Blockierung aufzuheben. In diesem Beispiel werden die Dateien im Ordner Downloads entsperrt. Wenn der Ordner ein Netzwerkordner ist, dann führen Sie bitte den unten aufgeführten Schritt zu NETZLAUFWERKEN vorgängig aus.

Dir C:\\Users\\info\\Downloads\\* | Unblock-File

Mit dem obigen Code Beispiel können Sie alle Dateien in einem Ordner entsperren. Wenn Sie jedoch auch alle Dateien in Unterordner entsperren möchten, dann können Sie den folgenden Code verwenden.

gci \'C:\\Users\\info\\Downloads\\\' -Recurse | Unblock-File

Wenn Sie eine Batch-Datei benötigen, welche per Knopfdruck alle Dateien entsperrt, welche in einem Ordner liegen, ohne dass Sie jedes Mal den Pfad anpassen müssen, dann kontaktieren Sie bitte uns: www.exact-construct.ch

ACHTUNG BEI NETZLAUFWERKEN

Die obigen Schritten können unter Umständen auf Netzlaufwerken nicht funktionieren. Selbst wenn Sie via PowerShell bei einer Datei die Blockierung aufheben, wird diese Datei sogleich beim nächsten Öffnen wieder blockiert. In dem Fall müssen Sie wie folgt vorgehen.

  • Gehen Sie zu Systemsteuerung -> Netzwerk und Internet -> Internetoptionen
  • Wählen Sie bei den Internetoptionen den Tab Sicherheit -> Lokales Intranet -> Sites
  • Nachdem Sie auf Sites gedrückt haben, erscheint ein neues Fenster. Klicken Sie dort auf Erweitert.
  • Unter Erweitert können Sie Ihre interne Adresse des Netzlaufwerks erfassen. In meinem Fall ist dies 192.168.100.11.
  • Führen Sie danach das PowerShell Skript nochmals aus.
  • Wenn Sie danach das PowerShell Skript ausführen, dann wird das Makro entsperrt bleiben und Sie können das Makro wieder verwenden.

Keine Angst, selbst wenn Sie hier das Netzlaufwerk als Intranet definieren, werden die Makros nicht automatisch beim Öffnen gestartet. Die gelbe Meldung, welche Sie bestätigen müssen, dass Sie das Makro ausführen möchten, erscheint weiterhin. Die gelbe Meldung erachten wir aus Sicherheitsgründen als wichtig und sollte nicht abgestellt werden.

Ebenfalls sollten Sie kontrollieren, ob in den Excel-Einstellungen „Vertrauenswürdige Speicherorte im Netzwerk zulassen“ aktiviert wurde.

Wir werden die Problematik im Auge behalten und diesen Artikel von Zeit zu Zeit mit neuen Lösungsvarianten ergänzen.

Benötigen Sie einen VBA Programmierer?

Wir als exact construct programmieren mit einem Team von rd. 20 Mitarbeitern seit über 10 Jahren Excel-Tools. Wir sind ein Nischenanbieter der spezialisiert auf Makros/VBA-Codes ist. Daneben unterstützen wir auch als 3rd Level Support die IT-Abteilungen rund um Probleme bei MS Office (Excel, Word, PowerPoint, etc.).

Haben Sie ein Excel-Problem? Benötigen Sie einen Makro-Programmierer? Rufen Sie uns unverbindlich an +41 52 511 05 25 oder kontaktieren Sie uns via Kontaktformular

11 Kommentare zu „Microsoft hat die Ausführung von Makros in Excel blockiert“

  1. Alle hier beschriebenen Maßnahmen (bis auf die letzte) habe ich leider ohne Erfolg ausprobiert. In meinem Fall wird eine Excel-Datei mit Makros über eine Freigabe in der OneDrive Cloud bereitgestellt. Bisher konnte auf diese Datei sogar zeitgleich von zwei Usern zugegriffen werden. Die Datei lässt sich nur auf dem Rechner, der sie freigegeben hat, mit Makros ausführen.
    Einzige, aber nicht wirklich gut handhabbar, wäre das Kopieren der Datei in einen lokalen Ordner. Dort kann sie dann ebenfalls mit Makros ausgeführt werden. Die bis dahin unkomplizierte Zusammenarbeit wäre aber so nicht möglich und das Dateiversionschaos wäre vorprogrammiert.
    Da OneDrive kein Netzlaufwerk ist, existiert auch eine IP-Adresse, die man dem Intranet hinzufügen könnte.
    Erstaunlich ist, dass der Benutzer, der diese Datei für andere Nutzer freigegeben hat, auch nach Veränderungen der Datei eines „freigegebenen“ Nutzers weiterhin die Datei mit Makros ausführen kann. Hier spielt vermutlich die Besitz-Eigenschaft der Datei eine erheblich Rolle.
    Eine Lösung für den Datenaustausch über OneDrive wäre super hilfreich.
    Gruß Michael

    1. Hallo Michael

      Versuch mal bitte unter den Sicherheitsoptionen anstelle der IP-Adresse die URL von eurem OneDrive zu erfassen. Wir selber nutzen ebenfalls OneDrive für die Zusammenarbeit. Der Unterschied ist aber, dass wir OneDrive auf unser NAS verbinden und dann den Mitarbeitern die Rechte auf das NAS geben. Folglich haben wir dann eine IP-Adresse, welche wir als vertrauenswürdig definieren können. Damit klappt es. Ich selber kann es nicht testen, aber ich vermute, wenn du die URL als vertrauenswürdig definierst müsste es auch klappen.

      Viele Grüsse
      Adrian

      1. Zunächst einmal vielen Dank für die schnelle Antwort. Ich habe versucht, die URL anstelle einer IP anzugeben. Die URL habe ich ermittelt, indem ich online den entsprechenden Ordner geöffnet habe. Leider erhalte ich dann folgende Systemreaktion: „Der eingegebene Remote- oder Netzwerkpfad ist aufgrund der Sicherheitseinstellungen nicht zulässig.“ Leider ist der Pfad zu dem im Verzeichnisbaum eingehängtem OneDrive-Verzeichnis keine URL, sonst wäre mir diese Angabe lieber gewesen, oder gibt es hier eine Möglichkeit, diesen „C:\Users\NutzerA\OneDrive\BB-Verzeichnis\Einsatzplanung“ als URL oder Netzwerkadresse zu „verkaufen“?
        Dieses Problem müssten doch eigentlich all die haben, die ganz normal über OneDrive Exceldateien mit Makros freigeben wollen. Dieses Problem ist ein echter Zeitfresser und so ärgerlich, weil sich die Arbeit über diesen Weg seit einigen Jahren etabliert hat.
        Danke für Deine Unterstützung! Gruß Michael

      2. Hallo Adrian,
        meine vorherige Antwort hat sich erledigt. Ich hatte dummerweise versucht, über Excel->Datei->Optionen->Trust Center->Einstellungen für das Trust Center->Vertrauenswürdige Speicherorte die URL von OneDrive (https://d.docs.live.net) einzugeben. Das Hinzufügen der URL muss aber unter Internetoptionen->Sicherheit->Vertrauenswürdige SITES erfolgen. Dann klappt das auch. „Wer lesen kann, ist klar im Vorteil!“ Um ehrlich zu sein, bin ich da nicht einmal selbst drauf gekommen; war in meinem Tunnel einfach blind. Am Ende ist die Lösung dann doch so einfach.
        Vielen Dank!

    1. Mit den aufgeschriebenen Ansätze müsste es eigentlich klappen. D.h. ich kenne keinen Fall, wo es damit nicht geklappt hat. Schau dir am Besten die Variante 2 zusammen mit dem Abschnitt betreffend Netzlaufwerken nochmals genau an. Ebenfalls kontrolliere, ob du in den Excel-Einstellungen „Vertrauenswürdige Speicherorte im Netzwerk zulassen“ aktiviert hast.

  2. Bei mir klappt das auch nicht.

    Wir haben ein Makro welches in der normal.dotm eingebunden ist.
    Die Fehlermeldung lautet immer nach wie vor:

    Microsoft Office hat ein potenzielles Sicherheitsrisiko erkannt.
    Microsoft hat die Ausführung von Makros blockiert, da die Quelle dieser Datei nicht vertrauenswürdig ist.
    Dateipfad: C:\Users\BENUTZERNAME\AppData\Local\Microsoft\Windows\INetCache\Content.Word\~TEMPORÄRESDOKUMENT.tmp
    Microsoft hat die Ausführung von Makros blockiert, da die Quelle dieser Datei nicht vertrauenswürdig ist.
    Weitere Informationen [Makros deaktivieren]

    Ich kann hier nur auf die Schaltfläche Makros deaktivieren klicken.
    Merkwürdigerweise werden danach die Makros dennoch abgearbeitet und die Daten eingepflegt.
    Doch warum kommt diese „sinnlose“ Meldung?

    Folgendes ist geprüft:

    Von Punkt 2:
    Das Dokument trägt keinen Blockierungsstempel mehr.
    Die Eigenschaft Zulassen kann man nicht anklicken, da das Dokument so schon zuglassen ist.

    Von Punkt 3:
    Ich habe verschiedenste vertrauenswürdige Pfade eingestellt.
    Auch Testweise lokal nur c:\Temp\ eingetragen
    Check erledigt.

    Den folgenden Pfad kann ich nicht eingeben:
    C:\Users\BENUTZERNAME\AppData\Local\Microsoft\Windows\INetCache\Content.Word\

    Word meldet hier dann immer:
    Der eingegebener Pfad ist kein gültiger Speicherort oder kann aus Sicherheitsgründen nicht als vertrauenswürdiger Speicherort verwendet werden.
    Überprüfen Sie den eingegebenen Pfad, oder wählen Sie einen anderen Speicherort oder einen bestimmten Ordner aus.

    Der Pfad im Userprofil kann also nicht ausgewählt werden.
    Logischerweise klappt auch nur c:\ oder c:\Users\ oder ein ähnlicher Pfad nicht.
    Das Problem was ich habe, das Makro was wir verwenden scheint die Datei Temporär immer in diesem Ordner abzulegen.
    Der Ordner hat aber vermutlich spezielle User-Rechte sodass hier die Office Freigaben als Vertrauenswürdiger Speicherpfad nicht klappen.

    Punkt 4:
    Habe ich Spaßenshalber getestet, hat nichts gebracht, dies löscht ja auch nur die Flags wie beim Punkt 2.
    Das hat also nichts geholfen. Ich habe damit aber sicher rekursiv alle Flags bei allen anderen Dateien gelöscht.

    Die zu verwendende Datei liegt bei uns in einem Netzlaufwerk auf einem Server.
    Ich habe in der Systemsteuerung über die [Internetoptionen] -> [Sicherheit] -> [Lokales Internet] -> [Sites] -> [Erweitert] -> hier die IP-Adresse (als Zone) von unserem Server hinzugefügt.
    Das hat trotzdem nicht geholfen.
    Meiner Meinung nach liegt es daran dass wohl unser Makro im User-Profil schreibt/temporäre Dokumente ablegt die dann in einen nicht Vertrauenswürdigen Ordner landen.
    Hat hier jemand noch eine Idee was man machen könnte?

    Wir setzen hier eine Domäne ein.

    Das Problem liegt bei mir an diesem Pfad:
    C:\Users\BENUTZERNAME\AppData\Local\Microsoft\Windows\INetCache\Content.Word\
    Darin legt Word selbst oder das von uns verwendete Makro Temporäre Daten ab die ich nicht zu einer vertrauenswürdigen Zone hinzufügen kann.

    Über Tipps würde ich mich freuen.

      1. Quelle: https://www.devhut.net/bypassing-microsofts-new-blocking-of-macros-vba-code/

        1. In Texteditor diesen code einfügen und dann speichern unter Unblocker.bat

        Powershell.exe -executionpolicy remotesigned -File „%~dp0UnblockFiles.ps1“

        2. Ein zweites Texteditor öffnen, diesen code einfügen und dann speichern unter UnblockFiles.ps1

        [String]$curDir = Split-Path $MyInvocation.MyCommand.Path -Parent Get-ChildItem -Path $curDir -Recurse | Unblock-File

        3. Beide Dateien „bat“ und „ps1“ irgendwo auf dem Desktop oder im Ordner nach eurem Wunsch ablegen. Die Dateien, die entblocked werden sollen, in den selben Platz tun, wo die beiden Dateien liegen. Dann Doppelklick zum Ausführen auf die Unblocker.bat. 1 Sekunde, bis der Code abläuft und fertig. Diese Datei mit dem Makro ist nun entblockt und kann nun überall hingeschoben und mit Makros verwendet werden.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen