Cover Image

Exchange handige Powershell commands

19 November, 2018 - Geschatte leestijd: 2 minuten

Lijstje van Powershell commands die ik regelmatig gebruik in Exchange 2013/2016

vbmduinkerken = Gebruikersnaam
vbmailboxalias = Naam van mailbox alias
vbgroepsnaam = Naam van een groep
vbmailboxdatabase = Naam van de mailboxdatabase

Database verplaatsen
Move-DatabasePath -Identity "vbmailboxdatabase" -EdbFilePath "D:\MailboxDatabase\Database1 EDB\Database1.edb" -LogFolderpath "D:\MailboxDatabase\Database1 Logs"

Hoe ver met move
Get-MoveRequestStatistics -MoveRequestQueue "vbmailboxdatabase" 
Get-MoveRequestStatistics -Identity vbmailboxalias
Get-MoveRequest –identity vbmailboxalias
Get-MoveRequest vbmailboxalias | Get-MoveRequestStatistics –IncludeReport | fl

Is een move gestopt, deze weer hervatten
Get-MoveRequest -MoveStatus Failed | Resume-MoveRequest
Get-MoveRequest -MoveStatus Suspended | Resume-MoveRequest 

Mailbox move weghalen
Remove-MoveRequest -Identity vbmailboxalias
Mailbox soort omzetten
Set-Mailbox vbmailboxalias -Type Shared

•Regular •Room •Equipment •Shared

Heeft het gewerkt
Get-Mailbox -Identity vbmailboxalias | Format-List RecipientTypeDetails

Verzonden mails van gedeelde mailboxen ook kopiëren naar de Verzonden items map van die mailbox
Get-Mailbox vbmailboxalias | set-mailbox -MessageCopyForSentAsEnabled $True 
set-mailbox vbmailboxalias -MessageCopyForSendOnBehalfEnabled $True

Uitzetten
set-mailbox vbmailboxalias -MessageCopyForSentAsEnabled $False 
set-mailbox vbmailboxalias -MessageCopyForSendOnBehalfEnabled $False

Contacts verbergen (in Exchange 2013 kan dit niet via de GUI, in 2016 wel weer)
Set-MailContact vbmailboxalias -HiddenFromAddressListsEnabled $true

Hoe groot zijn de mailboxes in een specifieke database
Get-MailboxStatistics -Database “vbmailboxdatabase” | Select DisplayName, LastLoggedOnUserAccount, ItemCount, TotalItemSize, LastLogonTime, LastLogoffTime | Sort-Object TotalItemSize -Descending | out-gridview

Hoe groot is een mailbox van een gebruiker en hoe groot zijn de gebruikersmappen
Get-MailboxFolderStatistics vbmduinkerken | Select Name,FolderSize,ItemsinFolder | out-gridview

Geef een lijst van mailboxen die niet verbonden zijn aan een account
Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisconnectReason -eq "SoftDeleted" } | ft DisplayName,Database,DisconnectDate
Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisconnectReason -eq "Disabled" } | ft DisplayName,Database,DisconnectDate

Geef een groep rechten tot een mailbox (automapping werkt niet voor groepen)
Add-MailboxPermission -id vbmailboxalias -User vbgroepsnaam -AccessRights Fullaccess
Add-ADPermission vbmailboxalias -User vbgroepsnaam -ExtendedRights Send-As

Tracking logs bekijken
get-messagetrackinglog -Start “September 12 2016” -ResultSize Unlimited | select-object eventid,timestamp,messageid,sender,recipients,messagesubject | out-gridview

Op welke mailbox heeft een gebruiker allemaal rechten
Get-Mailbox | Get-MailboxPermission -User vbmduinkerken | Out-GridView
Get-Mailbox -RecipientTypeDetails UserMailbox,SharedMailbox -ResultSize Unlimited | Out-GridView