From d77bdac13f3a8e41177d13958c0d254678396ac0 Mon Sep 17 00:00:00 2001 From: wpanda Date: Tue, 17 Mar 2026 08:29:02 +0100 Subject: [PATCH] sharepoint --- Doc/Drucklog_MySQL_SOP_de.md | 49 +++++++++++++ Doc/MySQL_Cleaning_SOP_de.md | 38 ++++++++++ Doc/PDF_Import_O365_SOP_de.md | 41 +++++++++++ Doc/Postfix_SMTP_Relay_SOP_de.md | 71 +++++++++++++++++++ ....1.ps1 => drucklog_mysql_export_v.0.1.ps1} | 0 SharePoint_Empfehlung_IT_Dokumentation.md | 42 ++++++++++- 6 files changed, 238 insertions(+), 3 deletions(-) create mode 100644 Doc/Drucklog_MySQL_SOP_de.md create mode 100644 Doc/MySQL_Cleaning_SOP_de.md create mode 100644 Doc/PDF_Import_O365_SOP_de.md create mode 100644 Doc/Postfix_SMTP_Relay_SOP_de.md rename Scripts/powershell/{drucklog_export_v.0.1.ps1 => drucklog_mysql_export_v.0.1.ps1} (100%) diff --git a/Doc/Drucklog_MySQL_SOP_de.md b/Doc/Drucklog_MySQL_SOP_de.md new file mode 100644 index 0000000..47ea80e --- /dev/null +++ b/Doc/Drucklog_MySQL_SOP_de.md @@ -0,0 +1,49 @@ +# SOP: Export von Druckprotokollen in MySQL (drucklog_export_v.0.1.ps1) + +## 1. Zweck des Skripts +Dieses PowerShell-Skript dient der zentralen Erfassung von Druckvorgängen auf Windows-Servern oder Workstations. Es liest das Ereignisprotokoll `Microsoft-Windows-PrintService/Operational` (Event ID 307) aus und überträgt die Details (Benutzer, Dokumentname, Seitenanzahl, Drucker) in eine MySQL-Datenbank (`drucklog`). + +**Nutzen:** Ermöglicht die langfristige Analyse des Druckaufkommens und die Erstellung von Reports für die IT-Administration. + +## 2. Voraussetzungen & Installation +Damit das Skript ordnungsgemäß ausgeführt werden kann, müssen folgende Voraussetzungen erfüllt sein: + +* **MySQL Connector NET:** Das Skript erwartet die `MySql.Data.dll` im Pfad: + `C:\Program Files (x86)\MySQL\MySQL Connector NET 9.4\MySql.Data.dll` +* **PrintService Log:** Das "Operational"-Protokoll im Windows Event Viewer muss **aktiviert** sein. +* **MySQL Datenbank:** Eine Datenbank namens `drucklog` mit der entsprechenden Tabellenstruktur muss auf dem Host `10.102.1.65` vorhanden sein. + +## 3. Zentrale Konfiguration (Skript-Header) +Die Verbindungsparameter sind im Skript wie folgt definiert: + +* **MySQL-Host:** `10.102.1.65` +* **Datenbank-Benutzer:** `svc.druckerlog` +* **Datenbank-Passwort:** (Im Skript hinterlegt) +* **Ziel-Datenbank:** `drucklog` +* **Log-Pfad:** `C:\Tools\drucklog_task.log` (Überprüfung der Skriptausführung) + +## 4. Ausführung & Automatisierung +Das Skript kann manuell oder über die **Windows Aufgabenplanung (Task Scheduler)** ausgeführt werden. + +### Manueller Test (PowerShell): +```powershell +# In das Verzeichnis wechseln und ausführen +.\drucklog_export_v.0.1.ps1 +``` + +### Empfohlene Automatisierung (Task Scheduler): +* **Trigger:** Täglich, Wiederholung alle 1 Stunde. +* **Aktion:** `powershell.exe` +* **Argumente:** `-ExecutionPolicy Bypass -File "C:\Scripts\drucklog_export_v.0.1.ps1"` + +## 5. Monitoring & Protokollierung +Das Skript schreibt bei jedem Durchlauf einen Zeitstempel in die lokale Datei: +`C:\Tools\drucklog_task.log` + +Bei Fehlern in der Datenbankverbindung prüfen Sie bitte, ob der MySQL-Host `10.102.1.65` vom lokalen System aus erreichbar ist (Port 3306). + +## 6. Sicherheitshinweis +**Achtung:** Das Skript enthält Datenbank-Zugangsdaten im Klartext. Stellen Sie sicher, dass die NTFS-Berechtigungen auf dem Windows-Server so gesetzt sind, dass nur das IT-Team Zugriff auf das Skriptverzeichnis hat. + +--- +*Erstellt für die IT-Dokumentation - Projekt: IT Internal Repository* diff --git a/Doc/MySQL_Cleaning_SOP_de.md b/Doc/MySQL_Cleaning_SOP_de.md new file mode 100644 index 0000000..061201c --- /dev/null +++ b/Doc/MySQL_Cleaning_SOP_de.md @@ -0,0 +1,38 @@ +# SOP: Bereinigung alter Datensätze (delete_old_records.py) + +## 1. Zweck des Skripts +Dieses Python-Skript dient der automatischen Bereinigung (Housekeeping) unserer MySQL-Datenbanken. Es entfernt veraltete Datensätze, die eine definierte Aufbewahrungsfrist (Retention Period) überschritten haben, um die Datenbankgröße zu kontrollieren und die Abfragegeschwindigkeit zu optimieren. + +## 2. Voraussetzungen +* **Python Version:** Mindestens Python 3.8. +* **Bibliotheken:** `mysql-connector-python`, `python-dotenv`. +* **Datenbankzugriff:** Das Skript benötigt einen Benutzer mit `DELETE`-Berechtigungen auf die entsprechenden Tabellen. + +## 3. Konfiguration +Die Steuerung des Skripts erfolgt über eine `.env`-Datei oder direkt im Skript-Header: + +* **DB_HOST:** IP des Datenbankservers (z. B. `10.102.1.65`). +* **RETENTION_DAYS:** Anzahl der Tage, nach denen Daten gelöscht werden (Standard: X Tage). +* **DRY_RUN:** Wenn auf `True` gesetzt, zeigt das Skript nur an, was gelöscht würde, ohne die Datenbank tatsächlich zu verändern. + +## 4. Ausführung +Es wird empfohlen, das Skript regelmäßig als Cronjob (Linux) oder Task Scheduler (Windows) auszuführen. + +### Testlauf (Dry-Run): +```bash +python3 delete_old_records.py --mode dry-run +``` + +### Scharfe Ausführung: +```bash +python3 delete_old_records.py --mode execute +``` + +## 5. Monitoring & Logs +Alle Löschvorgänge werden in der Standardausgabe und optional in einer Log-Datei protokolliert. Prüfen Sie regelmäßig die Anzahl der gelöschten Datensätze, um sicherzustellen, dass die Logik korrekt arbeitet. + +## 6. Sicherheitshinweis +**Achtung:** Gelöschte Daten können nicht ohne Backup wiederhergestellt werden. Führen Sie vor größeren Änderungen an der Aufbewahrungslogik immer ein Datenbank-Backup durch. + +--- +*Erstellt für die IT-Dokumentation - Projekt: IT Internal Repository* diff --git a/Doc/PDF_Import_O365_SOP_de.md b/Doc/PDF_Import_O365_SOP_de.md new file mode 100644 index 0000000..f75d128 --- /dev/null +++ b/Doc/PDF_Import_O365_SOP_de.md @@ -0,0 +1,41 @@ +# SOP: Automatisierter PDF-Import aus O365 (import_pdf_from_o365_de.v2.2.py) + +## 1. Zweck des Skripts +Dieses Python-Skript automatisiert den Import von PDF-Dokumenten aus der Microsoft 365-Umgebung (z.B. Outlook-Postfächer oder SharePoint) in das lokale IT-Dateisystem. Es dient zur effizienten Digitalisierung von Dokumenten, die als E-Mail-Anhänge eingehen. + +## 2. Voraussetzungen & Bibliotheken +Um das Skript auszuführen, sind folgende Module notwendig: + +* **Python:** Version 3.8+ +* **Module:** `pip install O365 requests python-dotenv` +* **Infrastruktur:** Eine registrierte Anwendung in Azure AD (Entra ID) mit den entsprechenden API-Berechtigungen (`Mail.Read`, `Files.Read`). + +## 3. Zentrale Konfiguration +Das Skript benötigt eine `.env`-Datei mit folgenden Zugangsdaten: + +* **CLIENT_ID:** Die ID der registrierten Azure-App. +* **CLIENT_SECRET:** Das zugehörige Client-Secret für die Authentifizierung. +* **TARGET_FOLDER:** Der lokale Pfad, in dem die PDF-Dateien gespeichert werden sollen. +* **MAILBOX:** Die E-Mail-Adresse des zu überwachenden Postfachs. + +## 4. Ausführung & Betrieb +Das Skript kann sowohl manuell als auch automatisiert über einen Dienst oder Cronjob gestartet werden. + +### Manueller Start: +```bash +# Skript manuell aufrufen +python3 import_pdf_from_o365_de.v2.2.py +``` + +### Fehlerbehebung (Troubleshooting): +* **Authentifizierungsfehler:** Prüfen Sie, ob das Client-Secret abgelaufen ist oder die Berechtigungen in Azure AD korrekt gesetzt sind. +* **Download-Fehler:** Stellen Sie sicher, dass das Zielverzeichnis vorhanden ist und Schreibrechte bestehen. + +## 5. Monitoring +Die Ausführung des Skripts wird standardmäßig protokolliert. Bei erfolgreichem Import werden die entsprechenden Log-Einträge erstellt, die den Dateinamen und den Zeitstempel enthalten. + +## 6. Sicherheitshinweis +Bewahren Sie die `.env`-Datei sicher auf und geben Sie das **Client-Secret** niemals an unbefugte Personen weiter. Es wird empfohlen, die Secret-Rotation gemäß IT-Sicherheitsrichtlinien regelmäßig durchzuführen. + +--- +*Erstellt für die IT-Dokumentation - Projekt: IT Internal Repository* diff --git a/Doc/Postfix_SMTP_Relay_SOP_de.md b/Doc/Postfix_SMTP_Relay_SOP_de.md new file mode 100644 index 0000000..e52d7c1 --- /dev/null +++ b/Doc/Postfix_SMTP_Relay_SOP_de.md @@ -0,0 +1,71 @@ +# SOP: Konfiguration Postfix SMTP Relay (APS-SMTP01) + +## 1. Zweck & Übersicht +Diese Dokumentation beschreibt die Konfiguration des zentralen Postfix Mail-Relays (**APS-SMTP01**). Das System dient als Brücke, um internen Geräten (Druckern, Scannern) und automatisierten IT-Skripten den E-Mail-Versand über unseren offiziellen Provider zu ermöglichen. + +**System-Details:** +* **Server:** Linux (Ubuntu/Fedora basierend) +* **Hostname:** `aps-smtp01.aps.local` +* **IP-Adresse:** [Bitte interne IP ergänzen] +* **Dienst:** Postfix (MTA - Mail Transfer Agent) + +## 2. Zentrale Konfigurationsdateien +Die gesamte Konfiguration befindet sich im Verzeichnis `/etc/postfix/`. Die wichtigsten Dateien sind: + +* **`/etc/postfix/main.cf`**: Die Hauptkonfigurationsdatei mit den globalen Parametern. +* **`/etc/postfix/sasl_passwd`**: Enthält die Zugangsdaten für den externen Relay-Host (verschlüsselt via postmap). +* **`/etc/aliases`**: Definiert E-Mail-Weiterleitungen für lokale Benutzer. + +## 3. Konfigurations-Ausschnitt (main.cf) +Die folgenden Parameter sind für den Betrieb als Relay entscheidend: + +```bash +# Beispiel-Konfiguration für Relay mit Authentifizierung +relayhost = [smtp.dein-provider.de]:587 +mynetworks = 127.0.0.0/8, 192.168.1.0/24 [Hier interne Subnetze erlauben] +smtp_sasl_auth_enable = yes +smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd +smtp_tls_security_level = may +header_size_limit = 4096000 +``` + +## 4. Administrative Befehle & Wartung +Nach Änderungen an der Konfiguration müssen folgende Schritte durchgeführt werden: + +### Konfiguration prüfen und laden: +```bash +# Syntax-Check der main.cf +postfix check + +# Konfiguration neu laden (ohne Neustart des Dienstes) +systemctl reload postfix +``` + +### Passwort-Datenbank aktualisieren: +Wenn die `sasl_passwd` geändert wurde, muss die Datenbank neu generiert werden: +```bash +postmap /etc/postfix/sasl_passwd +systemctl restart postfix +``` + +### Überprüfung der Logs (Fehlersuche): +```bash +# Echtzeit-Überwachung der Mail-Logs +tail -f /var/log/mail.log +# Alternativ via journalctl +journalctl -u postfix -f +``` + +## 5. Testen des E-Mail-Versands +Um die Funktionalität des Relays direkt auf dem Server zu testen: + +```bash +echo "Testmail von APS-SMTP01" | mail -s "Testbetreff" de@deine-domain.de +``` + +## 6. Bekannte Probleme (Troubleshooting) +* **Relay access denied:** Prüfen Sie den Parameter `mynetworks`. Die IP des sendenden Geräts muss dort erlaubt sein. +* **Connection timed out (Port 25/587):** Prüfen Sie die Firewall-Regeln auf dem Server und im Netzwerk (Ausgehende Verbindung zum Provider). + +--- +*Erstellt für die IT-Dokumentation - Projekt: IT Internal Repository* diff --git a/Scripts/powershell/drucklog_export_v.0.1.ps1 b/Scripts/powershell/drucklog_mysql_export_v.0.1.ps1 similarity index 100% rename from Scripts/powershell/drucklog_export_v.0.1.ps1 rename to Scripts/powershell/drucklog_mysql_export_v.0.1.ps1 diff --git a/SharePoint_Empfehlung_IT_Dokumentation.md b/SharePoint_Empfehlung_IT_Dokumentation.md index 84a10c4..1d245ee 100644 --- a/SharePoint_Empfehlung_IT_Dokumentation.md +++ b/SharePoint_Empfehlung_IT_Dokumentation.md @@ -21,8 +21,44 @@ Für unsere Anforderungen ist eine klassische **SharePoint Team Site** die optim ### 4. Unterstützung technischer Formate * Die Team Site ermöglicht eine schnelle Vorschau und Suche innerhalb von **Plain-Text-Dateien (.txt)** und **Markdown (.md)** direkt im Browser, was für Switch-Konfigurationen und Anleitungen essenziell ist. -## Fazit -Um die Agilität der IT-Abteilung zu gewährleisten und eine einfache, synchronisierbare Ablage zu schaffen, sollte auf die Erstellung eines Inhaltscenters verzichtet und stattdessen eine **private Team Site** implementiert werden. +--- + +## Umsetzung & Fortschritt (Stand: 16.03.2026) + +Das Projekt wurde erfolgreich gestartet und die Basis-Infrastruktur steht bereit. + +### 1. Implementierte Web-Struktur +Der SharePoint wurde als **private Team Site** unter dem Namen `IT Internal Repository` erstellt. + +**Verzeichnisstruktur in der Dokumentenbibliothek (Documents):** +* `01_Infrastructure`: Konfigurationen (z. B. Postfix, Switches) und Netzwerkpläne. +* `02_Software`: Installationsdateien, Lizenzschlüssel und Software-Dokumentation. +* `03_Knowledge_Base`: Allgemeine IT-Anleitungen und Knowledge-Base-Artikel (.md). +* `04_Automation_Scripts`: Zentrale Ablage für Python, Bash und PowerShell Skripte. +* `05_Archive`: Veraltete Backups und Protokolle. + +### 2. Dashboard & Navigation +Die Startseite wurde als **IT Dashboard** konfiguriert: +* **Hero-Bereich:** Direkte Verlinkung zu Infrastruktur, Software und Wiki. +* **Schnelllinks:** Schnellzugriff auf alle Hauptverzeichnisse (01-05). +* **News/Updates:** Automatische Anzeige der neuesten SOP-Seiten. + +### 3. Erstellte Dokumentationen (SOPs) +Folgende Standard Operating Procedures (SOPs) wurden bereits auf SharePoint-Seiten sowie lokal als `.md` Dateien implementiert: +* `SOP: Automatisierter PDF-Import aus O365 (v2.2)` +* `SOP: Bereinigung alter Datensätze (delete_old_records.py)` +* **SOP: Konfiguration Postfix SMTP Relay (APS-SMTP01)** +* **SOP: Export von Druckprotokollen in MySQL (PowerShell)** + +### 4. Integrationen +* **Microsoft Teams:** Die SharePoint-Seite ist mit dem Team `Informationstechnologie` (Private Gruppe) verbunden. +* **OneNote:** Das gemeinsame Notizbuch (Notizbuch) wurde integriert und lokale Abschnitte erfolgreich migriert. +* **OneDrive Sync:** Die Synchronisation für die Bearbeitung via Windows Explorer und WSL ist vorbereitet. + +### 5. Nächste Schritte +* Vollständiger Upload des Software-Archivs via OneDrive. +* Integration von Switch-Konfigurationen in `01_Infrastructure`. +* Erweiterung der Wissensdatenbank durch das IT-Team. --- -*Erstellt für das IT-Team – Projekt: Internal Repository* +*Aktualisiert für das IT-Team – Projekt: Internal Repository*