cargoluxpilot748
Goto Top

Inhalt einer SMTP Adresse entfernen

Hallo zusammen,

ich bräuchte etwas Unterstützung. Wir haben Fremdfirmen Mitarbeiter damit gekennzeichnet, dass ihre Mail vorname.nachname@extern.firma.de lautet.

Interne haben bei uns ganz normal vorname.nachname@firma.de

Wir haben uns nun entschieden, dass alle Mails einheitlich werden sollen. Das "extern" soll somit vollständig aus allen Mailadressen entfernt werden.

Begonnen habe ich so:

#Teil definieren
$SMTP = "*extern.*"      

#Mitarbeiter durchsuchen
$users = Get-adUser -Filter * 

#Jeden Mitarbeiter durchlaufen
foreach($user in $users){
     #Mails filtern
     $mails = Get-Mailbox -ErrorAction silentlyContinue $user.SamAccountName | %{$_.EmailAddresses | ?{$_ -like $SMTP} | select -Expand ProxyAddressString}}

Soweit so gut. Er zeigt mir nur die Personen an, die "extern" in ihrer Mail haben.

Kann mir jemand sagen, wie ich am besten weitermache, damit nur der Teil "extern" rausgenommen wird?

Muss der SMTP Eintrag zunächst gelöscht und ersetzt werden oder kann lässt sich das direkt abändern?

Danke im Voraus für die Hilfe!

Content-ID: 34060348511

Url: https://administrator.de/forum/inhalt-einer-smtp-adresse-entfernen-34060348511.html

Ausgedruckt am: 22.12.2024 um 10:12 Uhr

erikro
erikro 25.01.2024, aktualisiert am 26.01.2024 um 14:49:59 Uhr
Goto Top
Moin,

warum einfach, wenn es auch kompliziert geht? face-wink So erreichst Du das Ganze erst einmal ganz ohne Pipes:

get-mailbox -filter {Emailaddresses -like "*.extern.*"}  

Dann als Ansatz:
Das Ergebnis würde ich mir in ein Array schreiben und darüber eine foreach-Schleife laufen lassen. In etwa so:

$externals = get-mailbox -filter {Emailaddresses -like "*.extern.*"}  
foreach($external in $externals) {

[regex]$regex = "(.*)extern\.(.*),.*"  
$newaddress = ($external.EmailAddresses -replace ('$regex','$1$2'))  
set-mailbox $_ -Emailaddresses $newaddress
}

Schnell hingeschrieben und nicht getestet.

hth

Erik

Edit: Warum war denn die schließende Klammer hinter dem Gruß? face-wink

Edit2: Die Lösung von @abamakabra weiter unten ist wesentlich besser.
CargoluxPilot748
CargoluxPilot748 25.01.2024 um 13:11:30 Uhr
Goto Top
Danke, das werde ich morgen mal testen!
Xaero1982
Xaero1982 25.01.2024 um 19:47:42 Uhr
Goto Top
Schlechte Idee, wenn sie wirklich extern sind. Das kann zu Problemen führen bei evtl. Prüfungen. Kam schon vor, dass die Firma dann Sozialbeiträge etc. zahlen durfte.
CargoluxPilot748
CargoluxPilot748 26.01.2024 aktualisiert um 07:55:57 Uhr
Goto Top
Zitat von @Xaero1982:

Schlechte Idee, wenn sie wirklich extern sind. Das kann zu Problemen führen bei evtl. Prüfungen. Kam schon vor, dass die Firma dann Sozialbeiträge etc. zahlen durfte.

Hast Du mir da eine Quelle?

Bei uns werden die Fremdfirmen gar nicht erst von der internen Personalabteilung verwaltet. Das läuft direkt über den jeweiligen Abteilungsleiter. D.h. sie sind nicht in der internen Datenbank hinterlegt.
Xaero1982
Xaero1982 26.01.2024 um 11:34:33 Uhr
Goto Top
Zitat von @CargoluxPilot748:

Zitat von @Xaero1982:

Schlechte Idee, wenn sie wirklich extern sind. Das kann zu Problemen führen bei evtl. Prüfungen. Kam schon vor, dass die Firma dann Sozialbeiträge etc. zahlen durfte.

Hast Du mir da eine Quelle?

Bei uns werden die Fremdfirmen gar nicht erst von der internen Personalabteilung verwaltet. Das läuft direkt über den jeweiligen Abteilungsleiter. D.h. sie sind nicht in der internen Datenbank hinterlegt.

https://www.e-recht24.de/artikel/arbeitsrecht/189.html#

Geht hier zwar um die Scheinselbstständigkeit, aber ich habe Anwaltskanzleien als Kunden und da habe ich noch nicht mal mehr eine mit "extern", sondern gar keine. Das läuft da alles nur noch über das Adminkonto um Probleme zu kontrollieren.

Grüße
11078840001
11078840001 26.01.2024 aktualisiert um 14:36:17 Uhr
Goto Top
Wieso macht ihr das nicht gleich über E-Mail-Adressrichtlinien ?
https://learn.microsoft.com/de-de/powershell/module/exchange/new-emailad ...
Dann muss man auch nicht immer durch die User Skripten sondern legt anhand von Eigenschaften der Mailboxen fest welche User welche Adressen erhalten.
erikro
erikro 26.01.2024 um 14:42:00 Uhr
Goto Top
Moin,

Zitat von @abamakabra:

Wieso macht ihr das nicht gleich über E-Mail-Adressrichtlinien ?
https://learn.microsoft.com/de-de/powershell/module/exchange/new-emailad ...
Dann muss man auch nicht immer durch die User Skripten sondern legt anhand von Eigenschaften der Mailboxen fest welche User welche Adressen erhalten.

Weil das Bestandsadressen sind. Die Address Policy betrifft aber nur neue Konten.

Liebe Grüße

Erik
11078840001
11078840001 26.01.2024 aktualisiert um 14:47:51 Uhr
Goto Top
Die Address Policy betrifft aber nur neue Konten.
Nach einem Update lassen sich auch bestehende Accounts problemlos mit einer Policy aktualiseren, sofern das in der Mailbox nicht über den Parameter -EmailAddressPolicyEnabled $false deaktiviert wurde.
https://learn.microsoft.com/en-us/powershell/module/exchange/update-emai ...
erikro
erikro 26.01.2024 um 14:46:47 Uhr
Goto Top
Zitat von @abamakabra:

Die Address Policy betrifft aber nur neue Konten.
Nach einem Update lassen sich auch bestehende Accounts problemlos mit einer Policy aktualiseren, sofern das in der Mailbox nicht deaktiviert wurde.
https://learn.microsoft.com/en-us/powershell/module/exchange/update-emai ...

Den kannte ich noch nicht. Wieder was gelernt. face-smile