Powershell: Auslesen LastLogonDate und SMTP Adresse
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):
Für jedes einzelne Postfach bekomme ich dann folgend lautende Fehlermeldung (Name abgeändert):
Kann mir hier jemand weiterhelfen?
Danke schon mal
Grüsse
Thomas
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):
$UserList = Get-mailbox -Resultsize unlimited
$MasterList = @()
foreach ($User in $UserList) {
$MyObject = New-Object PSObject -Property @{
DisplayName = $null
Lastllogontime = $null
EmailAddress = $null
}
$MyObject.DisplayName = ($User).DisplayName
$MyObject.Lastllogontime =(Get-MailboxStatistics $User).Lastlogontime
$MyObject.EmailAddress = ($User).PrimarySmtpAddress
$MasterList += $MyObject
}
$MasterList | ft
Für jedes einzelne Postfach bekomme ich dann folgend lautende Fehlermeldung (Name abgeändert):
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
e following type: Microsoft.Exchange.Configuration.Tasks.GeneralMailboxOrMailUserIdParameter. Hashtable-to-Object conversion is not supported in restricted language mode or a Data section."
+ CategoryInfo : InvalidData: (:) [Get-MailboxStatistics], ParameterBindin...mationException
+ FullyQualifiedErrorId : ParameterArgumentTransformationError,Get-MailboxStatistics
Kann mir hier jemand weiterhelfen?
Danke schon mal
Grüsse
Thomas
Please also mark the comments that contributed to the solution of the article
Content-ID: 222102
Url: https://administrator.de/forum/powershell-auslesen-lastlogondate-und-smtp-adresse-222102.html
Printed on: May 13, 2025 at 17:05 o'clock
4 Comments
Latest comment
Zitat von @thaefliger:
Kannst du mir die Verschachtelungen / Funktionsweise dieses Teils noch erklären?
das sind berechnete Eigenschaften die du im select-Befehl nutzen kannstKannst du mir die Verschachtelungen / Funktionsweise dieses Teils noch erklären?
siehe dazu : http://technet.microsoft.com/en-us/library/ff730948.aspx
das
Name="LastLogonTime"
das
expression={(Get-MailboxStatistics -Identity $_.DisplayName).LastLogonTime}
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