Jump to content

nutzer123456

Newbie
  • Content Count

    19
  • Joined

  • Last visited

Community Reputation

0 Neutral

About nutzer123456

  • Rank
    Newbie

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Es hat ja trotz des Fehlers die richtige Ausgabe erzeugt. Da scheint doch irgendein Autoformat zu greifen. Egal ich mach die "" jetzt noch korrekt. Sonst muss ich später noch Fehler suchen die nicht sein mussten. Danke soweit!
  2. Dankeschön! Die Nullen finde ich jetzt nicht so dramatisch, dadurch bekommt die Ausgabe bei vielen Namen eine gewisse "Ruhe". Woran liegt ds hier das Jahren, und Monate und nicht in "" stehen müssen?
  3. { $a = 'Der Mitarbeiter ' + $($Benutzer.Fullname) + 'ist seit: {0:N0} Tage(n) beschäftigt.' -f [math]::abs($a.TotalDays) $A | write-Host } Ich hab das nochmal mit den + angepasst und jetzt ist es schön. Vielen Dank, wieder was gelernt. Wegen der Ausgabe guck ich mal rum ob sich was finden lässt.
  4. Jetzt würde hier stehen: Der Mitabeiter max, Mustermann ist seit: 412 Tagen beschäftigt. Schöner wäre aber : Der Mitabeiter max, Mustermann ist bereits 1 Jahr, 2 Monate und 5 Tage beschäftitg. (die Werte passen jetzt nicht zusammen, aber sollten es verdeutlichen)
  5. $a = 'Der Mitarbeiter' $Benutzer.Fullname 'ist seit: {0:N0} Tage(n) beschäftigt.' -f [math]::abs($a.TotalDays) das erzeugt ein unerwartetes Token bei $benutzer.fullname, aber wenn ich es teile funktioniert es. $a = '{0:N0} Tage(n) beschäftigt.' -f [math]::abs($a.TotalDays) write-Host 'Der Mitarbeiter' $Benutzer.Fullname 'ist seit:' $a Eine Frage hätte ich noch kann ich $a.totaldays auch in ein Ausgabe formatieren die das in Jahre, Monate und Tage teilt.
  6. { write-Host 'Der Mitarbeiter' $Benutzer.Fullname 'ist seit:' '{0:N0} Tage(n) beschäftigt.' -f [math]::abs($a.TotalDays) } das funktioniert super. Bekomm ich diese Ausgabe in eine Zeile. Wenn ich $Benutzer.fullname ohne write-Host verwende erkennt er das nicht als Variable. Und in Writehost funktioniert-f nicht.
  7. Hallo! ich hab gerade ein kosmetisches Problem. Meine Rechnung für die Differenz zweier Tage ergibt einen negativen Wert. Der wert soll mir zeigen ob der Mitarbeiter schon existiert oder wann er anfängt. Ich hätte die Ausgabe aber gern als absoluten Wert. Hier das Skript: $Benutzer.Beginn kommt in der Form 01.01.2020 # Für jeden Datensatz im CSV foreach ($Benutzer in $CSVImport) { if ($Benutzer.Beginn) { $a = (Get-Date $benutzer.Beginn) - (get-date) if ($a -le 0) { write-Host 'Der Mitarbeiter' $Benutzer.Fullname 'ist seit:' '{0:N0} Tage(n) beschäftigt.' -f $a.TotalDays } else { write-Host 'Der Mitarbeiter' $Benutzer.Fullname 'wird in:' '{0:N0} Tage(n) beginnen.' -f $a.TotalDays } } }
  8. Hier mal der genaue Wortlaut des Fehlers: Fehler beim Aufrufen der Methode, da [Microsoft.Exchange.Data.SmtpProxyAddress] keine Methode mit dem Namen "Split" enthält. In C:\0001\test\Unbenannt3.ps1:68 Zeichen:8 + $prefix,$mail = $address.Split(":") + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : MethodNotFound Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat. In C:\0001\test\Unbenannt3.ps1:74 Zeichen:12 + $address = $prefix.ToLower() + ":" + $mail + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull Ich konnte das mit dem String jetzt testen und es funktioniert. $prefix,$mail = ([string]$address).Split(":") kein Fehler under ändert die Primäre Email. Super! Dann kann ich das endlich abschließen. Dankeschön!
  9. Original: $mb = Get-Mailbox steve.koenig Kopie: $upn = $($Benutzer.LoginName) $mb = Get-Mailbox $upn sollte das nicht das Selbe sein? Wahrscheinlich nicht, aber woran liegt das. Es ist doch egal über welchen Parameter ich die MailBox wähle, es bleibt eine Mailbox
  10. Das Skript ist aber nicht sonderlich schön und enthält bestimmt noch andere Fehler. #SMTP # Varaibalen $mb = Get-Mailbox $upn $newPrimaryMail = "$($Benutzer.alias2)@$($Benutzer.Suff)" Write-Host "Neue Primäre Email $newPrimaryMail" Write-Host $mb.EmailAddresses $list = New-Object System.Collections.ArrayList foreach($address in $mb.EmailAddresses) { Write-Host $address $prefix,$mail = $address.Split(":") if ($mail -eq $newPrimaryMail) { $address = "SMTP:" + $mail } else { $address = $prefix.ToLower() + ":" + $mail } $list.Add($address) Write-Host "$list" # Ausgabe aller emailAdressen } Set-Mailbox $user -EmailAddresses $list $present = $Null $presentemail = $null $user = $Null $sec = $Null $useremail = $null } $Benutzer ist der CSV import und $upn ist der UPN der ebenfalls aus der CSV kommt ... $upn = $($Benutzer.LoginName)
  11. Schönen Guten Morgen! Kurz zum System: Exchange 2016; Server2016 - alles über mehrere VMs auf einem HOST Zum Problem: Ich muss monatlich mehrere Nutzer anlegen und löschen und will diese Vorgang etwas automatisieren. Dazu gibt es einen CSV export. Die gängigen Sachen scheinen auf den ersten Blick auch zu funktionieren. Das Skript wird in der ISE gestartet; PS Snapin ist geladen. In dem Skript soll auch die Primäre Absendeadresse angepasst werden. Dazu hab ich auch eine schöne verständliche Anleitung gefunden: https://www.active-directory-faq.de/2018/05/primaeren-e-mail-adresse-aendern-powershell/ Leider verursacht dieses Skript eine Fehler für den Teil foreach($address in $mb.EmailAddresses) { $prefix = $address.Split(":")[0] $mail = $address.Split(":")[1] Hier heisst es immer Methode nicht gefunden. Was kann da denn schief laufen? Und was genau bedeutet dieser Fehler?
  12. Danke für die Hilfe! Ich hab das jetzt so gelöst das ich in den betroffenen Fällen ohne Mapping arbeite und die Konto manuell einrichte. Dannn kann der Mitarbeiter eine Email haben, aber die läuft dann nur zu Systemzwecken im Hintergrund. Wenn die Email keiner kennt und keiner nutzt muss ich mir auch keine Gedanke um Archiv, Datenschutz und Doku machen. (sagen wir nur geringe Gedanken)
  13. Es geht ja dann nur noch um die Zeile "Sender:" Wenn hier "User1" <verteiler.local> steht wäre es erkenntlich. Dann mus ich nur noch das Senden an die Verteilergruppe verbieten und bin fertig. Vermutlich komm ich aber bei "Verteiler" <verteiler.local> raus, was mich leider nicht weiterbringt. Ich würde das Thema gern noch offen lassen, falls jemanden was einfällt. Im Ergebnis sollte irgendwie erkenntlich sein welcher AD-Nutzer die Email verschickt hat "im Auftrag". Ein eigenes Postfach sollte nach möglich nicht dahinter stehen und wenn doch dann so das der Endanwender das nicht mitbekommt. Lögisch nachvollziehbar ist, das es ohne Mailadresse nicht geht. Schonmal Danke für die Gedanken dazu.
  14. Jetzt hab ich einen Knoten im Kopf. Ich versuch das mal mit Powershell zu sortieren: Add-ADPermission -Identity "verteiler" -User "user1" -AccessRights ExtendedRight -ExtendedRights "Send As" & Set-Mailbox -Identity "user2" -GrantSendOnBehalfTo "verteiler" Wenn das funktioniert, was steht dann in der Email als Absender. Vermutlich "Verteiler im Auftrag von User2"?
×
×
  • Create New...