Auf dieser Seite sammle ich häufig genutzte und manchmal auch etwas spezielle Powershell-Kommandos, die mir das Arbeiten mit dem Exchange etwas einfacher machen sollen. Hauptsächlich dient Sie mir als Gedankenstütze und zentrale Anlaufstelle, um mal schnell Kommandos nachzuschlagen und nicht immer erst lange im Internet suchen zu müssen.
Inhaltsverzeichnis
Remote Exchange Powershell Verbindung
Anmeldedaten hinterlegen:
$UserCredential = Get-Credential
Verbindung aufbauen:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://host.domain.com/PowerShell/ -Authentication Kerberos -Credential $UserCredential
Session starten:
Import-PSSession $Session
Exchange Product-Key ändern
Set-ExchangeServer -Identity "SERVERNAME" -ProductKey "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"
Datenbank anlegen und Einbinden
Datenbank erstellen:
New-MailboxDatabase -Name "MailboxDatabase01" -EdbFilePath D:\Pfad_zum_Datenbank_Verzeichnis\MailboxDatabase01.edb -LogFolderPath D:\Pfad_zum_Log_Verzeichnis\LogFolder
Datenbank einbinden:
Mount-Database -Identity "MailboxDatabase01"
Postfach verschieben (Lokal)
Verschiebung testen:
New-MoveRequest -Identity "user@domain.com" -TargetDatabase MailboxDatabase01 -WhatIf
Postfach verschieben:
New-MoveRequest -Identity "user@domain.com" -TargetDatabase MailboxDatabase01
Status Postfachverschiebung anzeigen:
Get-MoveRequest -Identity "user@domain.com"
Postfach Export in PST (Einzelpostfach)
Export Rechte setzen, falls noch nicht geschehen:
New-ManagementRoleAssignment –Role "Mailbox Import Export" –User USERNAME
Postfach exportieren:
New-MailboxExportRequest -Mailbox USERNAME -FilePath "\\HOST\FREIGABE\USERNAME.pst"
Postfach Export in PST (Alle Postfächer)
Export Rechte setzen, falls noch nicht geschehen:
New-ManagementRoleAssignment –Role "Mailbox Import Export" –User USERNAME
Postfächer in Variable schreiben:
$AllMailboxes = Get-Mailbox
Alle Postfächer in Freigabe exportieren:
$AllMailboxes | %{$_ |New-MailboxExportRequest -FilePath \\HOST\FREIGABE\$($_.Alias).pst}