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

Powershell: Auslesen LastLogonDate und SMTP Adresse

Frage Microsoft Exchange Server

Mitglied: thaefliger

thaefliger (Level 1) - Jetzt verbinden

15.11.2013 um 15:10 Uhr, 3260 Aufrufe, 4 Kommentare

Hallo zusammen

ich möchte aus einem Hosted Exchange (Office 365) per Powershell eine Liste mit folgenden Spalten erstellen:

DisplayName - PrimarySMTPAddress - LastLogonDate

Das Problem:
Displayname und primarysmtpaddress kommen aus get-mailbox, lastlogontime kommt aus get-mailboxstatistics.

Es ist mir bisher nicht gelungen, die Ausgaben zusammen in eine Liste zu kriegen.
Meine Powershell-Kenntnisse sind aber auch auf Status "Anfänger".

Ich habe schon einige Beispiele ergoogelt und angepasst, leider bisher ohne Erfolg.
Zuletzt habe ich dieses hier probiert https://skydrive.live.com/?cid=0c23cb95e1200929&id=C23CB95E1200929%2 ...
und die benötigten Werte angepasst (da ich ja nur displayname, smtpaddress und lastlogontime will):

01.
$UserList = Get-mailbox -Resultsize unlimited 
02.
 
03.
$MasterList = @() 
04.
 
05.
foreach ($User in $UserList) { 
06.
 
07.
$MyObject = New-Object PSObject -Property @{ 
08.
DisplayName = $null 
09.
Lastllogontime = $null 
10.
EmailAddress = $null 
11.
12.
 
13.
$MyObject.DisplayName = ($User).DisplayName 
14.
$MyObject.Lastllogontime =(Get-MailboxStatistics $User).Lastlogontime 
15.
$MyObject.EmailAddress = ($User).PrimarySmtpAddress 
16.
 
17.
 
18.
$MasterList += $MyObject 
19.
20.
 
21.
$MasterList | ft
Für jedes einzelne Postfach bekomme ich dann folgend lautende Fehlermeldung (Name abgeändert):

01.
Cannot process argument transformation on parameter 'Identity'. Cannot convert value "Hans Meier" to type "Microsoft.Exchange.Configuration.Tasks.GeneralMailboxOrMailUserIdParameter". Error: "Cannot convert hashtable to an object of th 
02.
e following type: Microsoft.Exchange.Configuration.Tasks.GeneralMailboxOrMailUserIdParameter. Hashtable-to-Object conversion is not supported in restricted language mode or a Data section." 
03.
    + CategoryInfo          : InvalidData: (:) [Get-MailboxStatistics], ParameterBindin...mationException 
04.
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Get-MailboxStatistics

Kann mir hier jemand weiterhelfen?

Danke schon mal

Grüsse
Thomas
Mitglied: colinardo
15.11.2013, aktualisiert um 16:42 Uhr
Hallo Thomas,
kein Problem
01.
$mailboxes = Get-Mailbox -Resultsize unlimited  
02.
$mailboxes | select DisplayName,PrimarySmtpAddress,@{Name="LastLogonTime";expression={(Get-MailboxStatistics -Identity $_.DisplayName).LastLogonTime}}
Grüße Uwe
Bitte warten ..
Mitglied: thaefliger
15.11.2013, aktualisiert um 17:07 Uhr
Hallo Uwe

vielen Dank, das ist ja fast Zauberei :D

Kannst du mir die Verschachtelungen / Funktionsweise dieses Teils noch erklären?
01.
@{Name="LastLogonTime";expression={(Get-MailboxStatistics -Identity $_.DisplayName).LastLogonTime}}
Grüsse
Thomas
Bitte warten ..
Mitglied: colinardo
15.11.2013, aktualisiert um 16:53 Uhr
Zitat von thaefliger:
Kannst du mir die Verschachtelungen / Funktionsweise dieses Teils noch erklären?
das sind berechnete Eigenschaften die du im select-Befehl nutzen kannst
siehe dazu : http://technet.microsoft.com/en-us/library/ff730948.aspx

das
Name="LastLogonTime"
setzt den Namen der neuen Spalte, hier könntest du z.B. auch "LogInZeit" schreiben.
das
expression={(Get-MailboxStatistics -Identity $_.DisplayName).LastLogonTime}
führt den Befehl(expression) für jeden Datensatz aus, alles was du darin ausgibst landet in der neuen Spalte.

das "$_" ist das aktuelle Objekt in der Pipeline also ein Mailbox-Objekt auf dessen Eigenschaften du mit dieser Variablen zugreifen kannst.

Schönes Wochenende
Uwe
Bitte warten ..
Mitglied: thaefliger
15.11.2013 um 16:58 Uhr
Super, danke!

Dir auch schönes Wochenende

Thomas
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Auslesen und Vergleichen Zweiter CSV Dateien Powershell (7)

Frage von Hainoon zum Thema Batch & Shell ...

Windows Netzwerk
gelöst Powershell skript zum Auslesen der im AD angemeldeten User (2)

Frage von jan.kleinel zum Thema Windows Netzwerk ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(7)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...