Powershell

  • DAG Management CMDlets

    DAG Management PowerShell Commands Get DAG Status Get-DatabaseAvailabilityGroup <dag name> -Status | fl StartDagServerMaintenance.ps1 script to put the DAG member in maintenance mode .\StartDagServerMaintenance.ps1 -serverName <server name> StopDagServerMaintenance.ps1 script to take the DAG member out of maintenance mode .\StopDagServerMaintenance.ps1 -serverName <server name> Find DatabaseCopyAutoActivationPolicy for all Servers Get-MailboxServer | Sort-Object -Property DatabaseCopyAutoActivationPolicy | ft name,DatabaseCopyAutoActivationPolicy…

  • Mailbox Import Export CMDlets

    Mailbox Import \ Exports PowerShell Commands Export a Mailbox to PST New-MailboxExportRequest -Mailbox user@domain.org -FilePath “\\path\user.pst” Get Mailbox Export Requests Get-MailboxExportRequest | Get-MailboxExportRequestStatistics Remove Mailbox Export Requests Get-MailboxExportRequest | Remove-MailboxExportRequest Export Mailbox to PST New-MailboxExportRequest -Mailbox user@domain.org -FilePath “\\path\user.pst” Import Mailbox to PST New-MailboxImportRequest -Mailbox user@domain.org -FilePath “\\path\user.pst” Get Mailbox Import Requests Get-MailboxImportRequest | Get-MailboxImportRequestStatistics

  • | | |

    Managing Mailbox Permissions CMDlets

    Managing Mailbox Permissions PowerShell Commands Grant Send on Behalf of Permissions Set-Mailbox ‘user@domain.com’ -GrantSendOnBehalfTo ‘user@domain.com’ Add Editor permissions Add-MailboxFolderPermission -Identity ‘user@domain.com’ -User ‘user@domain.com’ -AccessRights Editor Add Reviewer permissions (what if) Set-MailboxFolderPermission -Identity ‘user@domain.com’ -User ‘user@domain.com’ -AccessRights Reviewer -whatif Getting Mailbox Folder Permissions Get-MailboxFolderPermission -Identity ‘user@domain.com’ | fl Get-MailboxFolderPermission -Identity user@domain.com:\inbox Impersonation Rights New-ManagementRoleAssignment Name:RoleName -Role:ApplicationImpersonation -User:’domain\alias’…

  • | |

    Mailbox Move CMDlets

    Exchange Mailbox Move PowerShell Commands Move the user mailbox to Database DB01 New-MoveRequest -Identity ‘username@example.com’ -TargetDatabase “DB01” New-MoveRequest -Identity ‘username@example.com’ -TargetDatabase “DB01” -BadItemLimit 100  Move the bulk users mailbox to Database DB01  Create CSV file having the email address of the users and name it as “EmailAddress.csv” ForEach ($User in Get-Content “C:\temp\EmailAddress.csv”){ New-MoveRequest -Identity $user…

  • | | | |

    Resource Rooms and Calendars CMDlets

    Exchange Resource Rooms and Calendars PowerShell CMDlets Disable Double Booking of Meeting Rooms Set-CalendarProcessing -Identity ‘room’ -AllowConflicts:$false Disable Double Booking on all Meeting Rooms Get-Mailbox | where {$_.ResourceType -eq “Room” } | Set-CalendarProcessing -AllowConflicts:$false Get Status of Meeting Rooms Calendars Get-CalendarProcessing -Identity room | fl Get Calendar Permissions for user Get-MailboxFolderPermission roomname@domain.org:\calendar Grant read rights to…

  • |

    Managing Groups CMDlets

    Managing Exchange Groups PowerShell CMDlets Get Distribution Group Get-DistributionGroup -identity ‘user@domain.com’ | fl Get Distribution Group Members and export to a text file Get-DistributionGroupMember -Identity ‘group@domain.com’ | ft name, primarysmtpaddress > c:\path\file.txt Get Distribution Group information Get-DistributionGroup -Identity ‘group@domain.com’ | fl DisplayName, Alias, PrimarySmtpAddress, EmailAddresses, RecipientType, HiddenFromAddressListsEnabled, LastExchangeChangedTime, LegacyExchangeDN, WhenChanged, WhenCreated, WhenChangedUTC, WhenCreatedUTC, AcceptMessagesOnlyFrom, AcceptMessagesOnlyFromDLMembers,…

  • Exchange Mail Queue Management CMDlets

    Exchange Mail Queue Management PowerShell CMDlets Get Message Queue information Get-transportserver | Get-Queue –SortOrder: -MessageCount Get Queue Details Get-Queue –Server <server name> | Sort-Object -Property Messagecount | FT Identity, DeliveryType, NextHopDomain, Status, MessageCount, LastRetryTime, LastError -autosize Move Messages to Another Working Queue In the event a Hub Transport server is completely out, you may have the…

  • | |

    Message Tracking CMDlets

    Exchange Message Tracking PowerShell CMDlets Search by Message ID Get-ExchangeServer | get-messagetrackinglog -MessageID “<messageID>” -Start “5/16/2012 12:01:00 AM” -End “5/16/2012 11:59:00 PM” | fl Timestamp,ClientIp,ClientHostname,ServerIp,ServerHostname,Source,EventId,MessageId, @{Name=”Recipients”;Expression={$_.recipients}},@{Name=”Recipientstatus”;Expression={$_.recipientstatus}},TotalBytes,MessageSubject,Sender,ReturnPath,MessageLantency Search by Sender Get-ExchangeServer | get-messagetrackinglog -sender user@domain.com -Start “11/15/2012 12:00:00 AM” -End “11/16/2012 11:59:00 PM” | fl Timestamp,ClientIp,ClientHostname,ServerIp,ServerHostname, Source,EventId,MessageId, @{Name=”Recipients”;Expression={$_.recipients}},@{Name=”Recipientstatus”;Expression={$_.recipientstatus}},TotalBytes,MessageSubject,Sender Search by Recipient Get-ExchangeServer | get-messagetrackinglog -recipient user@domain.com…