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
Responder1
Get-Mailbox
retorna 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 Select
pipeline, 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}