Forum Discussion
Export PrimarySmtpAddress
Pour séparer les informations des deux sociétés dans votre script, vous pouvez utiliser la propriété "PrimarySmtpAddress" des boîtes aux lettres pour déterminer à quelle société elles appartiennent. Pour cela, vous pouvez ajouter une condition IF qui vérifie si l'adresse SMTP de la boîte aux lettres contient le nom de domaine de la société 1 ou de la société 2. Ensuite, vous pouvez stocker les informations dans deux tableaux distincts.
# Société 1
$mailboxesSociete1 = Get-Mailbox -ResultSize unlimited -Filter { PrimarySmtpAddress -like "*societe1.com" } | Select-Object UserPrincipalName
foreach ($mailbox in $mailboxesSociete1)
{
$strMailbox = $mailbox.UserPrincipalName.ToString()
$infoGetMailbox = Get-Mailbox $strMailbox
$displayName = $infoGetMailbox.DisplayName
$primarySmtpAddress = $infoGetMailbox.PrimarySmtpAddress
$mailboxSize = Get-Mailbox $strMailbox | Get-MailboxStatistics | Select-Object TotalItemSize
$mailboxSizeToString = $mailboxSize.TotalItemSize.ToString()
$mailboxSizeBytes = $mailboxSizeToString.Split('\(\)')[1]
[Double]$mailboxSizeBytesWithoutUnit = $mailboxSizeBytes.Split(' ')[0].Replace(',','')
$mailboxSizeBytesWithoutUnitGb = $mailboxSizeBytesWithoutUnit/1024/1024/1024
$tabMailboxSizeSociete1 = [Array]$tabMailboxSizeSociete1 + [PSCustomObject] @{DisplayName = "$displayName"; Mailbox = "$primarySmtpAddress"; MailboxSizeGB = "$mailboxSizeBytesWithoutUnitGb"}
}
# Société 2
$mailboxesSociete2 = Get-Mailbox -ResultSize unlimited -Filter { PrimarySmtpAddress -like "*societe2.com" } | Select-Object UserPrincipalName
foreach ($mailbox in $mailboxesSociete2)
{
$strMailbox = $mailbox.UserPrincipalName.ToString()
$infoGetMailbox = Get-Mailbox $strMailbox
$displayName = $infoGetMailbox.DisplayName
$primarySmtpAddress = $infoGetMailbox.PrimarySmtpAddress
$mailboxSize = Get-Mailbox $strMailbox | Get-MailboxStatistics | Select-Object TotalItemSize
$mailboxSizeToString = $mailboxSize.TotalItemSize.ToString()
$mailboxSizeBytes = $mailboxSizeToString.Split('\(\)')[1]
[Double]$mailboxSizeBytesWithoutUnit = $mailboxSizeBytes.Split(' ')[0].Replace(',','')
$mailboxSizeBytesWithoutUnitGb = $mailboxSizeBytesWithoutUnit/1024/1024/1024
$tabMailboxSizeSociete2 = [Array]$tabMailboxSizeSociete2 + [PSCustomObject] @{DisplayName = "$displayName"; Mailbox = "$primarySmtpAddress"; MailboxSizeGB = "$mailboxSizeBytesWithoutUnitGb"}
}la condition IF dans les filtres de Get-Mailbox vérifie si l'adresse SMTP de la boîte aux lettres contient le nom de domaine de la société 1 ou de la société 2. Les résultats sont stockés dans les tableaux $mailboxesSociete1 et $mailboxesSociete2. Ensuite, chaque tableau est parcouru dans une boucle foreach, où les informations des
- Manflo1603Mar 13, 2023Brass Contributor
j'ai voulu lancer le 1er script pour la société 1 mais en sortie sur mon excel j'ai :?!
d'ou viendrait l'erreur
- Varun_GhildiyalMar 13, 2023Iron Contributorune erreur dans la sortie powershell?
- Manflo1603Mar 14, 2023Brass Contributordonc je ne sais pas vraiment quoi faire pour que ça fonctionne correctement