Postfächer mit Exchange 2010 PowerShell

Einleitung

Mit der PowerShell kann ich eine Aktion für ein Objekt ausführen, aber auch für 10, 100 oder 1.000 Objekte.
Der Exchange 2010-Server kann über eine oder mehrere Datenbanken verfügen. In diesem Fall stellen wir eine Verbindung zu einer Hauptdatenbank her. Die Befehle, die wir ausführen, können in einer einzigen Befehlszeile ausgeführt werden.

Excel-Größen und Export

1) Größen

Lassen Sie uns einige Befehle ausführen, um die Größe der Firmenpostfächer und des Alias ​​zu überprüfen. Wir werden einen Satz verwenden, der meiner Meinung nach einer der wichtigsten für diesen Fall in einer PowerShell ist.

Get-MailboxStatistics .

ForEach ($ MailBox In (Get-Mailbox -ResultSize Unlimited))

{

Get-MailboxStatistics -Identity $ MailBox | `

Format-Table @ {Label = “sAMAccountName”; Exp ression = {$ MailBox.sAMAccountName}}, `

@ {Label = “Size”; Exp ression = {$ _. TotalItemSize.Value.ToBytes ()}},

@ {Label = “DeletedSize”; Exp ression = {$ _. TotalDeletedItemSize.Value.ToBytes ()}},

@ {Label = “TotalSize”; Exp ression = {$ _. TotalItemSize.Value.ToBytes () + $ _. TotalDeletedItemSize.Value.ToBytes ()}} -AutoSize

}

2) Exportieren

Mit diesen Sätzen exportieren wir in ein Excel, und nach diesen Sätzen erzielen wir einen erfolgreichen Export.

Add-PsSnapin Microsoft.Exchange.Management.PowerShell.Admin

$ Return = @ ()

ForEach ($ MailBox In (Get-Mailbox -ResultSize Unlimited))

{

$ Statistics = $ null

$ Buzon = Neues Objekt PsCustomObject | Select-Object sAMAccountName, `

Größe, `

DeletedSize, `

TotalSize

$ Statistics = Get-MailboxStatistics -Identity $ MailBox -ErrorAction SilentlyContinue

If ($ Statistics -ne $ null)

{

$ Buzon.sAMAccountName = $ MailBox.sAMAccountName

$ Buzon.Size = $ Statistics.TotalItemSize.Value.ToBytes ()

$ Buzon.DeletedSize = $ Statistics.TotalDeletedItemSize.Value.ToBytes ()

$ Buzon.TotalSize = $ Buzon.Size + $ Buzon.DeletedSize

$ Return + = $ Buzon

}

}

$ Return | Export-Csv -Delimiter “,” -Pfad c: usersSOLVETICDocumentsbuzones.csv -NoTypeInformation

$ Return = $ null

Um als geplante Aufgabe ausgeführt zu werden, kann sie in einer Textdatei mit der Erweiterung “PS1” gespeichert und auch von einer .bat- Datei ausgeführt werden.

3) Ausführen des Skripts

PowerShell führt Skripts mit der Erweiterung “.PS1” aus, sodass Sie den gesamten Code in eine Textdatei mit der angegebenen Erweiterung schreiben können. Zum Bearbeiten von Skripten benötigen Sie lediglich einen Texteditor. Wenn Sie weitere Funktionen wie das Debuggen und Anzeigen des Werts der Variablen in Echtzeit benötigen , können Sie PowerGui verwenden.
Um ein PowerShell-Skript auszuführen, müssen wir dessen Position absolut angeben. Es gibt zwei Möglichkeiten:

  • Über die herkömmliche Befehlszeile:
See also  So signieren Sie Dateien unter Linux mit GPG

Powershell. list-mailboxs.ps1

In diesem Fall muss sich die Skriptdatei list-mailboxs.ps1 im aktuellen Ordner befinden. Wir müssen den gesamten Pfad schreiben, wenn sich das Skript in einem anderen Ordner befindet, der nicht der aktuelle ist:

Powershell c: scriptslistar-mailboxs.ps1

  • Oder über die PowerShell-Befehlszeile (wir befinden uns im selben Ordner wie das Skript):

Powershell>. list-mailboxs.ps1

  • Angabe des vollständigen Pfads über die PowerShell-Befehlszeile:

PoweShell> c: Skripte list-mailboxs.ps1

Mit diesen Schritten können wir problemlos beginnen, eine PowerShell für unsere Sätze auf einem Microsoft Exchange 2010 zu erstellen.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *