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:
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.