none
Ordenar saida de um script via PowerShell RRS feed

  • Pergunta

  • Olá, boa tarde

    Tenho um script com esta informações:

    $usuarios = Get-ADuser -filter * -SearchBase "OU=Usuarios, DC=Contoso, DC=local" -properties * | where {$_.LastLogonDate -lt(Get-Date).adddays(-60)}
    
    foreach ($u in $usuarios)
    {
     $u.DisplayName + "," + $u.SamAccountname + "," + $u.LastLogonDate + "," + $u.EmailAddress + "," + $u.LockedOut + "," + $u.Enabled
    }


    E gostaria de colocar isso de uma forma ordenada dentro um arquivo CVS, de uma forma ordena, alguém saberia me dizer ou mostrar a melhor maneira de fazer isso dentro no script.

    Desde já grato pela atenção.

    Rodrigo


    quarta-feira, 3 de julho de 2013 21:17

Respostas

  • Fronza,

    Basta vc usar o SORT no final da primeira linha (com o nome do campo que vc quer usar para ordenar), assim:

    $usuarios = Get-ADuser -filter * -SearchBase "OU=Usuarios, DC=Contoso, DC=local" -properties * | 
        where {$_.LastLogonDate -lt(Get-Date).adddays(-60)} |
        Sort SamAccountName


    Quanto ao CVS, vejo duas opções:

    1)Aproveitar o seu código, basta colocar ">>" na string que vc montou assim:

    $u.DisplayName + "," + $u.SamAccountname + "," + $u.LastLogonDate + "," + $u.EmailAddress + "," + $u.LockedOut + "," + $u.Enabled >> C:\saida\arquivo.cvs


    2) Usar o export-csv, aí voltamos pra primeira linha e nem precisa do loop.

    $usuarios = Get-ADuser -filter * -SearchBase "OU=Usuarios, DC=Contoso, DC=local" -properties * | 
        where {$_.LastLogonDate -lt(Get-Date).adddays(-60)} |
        Sort SamAccountName |
        Export-CSV c:\temp\arquivo.csv -notypeinformation

    Neste caso você vai ter que usar o select pra selecionar apenas os atributos que você precisa ou setar isso na propriedade -properties (que vc usou * então está trazendo muita coisa).

    Dá uma olhada nos links abaixo.

    Ref.:

    Using the Export-Csv Cmdlet

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

    Use PowerShell to Work with CSV Formatted Text

    http://blogs.technet.com/b/heyscriptingguy/archive/2011/09/23/use-powershell-to-work-with-csv-formatted-text.aspx


    Fábio de Paula Junior



    • Editado Fábio JrModerator quarta-feira, 3 de julho de 2013 22:32 correcao codigo
    • Marcado como Resposta Fronza quinta-feira, 4 de julho de 2013 12:23
    quarta-feira, 3 de julho de 2013 22:29
    Moderador

Todas as Respostas

  • Fronza,

    Basta vc usar o SORT no final da primeira linha (com o nome do campo que vc quer usar para ordenar), assim:

    $usuarios = Get-ADuser -filter * -SearchBase "OU=Usuarios, DC=Contoso, DC=local" -properties * | 
        where {$_.LastLogonDate -lt(Get-Date).adddays(-60)} |
        Sort SamAccountName


    Quanto ao CVS, vejo duas opções:

    1)Aproveitar o seu código, basta colocar ">>" na string que vc montou assim:

    $u.DisplayName + "," + $u.SamAccountname + "," + $u.LastLogonDate + "," + $u.EmailAddress + "," + $u.LockedOut + "," + $u.Enabled >> C:\saida\arquivo.cvs


    2) Usar o export-csv, aí voltamos pra primeira linha e nem precisa do loop.

    $usuarios = Get-ADuser -filter * -SearchBase "OU=Usuarios, DC=Contoso, DC=local" -properties * | 
        where {$_.LastLogonDate -lt(Get-Date).adddays(-60)} |
        Sort SamAccountName |
        Export-CSV c:\temp\arquivo.csv -notypeinformation

    Neste caso você vai ter que usar o select pra selecionar apenas os atributos que você precisa ou setar isso na propriedade -properties (que vc usou * então está trazendo muita coisa).

    Dá uma olhada nos links abaixo.

    Ref.:

    Using the Export-Csv Cmdlet

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

    Use PowerShell to Work with CSV Formatted Text

    http://blogs.technet.com/b/heyscriptingguy/archive/2011/09/23/use-powershell-to-work-with-csv-formatted-text.aspx


    Fábio de Paula Junior



    • Editado Fábio JrModerator quarta-feira, 3 de julho de 2013 22:32 correcao codigo
    • Marcado como Resposta Fronza quinta-feira, 4 de julho de 2013 12:23
    quarta-feira, 3 de julho de 2013 22:29
    Moderador
  • Olá, Fabio

    Muito obrigado pela sua ajuda.

    Att,

    Rodrigo Fronza

    quinta-feira, 4 de julho de 2013 12:23