Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Exchange 2013 Powershell Posfachgröße

Frage Microsoft Exchange Server

Mitglied: fisi77

fisi77 (Level 1) - Jetzt verbinden

19.05.2014, aktualisiert 03.07.2015, 2378 Aufrufe, 14 Kommentare, 1 Danke

Hallo zusammen,
ich habe da mal eine Frage.
Wurde gerne auf meine Exchange Server 2013 per Powershellscript alle User ausgeben.
Als Details sollen noch die OU der User und die Postfachgröße mit angegeben werden und in eine Excel Datei exportiert werden.
Hat jemand ne idee wie ? oder ein Tool dafür?

Mit freundlichen Grüßen,
Fisi
Mitglied: colinardo
19.05.2014, aktualisiert 20.05.2014
Hallo fisi, Willkommen auf Administrator.de!
Könntest du so in einer EMC machen:
01.
Import-Module ActiveDirectory 
02.
$csvfile = "C:\MailboxStatistik.csv" 
03.
Get-Mailbox | Get-MailboxStatistics | ?{$_.ObjectClass –eq "Mailbox"} | Sort TotalItemSize –Descending | select DisplayName, @{n="Mailboxgröße(MB)";e={$_.TotalItemSize.Value.ToMB()}},@{n="OU";e={(get-aduser -filter "DisplayName -eq '$($_.DisplayName)'").DistinguishedName.Split(",",2)[1]}} | export-csv $csvfile -NoType -Encoding UTF8
Das Ergebnis wird dann in einer CSV-Datei gespeichert.

Wenn man noch mehr Infos zum User ausgeben möchte kann man das ganze auch ausgehend von get-aduser machen und im Select noch die zusätzlich benötigten Felder angeben:
01.
Import-Module ActiveDirectory 
02.
$csvfile = "C:\MailboxStatistik.csv" 
03.
get-aduser -Filter "Enabled -eq 'True'" -properties msExchMailboxGuid | ?{$_.msExchMailboxGuid -ne $null} | select Name,SamAccountName,@{n="Postfachgröße(MB)";e={(get-MailboxStatistics $_.SamAccountName -ErrorAction SilentlyContinue).TotalItemSize.Value.toMB()}},@{n="OU";e={$_.DistinguishedName.Split(",",2)[1]}} | export-csv $csvfile -NoType -encoding UTF8
Grüße Uwe
Bitte warten ..
Mitglied: fisi77
20.05.2014 um 15:17 Uhr
Hallo Uwe,
Danke für die schnelle Antwort!
Habe direkt beide Befehle getestet.
Der 1. funktioniert leider nicht. Ich habe versucht direkt auf meinem mailboxserver das Script laufen zu lassen leider steht mir dort das AD Modul nicht zur Verfügung.

Das 2. Script habe ich dann auf dem DC laufen lassen
>> Export der User funktioniert auch nur zeigt er mir in der Excel keine Speichergrößen an.

Kann man auch die einzelnen Details die man abfragt eine eine Eigene Spalte exportieren. Momentan liegen alle auf einer Spalte.

Mit freundlichen Grüßen,
Kai
Bitte warten ..
Mitglied: colinardo
20.05.2014, aktualisiert um 15:54 Uhr
Also hier gehen beide Scripte einwandfrei, mache das ja nicht zum ersten mal. Du musst natürlich wie schon erwähnt das ganze in einer "Exchange Management Console" ausführen. Die CSV-Datei musst du in Excel noch auf Spalten verteilen wenn als Trenner einer Komma verwendet wird (Text-Import-Wizard). Alternativ füge folgenden Parameter zu Export-CSV hinzu -Delimiter ";" damit ein Semikolon als Spaltentrenner fungiert, damit sollte Excel die Spalten direkt beim Öffnen erkennen und verteilen.

leider steht mir dort das AD Modul nicht zur Verfügung
das ist halt Voraussetzung damit die OU des Users extrahiert werden kann. Man kann das zwar auch anders machen (z.B. mit (dsquery -name "Max Mustermann").Split(",",2)[1]), aber diese minimalen Voraussetzungen sollten doch realisierbar sein ..

Grüße Uwe
Bitte warten ..
Mitglied: fisi77
20.05.2014 um 16:08 Uhr
Hallo Uwe,
Danke für die Info.
Deine Scripte habe ich auch nicht angezweifelt;)
Die Scripte führe ich natürlich in der Exchange Mangement Console aus. Jetzt frage ich mich doch wie du das ActiveDirectory Modul importierst bekommst.
Das klappt auf meinen Front End bzw. Back End Servern nicht. Lediglich auf dem DC.
Führe ich den Befehl "get-module -listavailable" auf den Front bzw. Back End Servern aus wird mir auch kein Modul für die Active Directory angezeigt. Hast du eine Idee wie ich das eingefügt bekomme?

Mit freundlichen Grüßen,
Kai
Bitte warten ..
Mitglied: colinardo
LÖSUNG 20.05.2014, aktualisiert 03.07.2015
Stichwort RSAT (Remote Server Administration Tools) / auf einem Server 2012(R2) so installiert:
Install-WindowsFeature RSAT-ADDS
http://technet.microsoft.com/de-de/library/bb691354%28v=exchg.150%29.as ...
Dann steht dir das Modul zur Verfügung.

Grüße Uwe
Bitte warten ..
Mitglied: fisi77
03.07.2015 um 13:58 Uhr
Hallo Zusammen,
das Script läuft bei mir Super!
Mittlerweile bin ich auf eine Erweiterung gestoßen und möchte für jeden User die Mobilen Geräte mit auflisten.
Den Befehl mit folgenden Param. habe ich dazu auch schon:

$UserList | foreach { Get-MobileDeviceStatistics -Mailbox $_} | FT Identity, DeviceModel, LastSuccessSync

Momentan führe ich das in einem einzelnen Script aus. Wurde das ganze jedoch gerne in eine *.csv exportieren.

Meine Version zur Zusammenführung der Befehle funktioniert leider nicht.
01.
Import-Module ActiveDirectory
02.
$csvfile = "C:\MailboxStatistik.csv"
03.
get-aduser -Filter "Enabled -eq 'True'" -properties msExchMailboxGuid | ?{$_.msExchMailboxGuid -ne $null} | select Name,SamAccountName,@{n="Postfachgröße(MB)";e={(get-MailboxStatistics $_.SamAccountName -ErrorAction SilentlyContinue).TotalItemSize.Value.toMB()}},@{n="OU";e={$_.DistinguishedName.Split(",",2)[1]}} {( Get-MobileDeviceStatistics -Mailbox )} | FT Identity, DeviceModel, LastSuccessSync | export-csv $csvfile -NoType -encoding UTF8

Hat vielleicht jeman eine Idee, wie ich den Befehl richtig mit Implementieren kann?

Mit freundlichen Grüßen,
fisi
Bitte warten ..
Mitglied: colinardo
03.07.2015, aktualisiert um 15:24 Uhr
Weitere Calculated Property ... Beachte hier das ein User mehrere Devices haben kann, deswegen die Device-Informationen als Liste in einer Spalte (Bei mehr als einem Device geht das mit einzelnen Spalten für die Infos des Geräts nicht mehr)
01.
Import-Module ActiveDirectory 
02.
$csvfile = "C:\MailboxStatistik.csv" 
03.
get-aduser -Filter "Enabled -eq 'True'" -properties msExchMailboxGuid | ?{$_.msExchMailboxGuid -ne $null} | select Name,SamAccountName,@{n="Postfachgröße(MB)";e={(get-MailboxStatistics $_.SamAccountName -ErrorAction SilentlyContinue).TotalItemSize.Value.toMB()}},@{n="OU";e={$_.DistinguishedName.Split(",",2)[1]}},@{n="Mobile-Devices";e={(Get-MobileDeviceStatistics -Mailbox $_.SamAccountName -EA SilentlyContinue | %{"$($_.Identity);$($_.DeviceModel);$($_.LastSuccessSync)"}) -join "`n"}} | export-csv $csvfile -NoType -encoding UTF8
Bitte warten ..
Mitglied: fisi77
03.07.2015 um 16:09 Uhr
Super!!! Das so sollte die Anzeige aussehen.
Jetzt werden jedoch noch Werte wie, Name, SamAccountName und Postfachgröße in einer Spalte in Excel angezeigt.
Kann ich das noch irgendwie ändern?
Bitte warten ..
Mitglied: colinardo
03.07.2015, aktualisiert um 16:21 Uhr
Jetzt werden jedoch noch Werte wie, Name, SamAccountName und Postfachgröße in einer Spalte in Excel angezeigt. Kann ich das noch irgendwie ändern?
Sicher, ein deutsches Excel verwendet beim direkten öffnen einer CSV per Default das Semikolon als Trenner und nicht das Komma, deswegen musst du das als Delimiter bei Export-CSV explizit angeben, dann erkennt Excel die Spalten automatisch.
01.
Export-Csv $csvfile -NoType -Delimiter ";" -Encoding UTF8
Grüße Uwe
Bitte warten ..
Mitglied: fisi77
03.07.2015 um 16:45 Uhr
Ah ja. natürlich. Den hab ich hinten ganz vergessen - sorry.
Danke für deine Hilfe!
Es werden jedoch alle Daten aus dem Befehl Get-Mobile DeviceStatistics in einer Spalte ausgegeben, kann man das noch splitten?
Außerdem scheint es so, als ob jetzt nur noch ein Active Sync Gerät gelistet wird und nicht alle die verfügbar sind.
Bitte warten ..
Mitglied: colinardo
03.07.2015, aktualisiert um 17:00 Uhr
Es werden jedoch alle Daten aus dem Befehl Get-Mobile DeviceStatistics in einer Spalte ausgegeben, kann man das noch splitten?
Hab ich doch oben geschrieben, das wurde extra so gemacht, das ginge nur wenn die User nur jeweils ein einziges Gerät hätten, bei mehreren kann das ja Prinzipbedingt so nicht funktionieren (denk mal genau drüber nach dann machts auch bei dir Klick !)

Kann es hier im Moment nicht testen, da unterwegs ... Schau ich mir dann noch mal an ...
Vermutlich musst du hier anstatt $_.SamAccountName den Alias der Mailbox des Users bei Get-MobileDevice..... verwenden. Oder du hast die Zellen in Excel einfach nicht größer gezogen, da die Devices per Zeilenumbruch getrennt sind.
Bitte warten ..
Mitglied: fisi77
06.07.2015 um 09:32 Uhr
Ja, natürlich stimmt.
Es sind auch alle Geräte verfügbar.
Super Danke!
Bitte warten ..
Mitglied: fisi77
31.07.2015 um 15:46 Uhr
Ist es denn möglich, das ich alle Geräte in einer Zeile schreibe?
Also wenn ich eine Ausgabe von einem Benutzer mit 3 Mobile Devices, werden ja die Gerät in einer Spalte alle 3 Untereinander Dargestellt.
Kann ich diese anstatt untereinander hintereinanderschreiben und z.B. durch ein Komma trennen? Oder die jeweiligen Strings per Anführungszeichen trennen?
Bitte warten ..
Mitglied: colinardo
31.07.2015, aktualisiert um 15:51 Uhr
Einfach bei dem Code hier von oben das gewünschte Zeichen für eine Trennung angeben. Im Moment ist das ein `n für einen Zeilenumbruch
-join "`n"
also z.B. nach
-join ","
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Exchange Server
gelöst Exchange 2013 powershell Berechtigung von Unterordnern in Outlook 2010 steuern (8)

Frage von 124611 zum Thema Exchange Server ...

Exchange Server
Problem mit POP3-Abruf eines Exchange-2013-Postfachs

Frage von YotYot zum Thema Exchange Server ...

Exchange Server
gelöst Exchange 2013 lässt sich nicht Updaten (9)

Frage von onkel87 zum Thema Exchange Server ...

Exchange Server
gelöst Zertifikatsfehler nach Migration von Exchange 2007 zu Exchange 2013 (2)

Frage von Tommy1983 zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...