Como localizar / exportar apenas um valor (SMTP principal) a partir de endereços de proxy com vários valores

1

Eu tenho um script que pesquisa valores no atributo Empresa e endereços de proxy.

Get-ADUser -Filter * -SearchBase 'OU=Stu,OU=LOWA,OU=IDLOWA,DC=ad,DC=ju,DC=com' -Properties company,proxyaddresses | select company, @{L='ProxyAddress'; E={$_.proxyaddresses -join"; "}}

A empresa tem dois caracteres, mas os endereços de proxy têm vários valores, por exemplo:

smtp:[email protected],SMTP:[email protected],smtp:[email protected]

ou

smtp:[email protected],SMTP:[email protected]

ou

SMTP:[email protected]

Eu preciso exportar / salvar para variável ou arquivo csv somente endereço SMTP primário, isso significa SMTP:xxx@xxx

Obrigado

    
por Jan Blaha 17.12.2015 / 16:10

1 resposta

1

Este código irá obter todos os endereços SMTP primários para o dado parâmetro searchbase, canaliza a saída para um arquivo TXT. Talvez seja necessário um pouco de ajustes para mais algumas informações, mas acho que isso vai te ajudar:

$users = Get-ADUser  -Filter * -SearchBase 'OU=Stu,OU=LOWA,OU=IDLOWA,DC=ad,DC=ju,DC=com' -Properties proxyaddresses
$primarySMTPAddress = @()
foreach ($address in $users.proxyAddresses)
{
    if (($address.Length -gt 5) -and ($address.SubString(0,5) -ceq 'SMTP:'))
    {
        $primarySMTPAddress += $address.SubString(5)
    }
}

$primarySMTPAddress | out-file -Pathg C:\tmp\PrimarySMTPAdresses.txt

Altere o caminho do arquivo de saída para um local válido.

    
por 29.12.2015 / 12:10