smb-connect

n8n SMB2 Connect

Package Information

Downloads: 34 weekly / 84 monthly
Latest Version: 2.1.3
Author: Chris Herfort

Documentation

n8n-nodes-smb-connect

Benutzerdefinierter Node für n8n, um auf SMB/Samba-Freigaben mit NTLMv2-Authentifizierung zuzugreifen. Verwendet die v9u-smb2-Bibliothek.


Features

  • Auflisten von Dateien & Ordnern in Samba-Freigaben als JSON (Kann n8n auch als Tabelle darstellen.)
  • Hochladen, Herrunterladen und löschen von Daten auf dem Server
  • Unterstützung von NTLMv2
  • mit Zeitstempel (erstellt, geändert) & Dateigröße
  • Filterung nach Alter (> 10 Minuten) im in extra Code-Node möglich
  • Ergebnis der Filterung kann per Mail-Node versendet werden.
  • Workflow in n8n vollständig konfigurierbar

Installation

  1. Node als Community-Node installieren**

    • Nach dem Login Klick auf:

    Drei Punkte unten Links
    Einstellungen
    Klick Community Nodes unten links

    • Eingabe des Community-Node Namens "@chris_pd/n8n-nodes-smb-connect" im Textfeld in der Mitte
    • Kontrollkästchen aktivieren
    • Klick auf installieren

Verwendung und Konfiguration

  1. Node zum Workflow hinzufügen: Dazu auf das "Plus klicken und nach "SMB Connect" suchen.

  2. Zugangsdaten zum Server angeben und Dateioperation auswählen.

Filterfunktion (optional)

  1. JavaScript Code um nach Alter der Daten zu filtern (dazu einen "Code Node" zum Workflow hinzufügen und diesen Code einfügen:
const now = new Date().getTime();
const tenMinutes = 10 * 60 * 1000;

const returnItems = [];

for (const item of items) {
	const modifiedAt = new Date(item.json.Geändert).getTime();

	// Ordner ausschließen UND prüfen, ob Datei älter als 10 Minuten ist
	if (item.json.Größe !== 'Ordner' && (now - modifiedAt) > tenMinutes) {
		returnItems.push({
			json: {
				Name: item.json.Name,
				Pfad: item.json.Pfad,
				AlterInMinuten: Math.round((now - modifiedAt) / 60000),
				Geändert: item.json.Geändert,
			},
		});
	}
}

return returnItems;
  1. Run Once for All Items auswählen

  2. Hinzufügen des Mail Node mit passendem JS Code für Betreff und Mailtext (Fügt Variable für Dateinamen usw. ein.)

Code für Betreff

Datei "{{ $json.Name }}" ist älter als {{ $json.AlterInMinuten }} Minuten

Code für Mailtext

Die Datei {{ $json.Name }} wurde zuletzt geändert am: {{ $json['Geändert'] }}
Pfad: {{ $json.Pfad }}
Alter: {{ $json.AlterInMinuten }} Minuten.

Mail-Versand

  1. Daten von Mail-Server im Mail Node angeben.

Hinweise

  • für das Hochladen muss ein Readfile Node vor dem SMB Connect Node die betreffende Datei in einem "data-Objekt übergeben.
  • für das Herrunterladen muss ein Readfile Node nach dem SMB Connect Node die betreffende Datei in einem "data-Objekt entgegenehmen.

Discussion