.
This commit is contained in:
@@ -5,47 +5,37 @@ Egy központi, felhőalapú (O365) platform létrehozása az IT részleg összes
|
|||||||
|
|
||||||
## 2. Webhely Típusa
|
## 2. Webhely Típusa
|
||||||
- **Típus:** SharePoint Team Site (**Privát**)
|
- **Típus:** SharePoint Team Site (**Privát**)
|
||||||
- **Név javaslat:** `IT Internal Repository`
|
- **Név:** `IT Internal Repository`
|
||||||
- **Hozzáférés:** Kizárólag az IT csapat tagjai számára.
|
- **Hozzáférés:** Kizárólag az IT csapat tagjai számára (Tulajdonosok és Tagok).
|
||||||
|
|
||||||
## 3. Javasolt Struktúra (Dokumentumtárak)
|
## 3. Végleges Struktúra (Dokumentumtárak)
|
||||||
A meglévő helyi struktúra alapján az alábbi könyvtárakat hozzuk létre:
|
A SharePoint felületen kialakított mappaszerkezet:
|
||||||
|
|
||||||
- **01_Infrastructure (Infrastruktúra):**
|
- **01_Infrastructure:** Postfix konfigok, Switch beállítások, hálózati rajzok.
|
||||||
- Switch konfigok (`Conf/Switch/`), szerver beállítások (`Conf/aps.local/`), hálózati rajzok.
|
- **02_Software:** Telepítőfájlok (.zip, .exe), szoftveres dokumentációk.
|
||||||
- *Metaadat javaslat:* Eszköz típusa, Gyártó.
|
- **03_Knowledge_Base:** Általános IT útmutatók és Markdown (.md) dokumentumok.
|
||||||
- **02_Development_Projects (Projektek):**
|
- **04_Automation_Scripts:** Python és Bash szkriptek gyűjteménye.
|
||||||
- Docker fájlok, n8n munkafolyamatok, Python fejlesztések (`Dev/`).
|
- **05_Archive:** Régi mentések és logok.
|
||||||
- *Cél:* Fejlesztési dokumentáció és kódminták.
|
|
||||||
- **03_Knowledge_Base (Wiki / SOP):**
|
|
||||||
- Telepítési útmutatók, hibajegy-megoldások, folyamatleírások (`Doc/`).
|
|
||||||
- *Formátum:* SharePoint Pages vagy Markdown.
|
|
||||||
- **04_Automation_Scripts (Szkriptek):**
|
|
||||||
- Bash, PowerShell, Python szkriptek gyűjteménye (`Scripts/`).
|
|
||||||
- *Előny:* Felhőből bárhonnan elérhető kódminták.
|
|
||||||
- **05_Archive (Archívum):**
|
|
||||||
- Régi backupok, kifutott projektek (`Backup/`).
|
|
||||||
|
|
||||||
## 4. Technikai Funkciók (IT Fókusz)
|
## 4. Technikai Funkciók (IT Fókusz)
|
||||||
- **Verziókezelés:** Minden fájl módosítása visszakövethető (SharePoint Version History).
|
- **SOP (Wiki) Oldalak:** Modern SharePoint oldalakat használunk a folyamatok leírására (német nyelven a kollégáknak).
|
||||||
- **OneDrive Sync:** A fájlok helyi (Windows/Linux) szerkesztése és automatikus szinkronizációja (VS Code ajánlott).
|
- **Code Snippets:** A kódminták szintaxis-kiemeléssel jelennek meg az oldalakon.
|
||||||
- **Markdown és Plain Text (.txt) Stratégia:**
|
- **Verziókezelés:** Minden fájl módosítása visszakövethető.
|
||||||
- A technikai dokumentáció (.md) és a nyers konfigurációk (.txt, .conf, .sh) eredeti formátumban maradnak.
|
- **OneDrive Sync:** Windows/WSL környezetből való kényelmes feltöltés és szinkronizáció.
|
||||||
- A switch konfigok (.txt) közvetlenül olvashatók és kereshetők a SharePoint webes felületén.
|
|
||||||
- A verziókövetés lehetővé teszi a konfigurációk közötti különbségek követését.
|
|
||||||
- A képek megjelenítése miatt a komplex dokumentációhoz a helyi szerkesztés (VS Code + OneDrive) ajánlott.
|
|
||||||
|
|
||||||
- **Teams Integráció:**
|
## 5. Elvégzett és Következő Lépések
|
||||||
- A SharePoint webhelyhez kapcsolódó Teams csapat automatikusan létrejön.
|
|
||||||
- A dokumentumtárak (Libraries) külön fülként (Tab) hozzáadhatók a Teams csatornákhoz.
|
|
||||||
- Gyors elérés: Fájlok megtekintése és alapvető szerkesztése közvetlenül a Teams felületén.
|
|
||||||
- Központi keresés: A Teams keresője megtalálja a SharePointon tárolt konfigokat és leírásokat is.
|
|
||||||
|
|
||||||
## 5. Következő Lépések (Teendők)
|
|
||||||
- [x] Célközönség meghatározása (Csak IT).
|
- [x] Célközönség meghatározása (Csak IT).
|
||||||
- [ ] Üres SharePoint Site létrehozása (Privát Team Site).
|
- [x] Privát SharePoint Team Site létrehozása.
|
||||||
- [ ] Dokumentumtárak (Libraries) létrehozása a fenti struktúra szerint.
|
- [x] Dokumentumtárak (Libraries) kialakítása (01-05).
|
||||||
- [ ] Kezdeti adatok feltöltése (OneDrive szinkronizációval).
|
- [x] Kezdőlap (Dashboard) testreszabása (Hero, Schnelllinks).
|
||||||
|
- [x] Első SOP (Wiki) oldalak létrehozása (Német nyelven).
|
||||||
|
- [ ] Teljes adatkészlet feltöltése (OneDrive szinkronizáció befejezése).
|
||||||
|
- [ ] Teams integráció véglegesítése (Tab-ok hozzáadása).
|
||||||
|
|
||||||
|
## 6. Megvalósított SOP Oldalak (2026.03.16)
|
||||||
|
- **SOP: Automatisierter PDF-Import aus O365 (v2.2)**
|
||||||
|
- **SOP: Bereinigung alter Datensätze (delete_old_records.py)**
|
||||||
|
- **SOP: Konfiguration Postfix SMTP Relay (APS-SMTP01)**
|
||||||
|
|
||||||
---
|
---
|
||||||
*Ez a dokumentum a Gemini CLI segítségével készült, és a projekt aktuális állapotát tükrözi.*
|
*Ez a dokumentum a Gemini CLI segítségével készült, és a projekt aktuális állapotát tükrözi.*
|
||||||
|
|||||||
@@ -1,47 +0,0 @@
|
|||||||
$events = Get-WinEvent -LogName "Microsoft-Windows-PrintService/Operational" -MaxEvents 500 |
|
|
||||||
Where-Object { $_.Id -eq 307 }
|
|
||||||
|
|
||||||
$logList = @()
|
|
||||||
|
|
||||||
foreach ($event in $events) {
|
|
||||||
$message = $event.Message
|
|
||||||
$user = ""
|
|
||||||
$document = ""
|
|
||||||
$printer = ""
|
|
||||||
$pages = ""
|
|
||||||
|
|
||||||
# Felhasználó (pl. L.Vogt auf APS-NB072)
|
|
||||||
if ($message -match "im Besitz von (.+?) wurde auf") {
|
|
||||||
$user = $matches[1].Trim()
|
|
||||||
}
|
|
||||||
|
|
||||||
# Nyomtató neve (pl. Jasenitz)
|
|
||||||
if ($message -match "wurde auf (.+?) über Port") {
|
|
||||||
$printer = $matches[1].Trim()
|
|
||||||
}
|
|
||||||
|
|
||||||
# Oldalszám (pl. Gedruckte Seiten: 1)
|
|
||||||
if ($message -match "Gedruckte Seiten:\s+(\d+)") {
|
|
||||||
$pages = $matches[1]
|
|
||||||
}
|
|
||||||
|
|
||||||
# Dokumentum sorszám (pl. Dokument 62) – jobb híján
|
|
||||||
if ($message -match "^Dokument\s+(\d+)") {
|
|
||||||
$document = "Dokument " + $matches[1]
|
|
||||||
}
|
|
||||||
|
|
||||||
$logList += [PSCustomObject]@{
|
|
||||||
Datum = $event.TimeCreated
|
|
||||||
Benutzer = $user
|
|
||||||
Dokument = $document
|
|
||||||
Drucker = $printer
|
|
||||||
Seiten = $pages
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Exportálás CSV-be
|
|
||||||
$exportPfad = "$env:USERPROFILE\Desktop\drucklog_export.csv"
|
|
||||||
$logList | Export-Csv -Path $exportPfad -NoTypeInformation -Encoding UTF8
|
|
||||||
|
|
||||||
Write-Host "Exportálás kész: $exportPfad"
|
|
||||||
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
$events = Get-WinEvent -LogName "Microsoft-Windows-PrintService/Operational" -MaxEvents 500 |
|
|
||||||
Where-Object { $_.Id -eq 307 }
|
|
||||||
|
|
||||||
$logList = @()
|
|
||||||
|
|
||||||
foreach ($event in $events) {
|
|
||||||
$message = $event.Message
|
|
||||||
$user = ""
|
|
||||||
$computer = ""
|
|
||||||
$document = ""
|
|
||||||
$printer = ""
|
|
||||||
$pages = ""
|
|
||||||
|
|
||||||
# Felhasználó és gép különválasztása
|
|
||||||
if ($message -match "im Besitz von (.+?) wurde auf") {
|
|
||||||
$fullUser = $matches[1].Trim()
|
|
||||||
if ($fullUser -match "^(.+?) auf (.+)$") {
|
|
||||||
$user = $matches[1].Trim()
|
|
||||||
$computer = $matches[2].Trim()
|
|
||||||
} else {
|
|
||||||
$user = $fullUser
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Nyomtató neve (pl. Jasenitz)
|
|
||||||
if ($message -match "wurde auf (.+?) über Port") {
|
|
||||||
$printer = $matches[1].Trim()
|
|
||||||
}
|
|
||||||
|
|
||||||
# Oldalszám (pl. Gedruckte Seiten: 1)
|
|
||||||
if ($message -match "Gedruckte Seiten:\s+(\d+)") {
|
|
||||||
$pages = $matches[1]
|
|
||||||
}
|
|
||||||
|
|
||||||
# Dokument sorszám (pl. Dokument 62)
|
|
||||||
if ($message -match "^Dokument\s+(\d+)") {
|
|
||||||
$document = "Dokument " + $matches[1]
|
|
||||||
}
|
|
||||||
|
|
||||||
$logList += [PSCustomObject]@{
|
|
||||||
Datum = $event.TimeCreated
|
|
||||||
Benutzer = $user
|
|
||||||
Computer = $computer
|
|
||||||
Dokument = $document
|
|
||||||
Drucker = $printer
|
|
||||||
Seiten = $pages
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Exportálás CSV-be
|
|
||||||
$exportPfad = "$env:USERPROFILE\Desktop\drucklog_export.csv"
|
|
||||||
$logList | Export-Csv -Path $exportPfad -NoTypeInformation -Encoding UTF8
|
|
||||||
|
|
||||||
Write-Host "Exportálás kész: $exportPfad"
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
# Printer Log Report 0.3
|
|
||||||
#
|
|
||||||
# Get-WinEvent on Englische Windows : Get-WinEvent -LogName "Microsoft-Windows-PrintService/Operational"
|
|
||||||
# Get-WinEvent on Deutsche Windows : Get-WinEvent -LogName "Microsoft-Windows-PrintService/Betriebsbereit"
|
|
||||||
|
|
||||||
$events = Get-WinEvent -LogName "Microsoft-Windows-PrintService/Operational" -MaxEvents 500 |
|
|
||||||
Where-Object { $_.Id -eq 307 }
|
|
||||||
|
|
||||||
$logList = @()
|
|
||||||
|
|
||||||
foreach ($event in $events) {
|
|
||||||
$message = $event.Message
|
|
||||||
$user = ""
|
|
||||||
$computer = ""
|
|
||||||
$document = ""
|
|
||||||
$printer = ""
|
|
||||||
$pages = 0
|
|
||||||
|
|
||||||
# Felhasználó és gép különválasztása
|
|
||||||
if ($message -match "im Besitz von (.+?) wurde auf") {
|
|
||||||
$fullUser = $matches[1].Trim()
|
|
||||||
if ($fullUser -match "^(.+?) auf (.+)$") {
|
|
||||||
$user = $matches[1].Trim()
|
|
||||||
$computer = $matches[2].Trim()
|
|
||||||
} else {
|
|
||||||
$user = $fullUser
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Nyomtató neve (pl. Jasenitz)
|
|
||||||
if ($message -match "wurde auf (.+?) über Port") {
|
|
||||||
$printer = $matches[1].Trim()
|
|
||||||
}
|
|
||||||
|
|
||||||
# Oldalszám (pl. Gedruckte Seiten: 1)
|
|
||||||
if ($message -match "Gedruckte Seiten:\s+(\d+)") {
|
|
||||||
$pages = [int]$matches[1]
|
|
||||||
}
|
|
||||||
|
|
||||||
# Dokument sorszám (pl. Dokument 62)
|
|
||||||
if ($message -match "^Dokument\s+(\d+)") {
|
|
||||||
$document = "Dokument " + $matches[1]
|
|
||||||
}
|
|
||||||
|
|
||||||
$logList += [PSCustomObject]@{
|
|
||||||
Datum = $event.TimeCreated
|
|
||||||
Benutzer = $user
|
|
||||||
Computer = $computer
|
|
||||||
Dokument = $document
|
|
||||||
Drucker = $printer
|
|
||||||
Seiten = $pages
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Export részletes lista
|
|
||||||
$exportPfad = "$env:USERPROFILE\Desktop\drucklog_export.csv"
|
|
||||||
$logList | Export-Csv -Path $exportPfad -NoTypeInformation -Encoding UTF8
|
|
||||||
|
|
||||||
# ✅ Összesítés felhasználónként
|
|
||||||
$summary = $logList | Group-Object -Property Benutzer | ForEach-Object {
|
|
||||||
$userGroup = $_.Group
|
|
||||||
[PSCustomObject]@{
|
|
||||||
Benutzer = $_.Name
|
|
||||||
Anzahl_Dokumente = $userGroup.Count
|
|
||||||
Gesamt_Seiten = ($userGroup | Measure-Object -Property Seiten -Sum).Sum
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Export összesítés
|
|
||||||
$summaryPfad = "$env:USERPROFILE\Desktop\drucklog_summary.csv"
|
|
||||||
$summary | Export-Csv -Path $summaryPfad -NoTypeInformation -Encoding UTF8
|
|
||||||
|
|
||||||
Write-Host "Exportálás kész:"
|
|
||||||
Write-Host "- Részletes lista: $exportPfad"
|
|
||||||
Write-Host "- Felhasználónkénti összesítés: $summaryPfad"
|
|
||||||
@@ -1,152 +0,0 @@
|
|||||||
# Printer Log Report 0.3
|
|
||||||
#
|
|
||||||
# Get-WinEvent on Englische Windows : Get-WinEvent -LogName "Microsoft-Windows-PrintService/Operational"
|
|
||||||
# Get-WinEvent on Deutsche Windows : Get-WinEvent -LogName "Microsoft-Windows-PrintService/Betriebsbereit"
|
|
||||||
|
|
||||||
|
|
||||||
$events = Get-WinEvent -LogName "Microsoft-Windows-PrintService/Operational" -MaxEvents 2000 |
|
|
||||||
Where-Object { $_.Id -eq 307 }
|
|
||||||
|
|
||||||
$logList = @()
|
|
||||||
|
|
||||||
foreach ($event in $events) {
|
|
||||||
$message = $event.Message
|
|
||||||
$user = ""
|
|
||||||
$computer = ""
|
|
||||||
$document = ""
|
|
||||||
$printer = ""
|
|
||||||
$pages = 0
|
|
||||||
|
|
||||||
if ($message -match "im Besitz von (.+?) wurde auf") {
|
|
||||||
$fullUser = $matches[1].Trim()
|
|
||||||
if ($fullUser -match "^(.+?) auf (.+)$") {
|
|
||||||
$user = $matches[1].Trim()
|
|
||||||
$computer = $matches[2].Trim()
|
|
||||||
} else {
|
|
||||||
$user = $fullUser
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($message -match "wurde auf (.+?) über Port") {
|
|
||||||
$printer = $matches[1].Trim()
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($message -match "Gedruckte Seiten:\s+(\d+)") {
|
|
||||||
$pages = [int]$matches[1]
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($message -match "^Dokument\s+(\d+)") {
|
|
||||||
$document = "Dokument " + $matches[1]
|
|
||||||
}
|
|
||||||
|
|
||||||
$logList += [PSCustomObject]@{
|
|
||||||
Datum = $event.TimeCreated
|
|
||||||
Tag = $event.TimeCreated.Date.ToString("yyyy-MM-dd")
|
|
||||||
Woche = Get-Date $event.TimeCreated -UFormat "%Y-W%V"
|
|
||||||
Benutzer = $user
|
|
||||||
Computer = $computer
|
|
||||||
Dokument = $document
|
|
||||||
Drucker = $printer
|
|
||||||
Seiten = $pages
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# 🔹 Export részletes lista
|
|
||||||
$exportPfad = "$env:USERPROFILE\Desktop\drucklog_export.csv"
|
|
||||||
$logList | Export-Csv -Path $exportPfad -NoTypeInformation -Encoding UTF8
|
|
||||||
|
|
||||||
# 🔸 Összesítés felhasználónként (teljes)
|
|
||||||
$summary = $logList | Group-Object -Property Benutzer | ForEach-Object {
|
|
||||||
$userGroup = $_.Group
|
|
||||||
[PSCustomObject]@{
|
|
||||||
Benutzer = $_.Name
|
|
||||||
Anzahl_Dokumente = $userGroup.Count
|
|
||||||
Gesamt_Seiten = ($userGroup | Measure-Object -Property Seiten -Sum).Sum
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$summary | Export-Csv -Path "$env:USERPROFILE\Desktop\drucklog_summary.csv" -NoTypeInformation -Encoding UTF8
|
|
||||||
|
|
||||||
# 🔸 Napi összesítés felhasználónként
|
|
||||||
$dailySummary = $logList | Group-Object -Property Tag, Benutzer | ForEach-Object {
|
|
||||||
$day = $_.Group[0].Tag
|
|
||||||
$user = $_.Group[0].Benutzer
|
|
||||||
$pages = ($_.Group | Measure-Object -Property Seiten -Sum).Sum
|
|
||||||
$docs = $_.Count
|
|
||||||
|
|
||||||
[PSCustomObject]@{
|
|
||||||
Datum = $day
|
|
||||||
Benutzer = $user
|
|
||||||
Dokumente = $docs
|
|
||||||
Seiten = $pages
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$dailySummary | Export-Csv -Path "$env:USERPROFILE\Desktop\drucklog_daily.csv" -NoTypeInformation -Encoding UTF8
|
|
||||||
|
|
||||||
# 🔸 Heti összesítés felhasználónként (ISO hét formátum: pl. 2025-W30)
|
|
||||||
$weeklySummary = $logList | Group-Object -Property Woche, Benutzer | ForEach-Object {
|
|
||||||
$week = $_.Group[0].Woche
|
|
||||||
$user = $_.Group[0].Benutzer
|
|
||||||
$pages = ($_.Group | Measure-Object -Property Seiten -Sum).Sum
|
|
||||||
$docs = $_.Count
|
|
||||||
|
|
||||||
[PSCustomObject]@{
|
|
||||||
Woche = $week
|
|
||||||
Benutzer = $user
|
|
||||||
Dokumente = $docs
|
|
||||||
Seiten = $pages
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$weeklySummary | Export-Csv -Path "$env:USERPROFILE\Desktop\drucklog_weekly.csv" -NoTypeInformation -Encoding UTF8
|
|
||||||
|
|
||||||
Write-Host "Exportálás kész:"
|
|
||||||
Write-Host "- Részletes lista: drucklog_export.csv"
|
|
||||||
Write-Host "- Összesítés: drucklog_summary.csv"
|
|
||||||
Write-Host "- Napi összesítés: drucklog_daily.csv"
|
|
||||||
Write-Host "- Heti összesítés: drucklog_weekly.csv"
|
|
||||||
|
|
||||||
# 🔸 Nyomtatónkénti összesítés
|
|
||||||
$printerSummary = $logList | Group-Object -Property Drucker | ForEach-Object {
|
|
||||||
$printer = $_.Name
|
|
||||||
$pages = ($_.Group | Measure-Object -Property Seiten -Sum).Sum
|
|
||||||
$docs = $_.Count
|
|
||||||
|
|
||||||
[PSCustomObject]@{
|
|
||||||
Drucker = $printer
|
|
||||||
Dokumente = $docs
|
|
||||||
Seiten = $pages
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$printerSummary | Export-Csv -Path "$env:USERPROFILE\Desktop\drucklog_by_printer.csv" -NoTypeInformation -Encoding UTF8
|
|
||||||
|
|
||||||
# 🔸 Napi összesítés nyomtatónként
|
|
||||||
$dailyPrinterSummary = $logList | Group-Object -Property Tag, Drucker | ForEach-Object {
|
|
||||||
$day = $_.Group[0].Tag
|
|
||||||
$printer = $_.Group[0].Drucker
|
|
||||||
$pages = ($_.Group | Measure-Object -Property Seiten -Sum).Sum
|
|
||||||
$docs = $_.Count
|
|
||||||
|
|
||||||
[PSCustomObject]@{
|
|
||||||
Datum = $day
|
|
||||||
Drucker = $printer
|
|
||||||
Dokumente = $docs
|
|
||||||
Seiten = $pages
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$dailyPrinterSummary | Export-Csv -Path "$env:USERPROFILE\Desktop\drucklog_daily_by_printer.csv" -NoTypeInformation -Encoding UTF8
|
|
||||||
|
|
||||||
# 🔸 Heti összesítés nyomtatónként
|
|
||||||
$weeklyPrinterSummary = $logList | Group-Object -Property Woche, Drucker | ForEach-Object {
|
|
||||||
$week = $_.Group[0].Woche
|
|
||||||
$printer = $_.Group[0].Drucker
|
|
||||||
$pages = ($_.Group | Measure-Object -Property Seiten -Sum).Sum
|
|
||||||
$docs = $_.Count
|
|
||||||
|
|
||||||
[PSCustomObject]@{
|
|
||||||
Woche = $week
|
|
||||||
Drucker = $printer
|
|
||||||
Dokumente = $docs
|
|
||||||
Seiten = $pages
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$weeklyPrinterSummary | Export-Csv -Path "$env:USERPROFILE\Desktop\drucklog_weekly_by_printer.csv" -NoTypeInformation -Encoding UTF8
|
|
||||||
@@ -1,98 +0,0 @@
|
|||||||
# Drucklog_Export.ps1
|
|
||||||
# Nyomtatási napló beolvasása Event Log-ból, feldolgozása és mentése SQLite adatbázisba duplikációk nélkül
|
|
||||||
# Fontos modul SQLite feldolgozäshoz
|
|
||||||
# Install-Module -Name SQLite -Scope CurrentUser
|
|
||||||
# Import-Module SQLite
|
|
||||||
|
|
||||||
# --- Beállítások ---
|
|
||||||
$logName = "Microsoft-Windows-PrintService/Operational"
|
|
||||||
$dbPath = "$env:USERPROFILE\Desktop\drucklog_APS-PRINT01.db"
|
|
||||||
# $dbPath = "$env:USERPROFILE\Desktop\drucklog_APS-PRINT02.db"
|
|
||||||
|
|
||||||
# --- SQLite kapcsolat ---
|
|
||||||
# Add-Type -Path "C:\Tools\SQLite\System.Data.SQLite.dll"
|
|
||||||
$connectionString = "Data Source=$dbPath;Version=3;"
|
|
||||||
$connection = New-Object System.Data.SQLite.SQLiteConnection($connectionString)
|
|
||||||
$connection.Open()
|
|
||||||
|
|
||||||
# --- Tábla létrehozása, ha nem létezik ---
|
|
||||||
$createTableCmd = $connection.CreateCommand()
|
|
||||||
$createTableCmd.CommandText = @"
|
|
||||||
CREATE TABLE IF NOT EXISTS drucklog (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
event_id INTEGER UNIQUE,
|
|
||||||
datum TEXT,
|
|
||||||
tag TEXT,
|
|
||||||
woche TEXT,
|
|
||||||
benutzer TEXT,
|
|
||||||
computer TEXT,
|
|
||||||
dokument TEXT,
|
|
||||||
drucker TEXT,
|
|
||||||
seiten INTEGER
|
|
||||||
);
|
|
||||||
"@
|
|
||||||
$createTableCmd.ExecuteNonQuery()
|
|
||||||
|
|
||||||
# --- Események lekérdezése ---
|
|
||||||
$events = Get-WinEvent -LogName $logName -ErrorAction SilentlyContinue | Where-Object { $_.Id -eq 307 }
|
|
||||||
|
|
||||||
# --- Adatok feldolgozása ---
|
|
||||||
$logList = foreach ($event in $events) {
|
|
||||||
$msg = $event.Message
|
|
||||||
|
|
||||||
if ($msg -match "im Besitz von (.+?) auf (.+?) wurde auf (.+?) über Port") {
|
|
||||||
$benutzer = $matches[1]
|
|
||||||
$computer = $matches[2]
|
|
||||||
$drucker = $matches[3]
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
$dokument = if ($msg -match "Dokument (.+?), Dokument drucken") { $matches[1] } else { "Unbekannt" }
|
|
||||||
$seiten = if ($msg -match "Gedruckte Seiten: (\d+)") { [int]$matches[1] } else { 0 }
|
|
||||||
|
|
||||||
$calendar = [System.Globalization.CultureInfo]::CurrentCulture.Calendar
|
|
||||||
$weekRule = [System.Globalization.CalendarWeekRule]::FirstFourDayWeek
|
|
||||||
$firstDay = [System.DayOfWeek]::Monday
|
|
||||||
$woche = $calendar.GetWeekOfYear($event.TimeCreated, $weekRule, $firstDay)
|
|
||||||
|
|
||||||
[PSCustomObject]@{
|
|
||||||
Id = $event.RecordId
|
|
||||||
Datum = $event.TimeCreated.ToString("yyyy-MM-dd HH:mm:ss")
|
|
||||||
Tag = $event.TimeCreated.ToString("yyyy-MM-dd")
|
|
||||||
Woche = $woche
|
|
||||||
Benutzer = $benutzer
|
|
||||||
Computer = $computer
|
|
||||||
Dokument = $dokument
|
|
||||||
Drucker = $drucker
|
|
||||||
Seiten = $seiten
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# --- Adatok mentése adatbázisba, duplikáció nélkül ---
|
|
||||||
foreach ($row in $logList) {
|
|
||||||
$checkCmd = $connection.CreateCommand()
|
|
||||||
$checkCmd.CommandText = "SELECT COUNT(*) FROM drucklog WHERE event_id = @id"
|
|
||||||
$checkCmd.Parameters.AddWithValue("@id", $row.Id)
|
|
||||||
$exists = $checkCmd.ExecuteScalar()
|
|
||||||
|
|
||||||
if ($exists -eq 0) {
|
|
||||||
$insertCmd = $connection.CreateCommand()
|
|
||||||
$insertCmd.CommandText = "INSERT INTO drucklog (event_id, datum, tag, woche, benutzer, computer, dokument, drucker, seiten)
|
|
||||||
VALUES (@id, @datum, @tag, @woche, @benutzer, @computer, @dokument, @drucker, @seiten)"
|
|
||||||
$insertCmd.Parameters.AddWithValue("@id", $row.Id)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@datum", $row.Datum)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@tag", $row.Tag)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@woche", $row.Woche)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@benutzer", $row.Benutzer)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@computer", $row.Computer)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@dokument", $row.Dokument)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@drucker", $row.Drucker)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@seiten", $row.Seiten)
|
|
||||||
$insertCmd.ExecuteNonQuery()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$connection.Close()
|
|
||||||
Write-Host "Sikeresen frissítve: $($logList.Count) esemény feldolgozva."
|
|
||||||
@@ -1,101 +0,0 @@
|
|||||||
# Drucklog_Export.ps1
|
|
||||||
# Nyomtatási napló beolvasása Event Log-ból, feldolgozása és mentése SQLite adatbázisba duplikációk nélkül
|
|
||||||
# Fontos modul SQLite feldolgozäshoz
|
|
||||||
# Install-Module -Name SQLite -Scope CurrentUser
|
|
||||||
# Import-Module SQLite
|
|
||||||
|
|
||||||
# --- Beállítások ---
|
|
||||||
$logName = "Microsoft-Windows-PrintService/Operational"
|
|
||||||
$dbPath = "$env:USERPROFILE\Desktop\drucklog_APS-PRINT01.db"
|
|
||||||
# $dbPath = "$env:USERPROFILE\Desktop\drucklog_APS-PRINT02.db"
|
|
||||||
|
|
||||||
# --- SQLite kapcsolat ---
|
|
||||||
# Add-Type -Path "C:\Tools\SQLite\System.Data.SQLite.dll"
|
|
||||||
$connectionString = "Data Source=$dbPath;Version=3;"
|
|
||||||
$connection = New-Object System.Data.SQLite.SQLiteConnection($connectionString)
|
|
||||||
$connection.Open()
|
|
||||||
|
|
||||||
# --- Tábla létrehozása, ha nem létezik ---
|
|
||||||
$createTableCmd = $connection.CreateCommand()
|
|
||||||
$createTableCmd.CommandText = @"
|
|
||||||
CREATE TABLE IF NOT EXISTS drucklog (
|
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
||||||
event_id INTEGER UNIQUE,
|
|
||||||
datum TEXT,
|
|
||||||
tag TEXT,
|
|
||||||
woche TEXT,
|
|
||||||
benutzer TEXT,
|
|
||||||
computer TEXT,
|
|
||||||
dokument TEXT,
|
|
||||||
drucker TEXT,
|
|
||||||
seiten INTEGER
|
|
||||||
);
|
|
||||||
"@
|
|
||||||
$createTableCmd.ExecuteNonQuery()
|
|
||||||
|
|
||||||
# --- Események lekérdezése ---
|
|
||||||
$events = Get-WinEvent -LogName $logName -ErrorAction SilentlyContinue | Where-Object { $_.Id -eq 307 }
|
|
||||||
|
|
||||||
# --- Adatok feldolgozása ---
|
|
||||||
$logList = foreach ($event in $events) {
|
|
||||||
$msg = $event.Message
|
|
||||||
|
|
||||||
if ($msg -match "im Besitz von (.+?) auf (.+?) wurde auf (.+?) über Port") {
|
|
||||||
$benutzer = $matches[1]
|
|
||||||
$computer = $matches[2]
|
|
||||||
$drucker = $matches[3]
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
$dokument = if ($msg -match "Dokument (.+?), Dokument drucken") { $matches[1] } else { "Unbekannt" }
|
|
||||||
$seiten = if ($msg -match "Gedruckte Seiten: (\d+)") { [int]$matches[1] } else { 0 }
|
|
||||||
|
|
||||||
$calendar = [System.Globalization.CultureInfo]::CurrentCulture.Calendar
|
|
||||||
$weekRule = [System.Globalization.CalendarWeekRule]::FirstFourDayWeek
|
|
||||||
$firstDay = [System.DayOfWeek]::Monday
|
|
||||||
$woche = $calendar.GetWeekOfYear($event.TimeCreated, $weekRule, $firstDay)
|
|
||||||
|
|
||||||
[PSCustomObject]@{
|
|
||||||
Id = $event.RecordId
|
|
||||||
Datum = $event.TimeCreated.ToString("yyyy-MM-dd HH:mm:ss")
|
|
||||||
Tag = $event.TimeCreated.ToString("yyyy-MM-dd")
|
|
||||||
Woche = $woche
|
|
||||||
Benutzer = $benutzer
|
|
||||||
Computer = $computer
|
|
||||||
Dokument = $dokument
|
|
||||||
Drucker = $drucker
|
|
||||||
Seiten = $seiten
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# --- Adatok mentése adatbázisba, duplikáció nélkül ---
|
|
||||||
$ujBejegyzesek = 0
|
|
||||||
foreach ($row in $logList) {
|
|
||||||
$checkCmd = $connection.CreateCommand()
|
|
||||||
$checkCmd.CommandText = "SELECT COUNT(*) FROM drucklog WHERE event_id = @id"
|
|
||||||
$checkCmd.Parameters.AddWithValue("@id", $row.Id)
|
|
||||||
$exists = $checkCmd.ExecuteScalar()
|
|
||||||
|
|
||||||
if ($exists -eq 0) {
|
|
||||||
$insertCmd = $connection.CreateCommand()
|
|
||||||
$insertCmd.CommandText = "INSERT INTO drucklog (event_id, datum, tag, woche, benutzer, computer, dokument, drucker, seiten)
|
|
||||||
VALUES (@id, @datum, @tag, @woche, @benutzer, @computer, @dokument, @drucker, @seiten)"
|
|
||||||
$insertCmd.Parameters.AddWithValue("@id", $row.Id)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@datum", $row.Datum)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@tag", $row.Tag)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@woche", $row.Woche)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@benutzer", $row.Benutzer)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@computer", $row.Computer)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@dokument", $row.Dokument)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@drucker", $row.Drucker)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@seiten", $row.Seiten)
|
|
||||||
$insertCmd.ExecuteNonQuery()
|
|
||||||
$ujBejegyzesek++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$connection.Close()
|
|
||||||
Write-Host "Sikeresen frissítve: $($logList.Count) esemény feldolgozva."
|
|
||||||
Write-Host "Új bejegyzések az adatbázisban: $ujBejegyzesek"
|
|
||||||
@@ -1,81 +0,0 @@
|
|||||||
# Drucklog_MySQL.ps1
|
|
||||||
# Install-Module MySQLCmdlets
|
|
||||||
# Nyomtatási napló export MySQL adatbázisba
|
|
||||||
# Aufgabeplannung: Taglich um 8.00 Uhr
|
|
||||||
# Name: Drucklog_MySQL_0.1.ps1
|
|
||||||
# powershell.exe -ExecutionPolicy Bypass -File "-ExecutionPolicy Bypass -File "C:\Tools\drucklog_export_0.1.ps1"
|
|
||||||
|
|
||||||
# Beállítások
|
|
||||||
$logName = "Microsoft-Windows-PrintService/Operational"
|
|
||||||
$mysqlHost = "10.101.0.82"
|
|
||||||
$mysqlUser = "druckloguser"
|
|
||||||
$mysqlPassword = "Test123#"
|
|
||||||
$mysqlDatabase = "drucklog"
|
|
||||||
$quelleServer = $env:COMPUTERNAME # vagy: "Szerver01"
|
|
||||||
|
|
||||||
# MySQL .NET csomag betöltése (előzetesen szükséges: MySql.Data.dll)
|
|
||||||
# Add-Type -Path "C:\Tools\MySql.Data.dll"
|
|
||||||
# Add-Type -Path "C:\Program Files (x86)\MySQL\MySQL Connector NET 9.4\MySql.Data.dll"
|
|
||||||
[Reflection.Assembly]::LoadFrom("C:\Program Files (x86)\MySQL\MySQL Connector NET 9.4\MySql.Data.dll") | Out-Null
|
|
||||||
|
|
||||||
# Kapcsolódás
|
|
||||||
$connectionString = "server=$mysqlHost;user id=$mysqlUser;password=$mysqlPassword;database=$mysqlDatabase;SslMode=none"
|
|
||||||
$connection = New-Object MySql.Data.MySqlClient.MySqlConnection($connectionString)
|
|
||||||
$connection.Open()
|
|
||||||
|
|
||||||
# Lekérés a logból
|
|
||||||
$events = Get-WinEvent -LogName $logName -ErrorAction SilentlyContinue | Where-Object { $_.Id -eq 307 }
|
|
||||||
|
|
||||||
# Kulturális beállítás a heti számításhoz
|
|
||||||
$calendar = [System.Globalization.CultureInfo]::CurrentCulture.Calendar
|
|
||||||
$weekRule = [System.Globalization.CalendarWeekRule]::FirstFourDayWeek
|
|
||||||
$firstDay = [System.DayOfWeek]::Monday
|
|
||||||
|
|
||||||
$ujBejegyzes = 0
|
|
||||||
|
|
||||||
foreach ($event in $events) {
|
|
||||||
$msg = $event.Message
|
|
||||||
|
|
||||||
if ($msg -match "im Besitz von (.+?) auf (.+?) wurde auf (.+?) über Port") {
|
|
||||||
$benutzer = $matches[1]
|
|
||||||
$computer = $matches[2]
|
|
||||||
$drucker = $matches[3]
|
|
||||||
} else {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
$dokument = if ($msg -match "Dokument (.+?), Dokument drucken") { $matches[1] } else { "Unbekannt" }
|
|
||||||
$seiten = if ($msg -match "Gedruckte Seiten: (\d+)") { [int]$matches[1] } else { 0 }
|
|
||||||
$woche = $calendar.GetWeekOfYear($event.TimeCreated, $weekRule, $firstDay)
|
|
||||||
$datum = $event.TimeCreated.ToString("yyyy-MM-dd HH:mm:ss")
|
|
||||||
$tag = $event.TimeCreated.ToString("yyyy-MM-dd")
|
|
||||||
$id = $event.RecordId
|
|
||||||
|
|
||||||
# Duplikáció ellenőrzés
|
|
||||||
$checkCmd = $connection.CreateCommand()
|
|
||||||
$checkCmd.CommandText = "SELECT COUNT(*) FROM drucklog WHERE event_id = @id AND quelle_server = @qs"
|
|
||||||
$checkCmd.Parameters.AddWithValue("@id", $id)
|
|
||||||
$checkCmd.Parameters.AddWithValue("@qs", $quelleServer)
|
|
||||||
$exists = $checkCmd.ExecuteScalar()
|
|
||||||
|
|
||||||
if ($exists -eq 0) {
|
|
||||||
$insertCmd = $connection.CreateCommand()
|
|
||||||
$insertCmd.CommandText = "INSERT INTO drucklog (event_id, datum, tag, woche, benutzer, computer, dokument, drucker, seiten, quelle_server)
|
|
||||||
VALUES (@id, @datum, @tag, @woche, @benutzer, @computer, @dokument, @drucker, @seiten, @qs)"
|
|
||||||
$insertCmd.Parameters.AddWithValue("@id", $id)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@datum", $datum)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@tag", $tag)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@woche", $woche)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@benutzer", $benutzer)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@computer", $computer)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@dokument", $dokument)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@drucker", $drucker)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@seiten", $seiten)
|
|
||||||
$insertCmd.Parameters.AddWithValue("@qs", $quelleServer)
|
|
||||||
$insertCmd.ExecuteNonQuery()
|
|
||||||
$ujBejegyzes++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$connection.Close()
|
|
||||||
Write-Host "Feldolgozott események: $($events.Count) | Új bejegyzés: $ujBejegyzes"
|
|
||||||
@@ -1,12 +1,16 @@
|
|||||||
# Drucklog_MySQL.ps1
|
# Drucklog_MySQL.ps1
|
||||||
# Install-Module MySQLCmdlets
|
# Install-Module MySQLCmdlets
|
||||||
# Nyomtatási napló export MySQL adatbázisba
|
# Nyomtatási napló export MySQL adatbázisba
|
||||||
|
|
||||||
|
#Teszt
|
||||||
|
Add-Content -Path "C:\Tools\drucklog_task.log" -Value "$(Get-Date -Format "yyyy-MM-dd HH:mm:ss") - Script futott"
|
||||||
|
|
||||||
|
|
||||||
# Beállítások
|
# Beállítások
|
||||||
$logName = "Microsoft-Windows-PrintService/Operational"
|
$logName = "Microsoft-Windows-PrintService/Operational"
|
||||||
$mysqlHost = "10.101.0.82"
|
$mysqlHost = "10.102.1.65"
|
||||||
$mysqlUser = "druckloguser"
|
$mysqlUser = "svc.druckerlog"
|
||||||
$mysqlPassword = "Test123#"
|
$mysqlPassword = "ctqBirh3eEbakLb96Ks1"
|
||||||
$mysqlDatabase = "drucklog"
|
$mysqlDatabase = "drucklog"
|
||||||
$quelleServer = $env:COMPUTERNAME # vagy: "Szerver01"
|
$quelleServer = $env:COMPUTERNAME # vagy: "Szerver01"
|
||||||
|
|
||||||
@@ -15,6 +19,7 @@ $quelleServer = $env:COMPUTERNAME # vagy: "Szerver01"
|
|||||||
# Add-Type -Path "C:\Program Files (x86)\MySQL\MySQL Connector NET 9.4\MySql.Data.dll"
|
# Add-Type -Path "C:\Program Files (x86)\MySQL\MySQL Connector NET 9.4\MySql.Data.dll"
|
||||||
[Reflection.Assembly]::LoadFrom("C:\Program Files (x86)\MySQL\MySQL Connector NET 9.4\MySql.Data.dll") | Out-Null
|
[Reflection.Assembly]::LoadFrom("C:\Program Files (x86)\MySQL\MySQL Connector NET 9.4\MySql.Data.dll") | Out-Null
|
||||||
|
|
||||||
|
|
||||||
# Kapcsolódás
|
# Kapcsolódás
|
||||||
$connectionString = "server=$mysqlHost;user id=$mysqlUser;password=$mysqlPassword;database=$mysqlDatabase;SslMode=none"
|
$connectionString = "server=$mysqlHost;user id=$mysqlUser;password=$mysqlPassword;database=$mysqlDatabase;SslMode=none"
|
||||||
$connection = New-Object MySql.Data.MySqlClient.MySqlConnection($connectionString)
|
$connection = New-Object MySql.Data.MySqlClient.MySqlConnection($connectionString)
|
||||||
@@ -1,91 +0,0 @@
|
|||||||
# Requires -Modules @{ModuleName='Microsoft.Graph.Applications';ModuleVersion='1.19.0'}, @{ModuleName='Microsoft.Graph.Mail';ModuleVersion='1.19.0'}
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# KONFIGURÁCIÓ
|
|
||||||
# ==============================================================================
|
|
||||||
# Adatok az Azure App Regisztrációból
|
|
||||||
# Tennant ID : caee3499-03f8-4175-9fa8-a935248d0ece
|
|
||||||
$TENANT_ID = "caee3499-03f8-4175-9fa8-a935248d0ece"
|
|
||||||
# Client Id : 3a08b279-1fc3-419f-a77e-31f12a0f65f7
|
|
||||||
$CLIENT_ID = "3a08b279-1fc3-419f-a77e-31f12a0f65f7"
|
|
||||||
# Key : Rk-8Q~nJ.sZ-xUiNxtEDdzVgoFFosODLVHX~jdrh (érték, nem Secret ID)
|
|
||||||
$CLIENT_SECRET = "Rk-8Q~nJ.sZ-xUiNxtEDdzVgoFFosODLVHX~jdrh"
|
|
||||||
|
|
||||||
# Figyelt postafiók
|
|
||||||
$USER_EMAIL = "i.meszely@aps-hh.de"
|
|
||||||
|
|
||||||
# Microsoft Graph API végpontok (alapértelmezett, nem kell módosítani)
|
|
||||||
$GRAPH_API_ENDPOINT = "https://graph.microsoft.com/v1.0"
|
|
||||||
|
|
||||||
# Scopes needed for the application
|
|
||||||
# Mail.ReadWrite for reading, marking as read, and eventually moving emails
|
|
||||||
$SCOPES = @("Mail.ReadWrite")
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# FÜGGVÉNYEK
|
|
||||||
# ==============================================================================
|
|
||||||
|
|
||||||
Function Connect-GraphAPI {
|
|
||||||
<#
|
|
||||||
.SYNOPSIS
|
|
||||||
Csatlakozik a Microsoft Graph API-hoz kliens hitelesítő adatokkal.
|
|
||||||
.DESCRIPTION
|
|
||||||
Ez a függvény megpróbál csatlakozni a Microsoft Graph API-hoz az Azure AD alkalmazás regisztrációjában megadott
|
|
||||||
kliens hitelesítő adatok (Tenant ID, Client ID, Client Secret) segítségével.
|
|
||||||
Sikeres kapcsolat esetén egy Access Token-t ad vissza. Hiba esetén null-t ad vissza és hibaüzenetet ír ki.
|
|
||||||
.OUTPUTS
|
|
||||||
Access Token (String) vagy $null
|
|
||||||
#>
|
|
||||||
[CmdletBinding()]
|
|
||||||
Param()
|
|
||||||
|
|
||||||
Write-Host "Graph API-hoz való csatlakozás megkezdése..." -ForegroundColor Cyan
|
|
||||||
|
|
||||||
try {
|
|
||||||
# Ellenőrizzük, hogy a szükséges modulok telepítve vannak-e
|
|
||||||
$requiredModules = @("Microsoft.Graph.Applications", "Microsoft.Graph.Mail")
|
|
||||||
foreach ($module in $requiredModules) {
|
|
||||||
if (-not (Get-Module -ListAvailable -Name $module)) {
|
|
||||||
Write-Warning "A(z) '$module' PowerShell modul nincs telepítve. Kérjük telepítse futtatás előtt: Install-Module $module"
|
|
||||||
return $null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Csatlakozás a Graph API-hoz kliens hitelesítő adatokkal
|
|
||||||
# A -Scopes paraméterben az alkalmazásengedélyek neveit kell megadni
|
|
||||||
$connectResult = Connect-MgGraph -TenantId $TENANT_ID -ClientId $CLIENT_ID -ClientSecret $CLIENT_SECRET -Scopes $SCOPES -ErrorAction Stop
|
|
||||||
|
|
||||||
if ($connectResult) {
|
|
||||||
Write-Host "Sikeresen csatlakozott a Graph API-hoz." -ForegroundColor Green
|
|
||||||
# Lekérjük az Access Token-t
|
|
||||||
$token = (Get-MsalToken).AccessToken
|
|
||||||
return $token
|
|
||||||
} else {
|
|
||||||
Write-Error "Nem sikerült csatlakozni a Graph API-hoz."
|
|
||||||
return $null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
Write-Error "Hiba történt a Graph API-hoz való csatlakozás során: $($_.Exception.Message)"
|
|
||||||
Write-Host "Kérjük, ellenőrizze a konfigurációs beállításokat (TENANT_ID, CLIENT_ID, CLIENT_SECRET) és az alkalmazásengedélyeket az Azure AD-ben." -ForegroundColor Yellow
|
|
||||||
return $null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# FŐ LOGIKA
|
|
||||||
# ==============================================================================
|
|
||||||
function Main {
|
|
||||||
$accessToken = Connect-GraphAPI
|
|
||||||
|
|
||||||
if (-not $accessToken) {
|
|
||||||
Write-Error "Nem sikerült Access Token-t szerezni. Kilépés."
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host "Access Token sikeresen lekérve. Kész a Graph API hívásokhoz." -ForegroundColor Green
|
|
||||||
# Itt fogjuk később implementálni az e-mailek feldolgozását
|
|
||||||
}
|
|
||||||
|
|
||||||
# Fő függvény meghívása
|
|
||||||
Main
|
|
||||||
Reference in New Issue
Block a user