Einem Benutzer (administrator@contoso.com) bei allen Benutzern "Vollzugriff" gewähren:
Je nach grösse der Organisation, empfehle ich beim Befehl noch folgendes: -Automapping $false
Get-Mailbox -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'UserMailbox') -and (Alias -ne 'Admin')} | Add-MailboxPermission -User administrator@contoso.com -AccessRights fullaccess -InheritanceType all
Maximale Grösse von Mails für Empfang / Senden:
Get-TransportConfig | fl *max*
sowie
Get-ReceiveConnector | Format-Table Name,Max*Size,MaxRecipientsPerMessage; Get-SendConnector | Format-Table Name,MaxMessageSize; Get-AdSiteLink | Format-Table Name,MaxMessageSize; Get-DeliveryAgentConnector | Format-Table Name,MaxMessageSize; Get-ForeignConnector | Format-Table Name,MaxMessageSize
Grösse und Quoten aller Postfächer anzeigen (export in CSV):
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select DisplayName,StorageLimitStatus,@{name="TotalItemSize (MB)";expression={[math]::Round((($_.TotalItemSize.Value.ToString()).Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2)}},@{name="TotalDeletedItemSize (MB)";expression={[math]::Round((($_.TotalDeletedItemSize.Value.ToString()).Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2)}},ItemCount,DeletedItemCount | Sort "TotalItemSize (MB)" -Descending | Export-CSV "C:\My Documents\All Mailboxes.csv" -NoTypeInformation
Datenbank Grössenlimits anzeigen:
Get-MailboxDatabase | fl StorageGroupName,Name,issuewarningquota,ProhibitSendQuota,ProhibitSendReceiveQuota
Weiterleiten an externen Empfänger ohne Kontakt
set-mailbox "Alias der Mailbox" -ForwardingSmtpAddress ADRESSE@contoso.com
ohne Kopie im Postfach:
-DeliverToMailboxAndForward $false
Zum deaktivieren:
set-mailbox "Alias der Mailbox" -ForwardingSmtpAddress $NULL
Wichtig dabei ist noch folgendes:
Weiterleitung an externe Domänen aktivieren:
Set-RemoteDomain –AutoForwardEnabled $true
Die Frage nach "Identity" mit "*" beantworten
Whitelisteinträge anzeigen:
Get-ContentFilterConfig
->BypassedSender
->BypassedSenderDomains
Eintrag in Whitelist hinzufügen:
$list = (Get-ContentFilterConfig).BypassedSenders
$list
$list.add("asd@contoso.com")
Set-ContentFilterConfig -BypassedSenders $list
bzw für Domänen:
$list = (Get-ContentFilterConfig).BypassedSenderDomains
$list
$list.add("contoso.com")
Set-ContentFilterConfig -BypassedSenderDomains $list
Status der Indexierung einer Datenbank:
Get-MailboxDatabaseCopyStatus * | ft -auto
Einer Gruppe (distributiongroup) Zugriff auf alle Kalender gewähren:
Folgendes als .ps1 script speichern:
#Editor, Author, Owner, PublishingEditor
$accessrights = "PublishingEditor"
$distributiongroup = "AlleKalender"
$groupmembers = Get-Mailbox -ResultSize unlimited | Where-Object { $_.RecipientType -eq "UserMailbox" }
foreach ( $member in $groupmembers )
{
$permissions = ""
$mailbox = Get-Mailbox -Identity $member.alias
$calendar = (($mailbox.SamAccountName) + ":\" + (Get-MailboxFolderStatistics -Identity $mailbox.SamAccountName -FolderScope Calendar | Select-Object -First 1).Name)
foreach ( $perm in ( Get-MailboxFolderPermission -Identity $calendar ))
{
$permissions += @($perm.User.DisplayName)
}
if ( $permissions -contains $distributiongroup.Name )
{
# Distributiongroup already has permission groupmember calendar
Set-MailboxFolderPermission -Identity $calendar -User $distributiongroup -AccessRights $accessrights
}
else
{
# Distributiongroup has no permission to groupmember calendar
Add-MailboxFolderPermission -Identity $calendar -User $distributiongroup -AccessRights $accessrights
}
}
Nach Nachrichten suchen:
Get-MessageTrackingLog –Sender “xy@xy.com” -Start "9/8/2018 0:00AM" -End "9/11/2018 0:00PM"
Wilcard Version:
Get-MessageTrackingLog -ResultSize Unlimited -Start "9/8/2018" -End "9/11/2018" | where{$_.sender -like "*@xy.com"} | select-object Timestamp,SourceContext,Source,EventId,MessageSubject,Sender,{$_.Recipients}
Gelöschte / Wiederherstellbare Mails suchen und ins Discoverysuchpostfach kopieren:
Suche nach Mails mit Bestimmten Absender:
Search-Mailbox "XY" -SearchQuery "from:XY@XY.com" -TargetMailbox "Discoverysuchpostfach" -TargetFolder "XY Recovery" -LogLevel Full
Suche Nach Gelöschten / Wiederherstellbaren Mails:
Search-Mailbox "XY" -SearchDumpsterOnly -TargetMailbox "Discoverysuchpostfach" -TargetFolder "XY Recovery" -LogLevel Full
Suche Nach Gelöschten / Wiederherstellbaren Mails von allen Postfächern:
Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchDumpsterOnly -TargetMailbox "Discoverysuchpostfach" -TargetFolder "All users Deleted mail items" -LogLevel Full
Suche Wort von allen Postfächern:
Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery “XY” -TargetMailbox "Discoverysuchpostfach" -TargetFolder "All users Deleted mail items XY" -LogLevel Full
Elementgrösse anpassen
Get-TransportConfig | fl MaxReceiveSize,MaxSendSize
Set-TransportConfig -MaxReceiveSize 1000MB -MaxSendSize 1000MB
Alle connectors prüfen:
Nachrichtenfluss -> sende / empfang
Shell
Get-TransportConfig | fl *max*
Set-TransportConfig -ExternalDsnMaxMessageAttachSize 1GB
Set-TransportConfig -InternalDsnMaxMessageAttachSize 1GB
Abwesenheitsmeldung jeden Tag
Script für den Abwesenheitsmeldung, welche dies bei allen Usern deaktivert und wieder aktiviert
(dadurch geghen die Mails nochmal an einen Sernder
Exchange Powershell:
foreach ($obj in (Get-Mailbox | Get-MailboxAutoReplyConfiguration |` where {($_.autoreplystate -eq "enabled")` -or ($_.autoreplystate -eq "scheduled" -and $_.starttime -le ([DateTime]::Now) -and $_.endtime -ge ([DateTime]::Now))})) { if ($obj.autoreplystate -match "Enabled")` {Set-MailboxAutoReplyConfiguration $obj.identity -AutoReplyState "disabled"; Set-MailboxAutoReplyConfiguration $obj.identity -AutoReplyState "enabled";} elseif ($obj.autoreplystate -match "Scheduled")` {Set-MailboxAutoReplyConfiguration $obj.identity -AutoReplyState "disabled"; Set-MailboxAutoReplyConfiguration $obj.identity -AutoReplyState "scheduled" -starttime $obj.starttime -endtime $obj.endtime ;} }
Am besten per .bat File ausführen (V15 ggf anpassen, je nach Exchange Version):
PowerShell.exe -command ". 'C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; . C:\XXXXXX\ResetAbwesenheitsmeldungAlle4H.ps1"
Wiederherstellbare, gelöschte Elemente wiederherstellen
Da per OWA jedes einzelne Mail ausgewählt werden muss, am einfachsten per Exchange Shell
Restore-RecoverableItems -Identity xy@contoso.de
(sollte der Befehl nicht gefunden werden, muss dem Admin ggf. erst noch eine Rolle zugewiesen werden:
New-ManagementRoleAssignment –Role "Mailbox Import Export" –User Administrator
(Powershell neu starten) )
Keine Kommentare:
Kommentar veröffentlichen