diff --git a/Beispielprojekt/Check-Invitations b/Beispielprojekt/Check-Invitations.ps1
similarity index 100%
rename from Beispielprojekt/Check-Invitations
rename to Beispielprojekt/Check-Invitations.ps1
diff --git a/Beispielprojekt/Check-Mailinglists.ps1 b/Beispielprojekt/Check-Mailinglists.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..d0e1daff86d12f8f1b8d4d1dcebdd3a3ad8201e7
--- /dev/null
+++ b/Beispielprojekt/Check-Mailinglists.ps1
@@ -0,0 +1,65 @@
+function Check-Mailinglists
+{
+    [CmdletBinding()]
+    param
+    (
+        # Pfad zur Excel-Datei
+        $xlsxpath
+    )    
+    
+    # Importieren der Excel-Datei mit den Mailboxen
+    $File = Import-Excel -Path $xlsxpath
+
+    # Importieren aller Postfächer aus dem Mailsystem
+    $AllMbxsInMailsystem = $WS.GetMailboxlist()
+
+    # Importieren aller Mailinglisten aus dem Mailsystem
+    $AllMailingLists = $WS.getMailLists()
+    write-verbose "Es gibt folgende Mailinglists:"
+    
+    # Aufzählen aller Mailinglists untereinander (bei Write-Verbose "$AllMailingLists.Emailaddress" wäre die Anzeige nebeneinander, was nicht gut aussieht)
+    foreach($Mailinglist in $AllMailinglists)
+    {
+        write-verbose "$($Mailinglist.Emailaddress)"
+    }
+
+    # ForEach-Schleife für die Überprüfung
+    foreach($MailingList in $AllMailinglists)
+    {
+        # Ausgabe für Verbose
+        write-verbose "`n --Die Mailingliste $($Mailinglist.emailaddress) wird nun überprüft"
+
+        # Holen der gewünschten Subscriber der Mailingliste aus der Excel-Datei
+        $SupposedMembers = $File | Where {$_.UPN -ne $null -and $_.Mailinglists -like "*$($Mailinglist.EMailaddress)*"}
+
+        # Holen der aktuellen Mitglieder der Mailingliste
+        $CurrentMembers = $WS.GetUsersInMaillist($Mailinglist.EMailAddress)
+
+        foreach($SupposedMember in $SupposedMembers)
+        {
+            # Wenn der gewünschte Member in der Mailingliste enthalten ist, ist alles ok.
+            if($Currentmembers.Emailaddress -contains $SupposedMember.Emailaddress)
+            {
+                write-verbose "$($SupposedMember.Emailaddress) ist schon in der Mailingliste $($Mailinglist.Emailaddress) und auch ein gewünschter Member. Alles korrekt"
+            }
+            # Wenn der gewünschte Member noch KEIN Mitglied der Mailingliste ist, wird er hinzugefügt
+            elseif($CurrentMembers.Emailaddress -notcontains $SupposedMember.Emailaddress)
+            {
+                write-host "$($SupposedMember.Emailaddress) ist ein gewünschter Member der Mailingliste $($Mailinglist.Emailaddress), ist aber noch kein Mitglied. Wird nun hinzugefügt" -foreground yellow
+                $WS.AddMailboxToMaillist($Mailinglist.Emailaddress,$SupposedMember.UPN)
+                #$WebserviceConnection.addMailboxToMaillist($distributionlist, $mailbox.upn)
+            }
+        }
+
+        # Testen in die andere Richtung nach nicht gewünschten Einträgen
+        foreach($CurrentMember in $CurrentMembers)
+        {
+            # Wenn der aktuelle Member NICHT in den gewünschten Membern vorhanden ist, wird er entfernt
+            if($SupposedMembers.Emailaddress -notcontains $CurrentMember.Emailaddress)
+            {
+                write-host "$($CurrentMember.Emailaddress) ist schon in der Mailingliste $($Mailinglist.Emailaddress), ist aber KEIN gewünschter Member. Wird nun entfernt" -foreground yellow
+                $ws.RemoveMailboxFromMaillist($Mailinglist.Emailaddress,$Currentmember.UPN)
+            }
+        }
+    }
+} #Ende der Funktion Check-Mailinglists
\ No newline at end of file
diff --git a/Beispielprojekt/Check-Quota.ps1 b/Beispielprojekt/Check-Quota.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..b755c7a34a3e1a57d51e60b4876f60ddf945f720
--- /dev/null
+++ b/Beispielprojekt/Check-Quota.ps1
@@ -0,0 +1,103 @@
+function Check-Quota
+{
+    [CmdletBinding()]
+    param
+    (
+        # Pfad zur Excel-Datei
+        $xlsxpath,
+        # Threshold in %, ab wann das Postfach erhöht werden soll
+        $Threshold = 7,
+        # Wert in Prozentwert, wie viel das QUota immer erhöht werden soll
+        $Quotamultiplicator = 1.25
+    )
+
+    # Die Funktion überprüft und vergleicht das Quota jeder Mailbox im Mailsystem mit dem gewünschten Quota aus
+    # der Excel-Datei und erhöht bei überschreiten des Schwellwertes das Quota der Mailbox. Den Schwellwert kann man im Skript anpassen
+    # und ist standardmäßig auf 75% gesetzt. Wenn der Schwellwert (Threshold) überschritten wird, wird standardmäßig um 25% erhöht.
+    # Bevor diese Funktion ausgeführt werden kann, muss erst Connect-Webservice ausgeführt werden.
+
+    # Importieren der Excel-Datei mit den Mailboxen
+    $File = Import-Excel -Path $xlsxpath
+
+    # Filtern der EInträge in der Excel-Datei, dass nur Einträge mit UPN genommen werden
+    $file = $file | Where {$_.UPN -ne $null}
+
+    # Importieren aller Mailboxen aus dem Mailsystem und Formatieren der Spalten
+    $AllmbxsInMailsystem = $WS.GetMailboxList() | Select UPN,EMailaddress,GivenName,Sn,@{Name="QuotaInMB"; Expression = {$_.QuotaInB/1048576}},@{Name="TotalItemSizeInMB"; Expression = {$_.TotalItemsizeInB/1048576}},Mailboxtype
+
+    # Geht jede Zeile in der Excel-Datei durch und vergleicht dann den Eintrag mit dem Ist-Zustand in dem Mailsystem
+    foreach($MbxinFile in $File)
+    {
+        # Bekommen des jeweiligen Postfaches im Mailsystem
+        $MbxInMailSystem = $AllmbxsInMailsystem | Where {$_.Emailaddress -eq $MbxInFile.EMailaddress}
+
+        # Wenn ein Eintrag gefunden wird
+        if($MbxInMailsystem -ne $null)
+        {
+            # Bekommen des aktuellen Quotas
+            $CurrentQuota = $MbxInMailSystem.QuotaInMB
+            $CurrentUsage = $MbxInMailSystem.TotalItemSizeInMB #Muss gefragt werden, ob das die aktuelle Belegung des Postfaches ist
+            $Filledpercent = 100/$CurrentQuota*$CurrentUsage
+
+            # Auflisten aller wichtigen Eigenschaften des Postfachs
+            write-verbose "Das Postfach $($MbxInMailsystem.UPN) hat aktuell folgende Eigenschaften
+            Current Quota: $CurrentQuota MB
+            Current Usage: $CurrentUsage MB
+            FilledPercent = $FilledPercent %"
+
+            # Wenn der belegte Speicher über dem threshold liegt
+            if($filledPercent -gt $threshold)
+            {
+                # Neues Quota wird errechnet und aufgerundet auf ganze MB
+                $NewQuota = $CurrentQuota * $Quotamultiplicator
+                $newQuota = [Math]::ceiling($newQuota)
+
+                # Wenn das Aktuelle Quota schon am festgelegten Maximum ist, wird nicht erhöht
+                if($CurrentQuota -eq $MbxinFile.MaxQuotaInMB)
+                {
+                    # write-verbose info
+                    write-host "Schwellwert überschritten! Die Mailbox würde nun ein erhöhtes Quota bekommen, hat aber bereits das Maximalquota ($($MbxinFile.MaxQuotaInMB)MB) erreicht. Es wird keine weitere Erhöhung vorgenommen. `n" -foreground yellow
+                }
+                # Wenn das Neue Quota nach Erhöhung größer als das festgelegte Maximum ist, wird nur bis zum festgelegten Maximum erhöht
+                elseif($newQuota -ge $MbxinFile.MaxQuotaInMB)
+                {
+                    # write-verbose info
+                    write-host "Schwellwert überschritten! Das Postfach wurde vergrößert und hat nun das Maximalquota von $($MbxinFile.MaxQuotaInMB)MB erreicht. Es wird nicht mehr weiter erhöht `n" -foreground yellow
+                
+                    # Setzen des neuen Quotas
+                    $newQuota = $mbxInFile.MaxQuotaInMB
+                    $WS.SetQuota($($MbxinMailsystem.upn),$newQuota)
+                }
+                # Wenn das Neue Quota nach Erhöhung kleiner als das festgelegte Maximum ist, wird das Quota wie gewünscht erhöht
+                elseif($newQuota -lt $MbxinFile.MaxQuotaInMB)
+                {
+                    # write-verbose info
+                    write-host "Das Postfach hat das Margin für eine Quotaerhöhung erreicht. Das Postfach bekommt nun 25% mehr Quota (bis Maximal $($MbxinFile.MaxQuotaInMB)MB)
+                    Altes Quota für $($MbxInMailsystem.UPN): $CurrentQuota MB
+                    Neues Quota für $($MbxInMailsystem.UPN): $newQuota MB" -foreground yellow
+                
+                    # Setzen des neuen Quotas
+                    $WS.SetQuota($($MbxinMailsystem.upn),$newQuota)
+                }
+                else
+                {
+                    write-host "Irgendwas geht nicht: Skriptbedingungen prüfen, Administrator benachrichtigen `n"
+                }
+            
+                # Entfernen der Variable newquota, um fehler auszuschließen
+                Remove-Variable newquota
+            }
+            # Wenn der Threshold für eine Quotaerhöhung noch nicht erreicht ist
+            else
+            {
+                # write-verbose info
+                write-verbose "Das Quota der Mailbox sieht gut aus. Quotaerhöhung wird nicht durchgeführt. `n"
+            }
+        
+        }
+        else
+        {
+            write-verbose "Die E-Mail-Adresse >$($MbxInFile.EMailaddress)< ist wahrscheinlich falsch konfiguriert, wurde sie vielleicht abgeändert?"
+        }
+    } #Ende foreach-Schleife
+} #Ende Function Check-Quota
\ No newline at end of file
diff --git a/Beispielprojekt/Load-Modules.ps1 b/Beispielprojekt/Load-Modules.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..c9f3520b165fb2941c9d4f074f656a2f5867402b
--- /dev/null
+++ b/Beispielprojekt/Load-Modules.ps1
@@ -0,0 +1,23 @@
+function Load-Modules
+{
+    [CmdletBinding()]
+    param()
+
+    #Excel-Modul
+    write-verbose "Es werden die benötigten Module geladen und ggf. Installiert.."
+    $GetModule = Get-Module ImportExcel -ListAvailable -ErrorAction SilentlyContinue
+    if($GetModule -eq $null)
+    {
+        write-verbose "Modul existiert noch nicht und wird nun installiert"
+        Install-Module ImportExcel -Confirm:$false
+        write-verbose "Modul wurde installiert und wird nun importiert"
+        Import-Module ImportExcel
+
+    }
+    else
+    {
+        write-verbose "Modul existiert schon und wird nun importiert"
+        Import-Module ImportExcel
+    }
+    write-verbose "Module geladen!"
+}
\ No newline at end of file