Exchange2007/2013-Scripte
eine Resourcenmailbox erstellen... zeige mir alle Mails der letzten 24 Stunden an, die wegen einem Fehler nicht zugestellt werden konnten: Get-Messagetrackinglog -Resultsize unlimited -EventID “FAIL” | where-object {$_.Timestamp -ge ((get-date).AddDays(-1)) } |fl Timestamp,Sender,Recipients,Recipientstatus
Mailboxgröße anzeigen lassen: Get-MailboxStatistics |where {$_.TotalItemSize -gt 200000000} | sort-object TotalItemSize -descending |FT DisplayName,ItemCount,TotalItemSize
AD-Rechte anzeigen (als identity geht auch der NT-Anmeldename): Get-adpermission -identity "Tom Waits"
PostfachQuota „Senden verbieten“ auslesen: get-mailbox -resultsize unlimited
PostfachQuota „Senden verbieten“ setzen: Get-Mailbox *Tom* | Set-Mailbox -ProhibitSendQuota 100MB
Alle Benutzer mit send-as rechten anzeigen: Get-Mailbox | Get-ADPermission | where {($_.ExtendedRights -like “*Send-As*”) -and ($_.IsInherited -eq $false) -and -not ($_.User -like “NT AUTHORITY\SELF”)} | FT -Wrap einem Benutzer (Bsp. mailadm) volle Rechte an allen Postfächern einrichten: Get-Mailbox | Add-Mailboxpermission -user "mailadm" -accessRights 'FullAccess' -InheritanceType All
Zugriff über OWA testen: test-owaconnectivity -url:https://myexchsrv/owa -mailboxcredential:(get-credential mydom\username)
Postfach verschieben: Move-Mailbox -Identity ntusername -TargetDatabase 'myexchsrv\SG3\SG3_DB' -confirm:$false
nach einer gesendeten Mail suchen; es wird nur was gefunden, wenn vom exchangeserver aus gesendet wurde. get-messagetrackinglog -Sender "absender@mydom.ain" -EventID "SEND" -Start "08.12.2010 09:41:00" -End "09.12.2010 10:51:00"
wenn über die Relayingfunktion des exchangeservers von einem Linuxserver per SMTP gesendet wurde, muss das Logfile manuell durchsucht werden. e:\Exchange2007\TransportRoles\Logs\MessageTracking\MSGTRK20101209-1.LOG
Offlineadressbuch aus globalen Katalog manuell sofort aktualisieren: Update-GlobalAddressList -identity "Globale Standardadressliste" Update-FileDistributionService -Identity myexchsrv -type "OAB"
Get-MailBox -OrganizationalUnit "Abkehrer" | Set-Mailbox -HiddenFromAddressListsEnabled $true dann Update-GlobalAddressList -identity "Globale Standardadressliste"
get-contact -ResultSize Unlimited | where-object {$_.whenchanged -ge ((get-date).AddDays(-1)) }| fl whenchanged,name,windowsemailaddress
send-mailmessage -to admin@dom.ain -from spinne@dom.ain -subject "neue Kontakte" -smtpserver meinSMTPsrv -Body \ (get-contact -ResultSize Unlimited | \ where-object {$_.whenchanged -ge ((get-date).AddDays(-1)) -and $_.whenchanged -le ((get-date))}| \ fl whenchanged,name,windowsemailaddress | Out-String)
Get-MailboxDatabase | ForEach-Object {Add-ADPermission -Identity $_.DistinguishedName -User service_pf -ExtendedRights ms-Exch-EPI-Impersonation} Get-MailboxDatabase | ForEach-Object {Add-ADPermission -Identity $_.DistinguishedName -User service_pf -ExtendedRights ms-Exch-EPI-May-Impersonate} Prüfe die erfolgreiche Übernahme der gerade vergebenen Rechte: Get-Mailboxdatabase | get-adpermission -user service_pf
Achtung: Leerzeichen im Pfad werden trotz Anführungszeichen mit Fehler quitiert. Alle öffentlichen Ordner anzeigen: Get-PublicFolder -recurse
Rechte eines öffentlichen Ordners anzeigen: Get-Publicfolderclientpermission -identity "\Abteilung1" | fl
Rechte auf öffentlichen Ordner übernehmen: Add-PublicFolderClientPermission -user myntuser -identity "\Abteilung1" -AccessRights Owner Add-PublicFolderClientPermission -user myntuser -identity "\Abteilung1" -AccessRights PublishingEditor Add-PublicFolderClientPermission -user myntuser -identity "\Abteilung1" -AccessRights Editor Add-PublicFolderClientPermission -user myntuser -identity "\Abteilung1\Kalenderdazu" -AccessRights Author Add-Publicfolderclientpermission -user myntuser -identity "\Abteilung1\Eingang" -AccessRights Editor
leider habe ich es bis her noch nicht geschafft, mehrere Benutzer gleichzeitig zu berechtigen ala: Add-Publicfolderclientpermission -user myntuser1,myntuser2 ...
Einfacher ist es manchmal, sich die Eigentumsrechte am Ordner zu verschaffen und per Outlook weitere Rechte zu konfigurieren. get-mailboxdatabase | mount-database
Migration aller Mailboxen von Exchange 2007 nach Exchange 2013: get-mailbox -Database Ex2007MB1 | new-moverequest -TargetDatabase Ex2013MB1 -BatchName "mig07to13"
alten Exchangeserver 2010 löschen: get-publicfolderstatistics -server Ex2010 | remove-publicfolder
|