none
Qmail x Exchange RRS feed

  • Pergunta

  • Preciso migrar as listas que estão no Qmail para o Exchange, mas gostaria de fazer aos poucos a partir de um arquivo csv. 

    Existe alguma forma de combinar os comandos no powershell de criação de DL+AddMembros a DL?

    Import-Csv contacts.csv | ForEach { New-MailContact -Name $_.displayName -Firstname $_.FirstName -LastName $_.LastName -ExternalEmailAddress $_.EmailNddress  
    sexta-feira, 23 de outubro de 2009 13:00

Respostas

  • Marcos,

    O PowerShell, permite que a saída de um comando seja usado como entrada no outro através do PIPE que é o |, assim como existia no Unix/Linux por muito tempo.

    SE a saída do comando um, é coluna1,coluna2,coluna3, tu so pode usar aqueles valores, nao adianta tu ler um txt no meio do caminho, o pipe foi para feito com o intutito de condicionar tarefas que tenham relaçao, se tu conseguir relacionar a relaçao de saída de um comando com o outro, ótimo.


    Grande abraço,
    Anderson Patricio

    Exchange and OCS resource site:http://www.andersonpatricio.org
    Blog (BR): http://blog.andersonpatricio.org
    MSExchange Blog: http://blogs.msexchange.org/patricio
    Blog (EN): http://msmvps.org/blogs/andersonpatricio
    Twitter: http://twitter.com/apatricio

    quarta-feira, 28 de outubro de 2009 19:06

Todas as Respostas

  • Ola Marcos,

    Nao entendi tua colocaçao, com Powershell tu pode interagir entre comandos, desde que o resultado de um  pipe pode ser utilizado como entrada no outro.

    Noc aso do teu cmdlet tá faltando } nofinal.


    Grande abraço,
    Anderson Patricio

    Exchange and OCS resource site:http://www.andersonpatricio.org
    Blog (BR): http://blog.andersonpatricio.org
    MSExchange Blog: http://blogs.msexchange.org/patricio
    Blog (EN): http://msmvps.org/blogs/andersonpatricio
    Twitter: http://twitter.com/apatricio

    sexta-feira, 23 de outubro de 2009 13:13
  • Vamos lá.

    Eu vou extrair do Qmail um csv contendo as listas de distribuicao e membros das listas. O desafio é o seguinte: baseando-se no csv do Qmail criar grupo e membros com cmdlet.

    Exemplo:

    Lista de Distribuição Membros
    marketing@empresa.com user01@cliente.com;user02@cliente.com;user03@cliente.com


    Sugestão de comando cmdlet:

    Com essa linha eu crio o contato, mas não a lista:

    Import-Csv contacts.csv | ForEach { New-MailContact -Name $_.displayName -Firstname $_.FirstName -LastName $_.LastName -ExternalEmailAddress $_.EmailNddress }

    A dúvida é a seguinte: Consigo combinar criação de grupos e membros simultaneamento com o cmdlet ?
    sexta-feira, 23 de outubro de 2009 13:26
  • Ola Marcos,

    Ai vai da tua análise :) o Powrshell pode criar deste scripts complexos a simples.

    Se tu tem um arquivo separado como mostrado da tabela, nao faz sentido tu puxar na linha que vc está executando acima pq eles nao tem relacao.
    Grande abraço,
    Anderson Patricio

    Exchange and OCS resource site:http://www.andersonpatricio.org
    Blog (BR): http://blog.andersonpatricio.org
    MSExchange Blog: http://blogs.msexchange.org/patricio
    Blog (EN): http://msmvps.org/blogs/andersonpatricio
    Twitter: http://twitter.com/apatricio

    sexta-feira, 23 de outubro de 2009 13:46
  • Foi só um exemplo mesmo...

    Eu vou tentar esse:

    Import-CSV FileName.csv | ForEach {Add-DistributionGroupMember -Identity "DG Name" -Member $_.Name}

    In filename.csv file should have a column Name and the values must be in anyone of below format to add them as a member...
    GUID
    distinguished
    name
    UPN
    LegacyExchangeDN
    Domain\Account Name SMTP Address

     Encontrei essa thread : http://social.technet.microsoft.com/Forums/en-US/exchangesvradmin/thread/11dc55d8-31e1-4797-8fa1-27eb93e55516

     Depois eu posto a resposta.

    sexta-feira, 23 de outubro de 2009 13:55
  • Anderson,

    nao entendi o seu comentario: "com o Powershell tu pode interagir entre comandos, desde que o resultado de um  pipe pode ser utilizado como entrada no outro"

    Quer dizer que eu nao consigo colocar várias tarefas num comando?

    Meu exemplo:

    import-csv c:\teste.csv | foreach {New-DistributionGroup -Name $_.Name -OrganizationalUnit "dominio/users" -SAMAccountName $_.Name -Type Distribution}

    Ou seja, fico preso so ao comando de criacao de DG? pq gostaria de combinar a criacao da DG+ a inclusao do membros (contatos do exchange) baseando-se no arquivo csv, entendeu?
    sexta-feira, 23 de outubro de 2009 17:28
  • O conseito é se as tabelas ou partes do exchange que voce estiver trabalhando forem equivalentes voce pode trabalhar com quantas tabelas forem necessarias


    André Cangussu
    sexta-feira, 23 de outubro de 2009 17:32
  • Ola Marcos,

    Toh falando da arquitetura do PowerShell, é bom enetneder ela antes de concatenar comandos.
    Grande abraço,
    Anderson Patricio

    Exchange and OCS resource site:http://www.andersonpatricio.org
    Blog (BR): http://blog.andersonpatricio.org
    MSExchange Blog: http://blogs.msexchange.org/patricio
    Blog (EN): http://msmvps.org/blogs/andersonpatricio
    Twitter: http://twitter.com/apatricio

    sexta-feira, 23 de outubro de 2009 17:36
  • Pra ficar mais simples: Preciso executar um comando após o outro...

    Um comando cria a lista, o outro o contato e por ultimo inclui o usuário na lista. Eu consegui desenvolver os comando, porem executa-los continuamente que nao consigo. [;] nao funcionou :(

    O primeiro comando em destaque funciona perfeitamente, mas o segundo nao executa.

    import-csv
    c:\script.txt | foreach {New-DistributionGroup -Name $_.Name -SAMAccountName $_.Name -Type Distribution} ; import-csv c:\script.txt |foreach {New-MailContact -Name $_.Name -ExternalEmailAddress $_.external -PrimarySmtpAddress $_.external}
    quarta-feira, 28 de outubro de 2009 18:54
  • Marcos,

    O PowerShell, permite que a saída de um comando seja usado como entrada no outro através do PIPE que é o |, assim como existia no Unix/Linux por muito tempo.

    SE a saída do comando um, é coluna1,coluna2,coluna3, tu so pode usar aqueles valores, nao adianta tu ler um txt no meio do caminho, o pipe foi para feito com o intutito de condicionar tarefas que tenham relaçao, se tu conseguir relacionar a relaçao de saída de um comando com o outro, ótimo.


    Grande abraço,
    Anderson Patricio

    Exchange and OCS resource site:http://www.andersonpatricio.org
    Blog (BR): http://blog.andersonpatricio.org
    MSExchange Blog: http://blogs.msexchange.org/patricio
    Blog (EN): http://msmvps.org/blogs/andersonpatricio
    Twitter: http://twitter.com/apatricio

    quarta-feira, 28 de outubro de 2009 19:06