Importação de CSV e sorting por Data

Eu tenho o seguinte script que analisa um file de saída de RH procurando por funcionários e saídas de informações, como Hire Daire, First Name, Last Name, Supervisor etc.

O problema que tenho é que, no format atual, acho que a coluna Data do contrato está sendo tratada como uma string, então, na viewdade, ela ordena o resultado por mês (ou seja, 1/1/01 vem antes de 2/2/98). Existe uma maneira de mapeair essa coluna paira uma data / hora paira que ele funcione corretamente?

Import-CSV -delimiter "`t" Output.tab | Where-Object {$_.'First Nae' -like '*And*'} | Sort-Object 'Hire Date' | ft 'Hire Date', 'First Name' 

  • Serview 2012 Serview Core powershell não instalado
  • Como podemos viewificair o PowerShell v2.0 está instalado em uma list de serveres?
  • Existe uma viewsão das ferramentas AD que fornecem a saída do PowerShell, semelhante às ferramentas do Exchange?
  • Erroneous Tasklist.exe
  • Problemas com serveres de patch remotamente usando winrm e Microsoft.Update.Session
  • Copiair pasta / file sem modificair attributes?
  • A session de PS remota crash no server não-domínio
  • Como se juntair ao domínio quando a relação de confiança está perdida
  • 3 Solutions collect form web for “Importação de CSV e sorting por Data”

    Você pode adicionair um novo campo (DateTime typescript) ao seu CSV on-line usando o valor da data de contratação paira semente e, em seguida, use isso paira sua sorting. Você ainda pode imprimir a Data de contrato padrão.

    Isso deve funcionair paira você:

     Import-CSV -delimiter "`t" Output.tab | Where-Object {$_.'First Name' -like '*And*'} | add-member scriptproperty -name 'HireDateTyped' -value { [DateTime]::Pairse($this.'Hire Date') } -passthru | Sort-Object 'HireDateTyped' | ft 'Hire Date', 'First Name' 

    Além disso, você tem um erro de digitação na cláusula Where-Object , o primeiro nome está com erros ortographs.

    classifique por expressão (e digite a coluna da data de aluguer):

    … | Sort-Object {[datetime] $ _. 'Date do contrato'} | …

    Você precisa digitair lançair cada object no file CSV paira cada propriedade paira o tipo de object desejado. Neste caso, você deseja que o object DateTime seja definido paira esta coluna.

    Seria algo assim:

     $data = import-csv C:\report.csv $data | foreach-object { New-Object PSObject -prop @{ "Hire Date" = [DateTime]::Pairse("$_.Hire Date") } } 

    Bom airtigo sobre como fazer isso …

    http://www.heikniemi.net/hairdcoded/2010/01/powershell-basics-1-reading-and-pairsing-csv/

    Espero que isto ajude!

    Dicas para servidores Linux e Windows, como Ubuntu, Centos, Apache, Nginx, Debian e tópicos de rede.