Question Cmdlets dans Select-Object

Plus d'informations
il y a 10 ans 8 mois #15297 par Cerede
Cmdlets dans Select-Object a été créé par Cerede
Bonjour,

Je souhaite obtenir des informations de mon serveur Exchange.

Pour cela je récupère la liste des mailbox mais je voudrais aussi des infos qui sont dispo avec la cmdlet Get-MailboxStatistics et ensuite ne prendre que les champs qui m'intéressent via un Select-Object.

J'ai essayé ça :
[code:1]Get-Mailbox -ResultSize Unlimited | Select-Object DisplayName, RecipientTypeDetails, LinkedMasterAccount, @{Name=\"LastLogedOn\";Expression={(Get-MailboxStatistics -Identity $_.Identity).LastLogonTime}}, PrimarySmtpAddress, @{Name=\"EmailAddresses\";Expression={$_.EmailAddresses |Where-Object {$_.PrefixString -ceq \"smtp\"} |ForEach-Object {$_.SmtpAddress}}} | Export-CSV .\smtp.csv -NoTypeInformation[/code:1]

Sans succès :(
Ma colonne LastLogedOn reste vide :(

Merci pour vos lumières :D

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 8 mois #15300 par Matthew BETTON
Bonsoir,

Je ne connais pas Exchange... Mais quel est le résultat de ce code ?

[code:1]
# Récupération d'une collection de mailbox
$MBoxes = Get-Mailbox -ResultSize Unlimited

# Pour chaque mailbox de la collection
foreach($MBox in $MBoxes){

try{
$ms = Get-MailboxStatistics -Identity ($MBox.Identity) -ErrorAction Stop
}
catch{
# Une erreur s'est produite : on affiche l'erreur et on continue sur l'élément suivant
Write-Error \"Erreur : $($_.Exception.Message)\"
Continue
}

$ms.LastLogonTime

}
[/code:1]

@ +

Matthew BETTON

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 8 mois #15304 par Cerede
Réponse de Cerede sur le sujet Re:Cmdlets dans Select-Object
Alors ça, ça fonctionne :)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 8 mois #15310 par Matthew BETTON
Bonjour,

cerede2000 écrit:

Alors ça, ça fonctionne :)


Ok :)

je n'avais pas fais attention la première fois... Mais avec le 'foreach-object' juste avant le 'export-csv', seule la propriété 'SmtpAddress' est exportée.

[code:1]
|ForEach-Object {$_.SmtpAddress}}} | Export-CSV .\smtp.csv -NoTypeInformation
[/code:1]

Je propose d'essayer :

[code:1]
Get-Mailbox -ResultSize Unlimited | Select-Object DisplayName, RecipientTypeDetails, LinkedMasterAccount, @{Name=\"LastLogedOn\";Expression={(Get-MailboxStatistics -Identity $_.Identity).LastLogonTime}}, PrimarySmtpAddress, @{Name=\"EmailAddresses\";Expression={$_.EmailAddresses |Where-Object {$_.PrefixString -ceq \"smtp\"}
[/code:1]

Puis, si ok :

[code:1]
Get-Mailbox -ResultSize Unlimited | Select-Object DisplayName, RecipientTypeDetails, LinkedMasterAccount, @{Name=\"LastLogedOn\";Expression={(Get-MailboxStatistics -Identity $_.Identity).LastLogonTime}}, PrimarySmtpAddress, @{Name=\"EmailAddresses\";Expression={$_.EmailAddresses |Where-Object {$_.PrefixString -ceq \"smtp\"} | Export-CSV .\smtp.csv -NoTypeInformation
[/code:1]

@ +

Matthew BETTON

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 8 mois #15312 par Cerede
Réponse de Cerede sur le sujet Re:Cmdlets dans Select-Object
Non le ForEach fonctionnait très bien, il est encadré comme il faut entre {}

Ah j'ai testé directement le dernier :).

Il manquait juste 2/3 } avant l'export mais sinon parfait :)

Je ne comprends du coup pas ce qui ne fonctionnait pas dans mon code :|

Merci à toi ;)

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.076 secondes
Propulsé par Kunena