Como obter um relatório de caixas de correio de salas com Powershell

Como obter um relatório de caixas de correio de salas com Powershell

Eu tentei executar este comando. Funciona perfeitamente, mas os campos Cidade e País não são preenchidos. O que estou fazendo de errado?

Get-Mailbox -RecipientTypeDetails RoomMailbox -ANR 'de-' | Select DisplayName,RecipientTypeDetails,alias,PrimarySmtpAddress,City,Country | export-csv C:\Output\room-de2.csv

insira a descrição da imagem aqui

Responder1

Get-Mailboxretorna um objeto Microsoft.Exchange.Data.Directory.Management.Mailbox. Se você der uma olhada em seumembros, Cidade e País não estão lá.

Ambos são membros (adicionais) da classe ADUser. Você precisará passar a propriedade SamAccountName do Get-Mailbox para Get-ADUser em uma sessão Powershell com o módulo ActiveDirectory carregado. Sem mais detalhes sobre o seu ambiente, não posso aconselhar como fazer isso de uma só vez. Mas existe um método de várias etapas.

Se você adicionar SamAccountName ao seu Selectpipeline, poderá usar o CSV para fazer isso. Em uma execução de controlador de domínio

Import-Csv <path_to_CSV> | ForEach-Object {Get-ADUser $_.SamAccountName} | select City,Country | Export-Csv <new_CSV_path>

Você pode então adicionar os dois campos do CSV de saída Get-ADUser ao CSV Get-Mailbox

$Exch = Get-Content <path_to_CSV>
$AD = Get-Content <new_CSV_path>
for ($i = 0; $i -lt $AD.Length; $i++) {$Exch[$i].insert(($Exch[$i].Length), ",$($AD[$i])") | Out-File <path_to_combined_csv> -Append}

informação relacionada