Como usar Export-CSV no PowerShell

Se você criar relatórios no PowerShell, certamente usará o cmdlet Export-CSV. Este cmdlet permite que o PowerShell envie as informações coletadas para um arquivo CSV. Vejamos as possibilidades e recursos. Neste artigo, você aprenderá como usar o cmdlet Export-CSV no PowerShell.

Cmdlet Exportar-CSV

O cmdlet Export-CSV cria um arquivo CSV dos objetos que você envia. Cada objeto é uma linha que inclui uma lista separada por caracteres dos valores de propriedade do objeto. Você pode usar o cmdlet Export-CSV para criar planilhas e compartilhar dados com programas que aceitam arquivos CSV como entrada.

Não formate objetos antes de enviá-los para o cmdlet Export-CSV. Se Export-CSV receber objetos formatados, o arquivo CSV conterá as propriedades de formato em vez das propriedades do objeto. Para exportar apenas as propriedades selecionadas de um objeto, use o cmdlet Select-Object.

Parâmetros de exportação-CSV

Você pode usar o cmdlet Export-CSV com qualquer cmdlet no PowerShell. Neste artigo, usaremos o cmdlet Get-ADUser. Este é um dos cmdlets mais populares do Active Directory.

Caminho

O-Caminhoparâmetro é especificar o caminho para o arquivo CSV que você deseja exportar.

Get-ADUser -Filter * | Export-Csv -Path "C:tempAllUsers.csv"

NoTypeInformation

O-NoTypeInformationnão adicionará o cabeçalho de informações que o PowerShell adiciona ao CSV por padrão.

Get-ADUser -Filter * | Export-Csv -Path "C:tempAllUsers.csv" -NoTypeInformation -Encoding UTF8

Delimitador

O-Delimitadorparâmetro especifica o caractere usado para separar as colunas. Você pode usar uma vírgula (,) ou ponto e vírgula (;).

Get-ADUser -Filter * | Export-Csv -Path "C:tempAllUsers.csv" -Delimiter ","
Get-ADUser -Filter * | Export-Csv -Path "C:tempAllUsers.csv" -Delimiter ";"

UseCultura

O-UseCulturaO parâmetro usa o separador de lista da cultura atual como delimitador de item. Isto pode ser útil quando você trabalha com configurações regionais onde a vírgula pode não ser o separador padrão.

Quando você especifica-UseCultura, o cmdlet usará automaticamente qualquer delimitador definido como separador de lista nas configurações regionais do sistema. Isto torna a saída mais compatível com aplicações locais que esperam dados formatados de acordo com os padrões locais.

Get-ADUser -Filter * | Export-Csv -Path "C:tempAllUsers.csv" -UseCulture

Para encontrar o separador de lista de uma cultura, use o seguinte comando no PowerShell.

(Get-Culture).TextInfo.ListSeparator

Codificação

O-Codificaçãoparâmetro especifica a codificação de caracteres do arquivo. Para suporte a caracteres internacionais, é recomendado usar-Codificação UTF8.

Get-ADUser -Filter * | Export-Csv -Path "C:tempAllUsers.csv" -Encoding UTF8

Acrescentar

O-AcrescentarO parâmetro adiciona o conteúdo ao final de um arquivo existente em vez de substituí-lo. Se o arquivo não existir, ele cria um novo arquivo.

Get-ADUser -Filter * | Export-Csv -Path "C:tempAllUsers.csv" -Append

Vigor

O-Foraparâmetro forçará o cmdlet a substituir arquivos com oSomente leituraatributo.

Get-ADUser -Filter * | Export-Csv -Path "C:tempAllUsers.csv" -Force

Sem Clobber

O-NoClobberparâmetro evita a substituição de um arquivo existente. Por padrão, Export-CSV substituirá qualquer arquivo existente no caminho especificado sem emitir um aviso.

Get-ADUser -Filter * | Export-Csv -Path "C:tempAllUsers.csv" -NoClobber

Exemplos de cmdlets Export-CSV

Exporte todos os usuários do AD com separação por ponto e vírgula, codificação UTF-8 sem BOM, sobrescrevendo se o arquivo existir:

Get-ADUser -Filter * -Properties * | Export-Csv -Path "C:tempAllUsers.csv" -Delimiter ";" -Encoding UTF8NoBOM

Exporte todos os usuários AD habilitados com codificação personalizada, anexando a um arquivo existente:

Get-ADUser -Filter {Enabled -eq $true} -Properties EmailAddress, Department | Export-Csv -Path "C:tempAllUsers.csv" -Delimiter "," -Encoding Unicode -Append

Exporte propriedades específicas do usuário do AD com delimitador personalizado, sem informações de tipo e não sobrescreva os arquivos existentes:

Get-ADUser -Filter * -Properties GivenName, Surname, EmailAddress | Export-Csv -Path "C:tempAllUsers.csv" -Delimiter "|" -NoTypeInformation -NoClobber

Exporte todos os usuários do AD de uma unidade organizacional específica com um delimitador específico da região, substituindo se o arquivo existir:

Get-ADUser -Filter * -SearchBase "OU=Staff,DC=company,DC=com" -Properties JobTitle | Export-Csv -Path "C:tempAllUsers.csv" -UseCulture -Encoding UTF8

É isso!

Conclusão

Você aprendeu como usar o cmdlet Export-CSV no PowerShell. É um excelente cmdlet para exportar dados do PowerShell para um arquivo CSV. Familiarize-se com ele porque você precisará deste cmdlet e de seus parâmetros.

Você gostou deste artigo? Você também pode gostar de Forçar alteração de senha para todos os usuários do Microsoft 365. Não se esqueça de nos seguir e compartilhar este artigo.

Leia mais:Como exportar senhas salvas do Google Chrome para um arquivo CSV

Related Posts