none
Relatório de Listas de Distribuição / PowerShell RRS feed

  • Pergunta

  • Bom dia, senhores.

    Estou tentando puxar o seguinte relatório, usando o Exchange Management Shell:

    foreach($group in Get-DistributionGroup){Get-DistributionGroupMember $group | select @{n="Grupo";e={$group.name}},@{n="SSHD";e={$_.name}},DisplayName,primarysmtpaddress}


    Verifiquei que está 100% funcional, porém, não consigo exportá-lo para um arquivo CSV ou fazer a saída em texto.

    Quando utilizo o código:

    foreach($group in Get-DistributionGroup){Get-DistributionGroupMember $group | select @{n="Grupo";e={$group.name}},@{n="SSHD";e={$_.name}},DisplayName,primarysmtpaddress} | Export-Csv C:\report.csv

    O PS retorna o erro:

    An empty pipe element is not allowed.
    At line:1 char:172
    + foreach($group in Get-DistributionGroup){Get-DistributionGroupMember $group | select @{n="Grupo";e={$group.name}},@{n
    ="SSHD";e={$_.name}},DisplayName,primarysmtpaddress} | <<<<  Export-Csv c:\report.csv
        + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
        + FullyQualifiedErrorId : EmptyPipeElement

    Se eu utilizo o "| Export-Csv arquivo" entre o "primarysmtpaddress" e o último "}", ele roda o comando, porém, grava apenas a última linha processada, contendo o último grupo e seus membros, ao invés de todos.

    O mesmo acontece com o parâmetro | Out-File -append C:\report.csv

    Outras saídas como:

    foreach($group in Get-DistributionGroup){Get-DistributionGroupMember $group | select @{n="Grupo";e={$group.name}},@{n="SSHD";e={$_.name}},DisplayName,primarysmtpaddress} >> C:\report.txt

    Processam o comando em tela, mas apresentam o erro no final (seja com a saída ">>" ou ">"):

    The term '>>' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling
     of the name, or if a path was included, verify that the path is correct and try again.
    At line:1 char:173
    + foreach($group in Get-DistributionGroup){Get-DistributionGroupMember $group | select @{n="Grupo";e={$group.name}},@{n
    ="SSHD";e={$_.name}},DisplayName,primarysmtpaddress} >> <<<<  c:\report.txt
        + CategoryInfo          : ObjectNotFound: (>>:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException

    Enfim, a dúvida maior é sobre como funcionar esse script...ou alguma alternativa melhor que me liste todos os grupos de distribuição e para cada um deles, o Display Name, alias e SMTP de cada membro.

    Obrigado!

    quarta-feira, 2 de janeiro de 2013 13:17

Respostas

  • Olá Bruno, tudo bem?

    Já deu uma olhada nos outros parametros que conseguimos utilizar com o "Export-Csv"?

    http://technet.microsoft.com/en-us/library/ee176825.aspx


    Diogo Molina MCP, MCSA, MCSE, MCTS, MCITP, MCT. Ajude manter o forum organizado, se util classifique! Http://www.msitpro.com.br MSITPRO uma nova comunidade técnica Microsoft, venha participar!

    • Marcado como Resposta Richard Juhasz quinta-feira, 24 de janeiro de 2013 15:15
    sábado, 5 de janeiro de 2013 13:31
  • Usa > c:\resultado.txt sem o | .

    Jonathan Santos | http://jonathanrsantos.wordpress.com MCP | MCSA | MCSA Messaging | MCSE | MCITP Exchange 2010 | MCITP Lync Server

    • Marcado como Resposta Richard Juhasz quinta-feira, 24 de janeiro de 2013 15:16
    terça-feira, 15 de janeiro de 2013 01:36
    Moderador

Todas as Respostas

  • Olá Bruno, tudo bem?

    Já deu uma olhada nos outros parametros que conseguimos utilizar com o "Export-Csv"?

    http://technet.microsoft.com/en-us/library/ee176825.aspx


    Diogo Molina MCP, MCSA, MCSE, MCTS, MCITP, MCT. Ajude manter o forum organizado, se util classifique! Http://www.msitpro.com.br MSITPRO uma nova comunidade técnica Microsoft, venha participar!

    • Marcado como Resposta Richard Juhasz quinta-feira, 24 de janeiro de 2013 15:15
    sábado, 5 de janeiro de 2013 13:31
  • Usa > c:\resultado.txt sem o | .

    Jonathan Santos | http://jonathanrsantos.wordpress.com MCP | MCSA | MCSA Messaging | MCSE | MCITP Exchange 2010 | MCITP Lync Server

    • Marcado como Resposta Richard Juhasz quinta-feira, 24 de janeiro de 2013 15:16
    terça-feira, 15 de janeiro de 2013 01:36
    Moderador
  • Prezados, Boa Tarde.

    Tive a mesma dificuldade ontem e conseguimos tratar da seguinte forma.

    1: Jogar o conteudo numa variável, segue:

    "$groupx = foreach($group in Get-DistributionGroup){Get-DistributionGroupMember $group | select @{n="Grupo";e={$group.name}},@{n="GHIDE";e={$group.HiddenFromAddressListsEnabled}},@{n="MBY";e={$group.ManagedBy}},DisplayName}"

    2: Depois, imprimir o conteudo da váriavel através do comando.

    "out-file -filepath C:\grupo_ggd.txt -inputobject $groupx"

    Espero ter ajudado.

    Att

    Wexley

    quarta-feira, 30 de março de 2016 19:07