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, 3191 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Seriennummer Mainboard mit PowerShell auslesen (4)

Frage von 112Timo zum Thema Batch & Shell ...

E-Mail
gelöst Falsche SMTP Server IP Adresse (6)

Frage von laster zum Thema E-Mail ...

Batch & Shell
gelöst PowerShell, Log Datei auslesen, bei Änderungen E-Mail senden (12)

Frage von swissbull zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell INI Tags auslesen (2)

Frage von H41mSh1C0R zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...