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, 2555 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?

Mfg,
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 ..
Ähnliche Inhalte
Exchange Server
gelöst Exchange 2013 dynamische Verteilergruppe anlegen per Powershell (6)

Frage von blackhawk17 zum Thema Exchange Server ...

Exchange Server
gelöst Exchange 2013 PostfachLimit über Powershell gibt immer Servereinstellung an (2)

Frage von YotYot zum Thema Exchange Server ...

Batch & Shell
gelöst PowerShell Exchange (6)

Frage von Emptyman zum Thema Batch & Shell ...

Exchange Server
Exchange 2013 Zertifikatsproblem (16)

Frage von egalisiert zum Thema Exchange Server ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
gelöst Leiten "dumme" Switches VLAN-Tags mit durch? (26)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (18)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...