Come utilizzare Export-CSV in PowerShell

Se crei report in PowerShell, utilizzerai sicuramente il cmdlet Export-CSV. Questo cmdlet consente a PowerShell di generare le informazioni raccolte in un file CSV. Diamo un'occhiata alle possibilità e alle caratteristiche. In questo articolo imparerai come utilizzare il cmdlet Export-CSV in PowerShell.

Cmdlet Export-CSV

Il cmdlet Export-CSV crea un file CSV degli oggetti inviati. Ogni oggetto è una riga che include un elenco separato da caratteri dei valori delle proprietà dell'oggetto. È possibile utilizzare il cmdlet Export-CSV per creare fogli di calcolo e condividere dati con programmi che accettano file CSV come input.

Non formattare gli oggetti prima di inviarli al cmdlet Export-CSV. Se Export-CSV riceve oggetti formattati, il file CSV contiene le proprietà del formato anziché le proprietà dell'oggetto. Per esportare solo le proprietà selezionate di un oggetto, utilizzare il cmdlet Select-Object.

Parametri di esportazione CSV

È possibile utilizzare il cmdlet Export-CSV con qualsiasi cmdlet in PowerShell. In questo articolo utilizzeremo il cmdlet Get-ADUser. Questo è uno dei cmdlet più popolari in Active Directory.

Sentiero

IL-SentieroIl parametro è specificare il percorso del file CSV che si desidera esportare.

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

NoTypeInformation

IL-Nessuna informazione sul tiponon aggiungerà l'intestazione delle informazioni che PowerShell aggiunge al CSV per impostazione predefinita.

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

Delimitatore

IL-DelimitatoreIl parametro specifica il carattere utilizzato per separare le colonne. Puoi usare una virgola (,) o punto e virgola (;).

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

UsaCultura

IL-UsaCulturaIl parametro utilizza il separatore di elenco per le impostazioni cultura correnti come delimitatore dell'elemento. Ciò può essere utile quando lavori con impostazioni internazionali in cui la virgola potrebbe non essere il separatore standard.

Quando specifichi-UsaCultura, il cmdlet utilizzerà automaticamente il delimitatore impostato come separatore di elenco nelle impostazioni internazionali del sistema. Ciò rende l'output più compatibile con le applicazioni locali che prevedono dati formattati secondo gli standard locali.

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

Per trovare il separatore di elenco per una lingua, utilizzare il comando seguente in PowerShell.

(Get-Culture).TextInfo.ListSeparator

Codifica

IL-CodificaIl parametro specifica la codifica dei caratteri per il file. Per il supporto dei caratteri internazionali, si consiglia di utilizzare-Codifica UTF8.

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

Aggiungere

IL-AggiungereIl parametro aggiunge il contenuto alla fine di un file esistente anziché sovrascriverlo. Se il file non esiste, crea un nuovo file.

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

Forza

IL-PrimaIl parametro forzerà il cmdlet a sovrascrivere i file con l'estensioneSola letturaattributo.

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

NoClobber

IL-NoClobberIl parametro impedisce la sovrascrittura di un file esistente. Per impostazione predefinita, Export-CSV sovrascriverà qualsiasi file esistente nel percorso specificato senza emettere un avviso.

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

Esempi di cmdlet Export-CSV

Esporta tutti gli utenti AD con separazione punto e virgola, codifica UTF-8 senza distinta base, sovrascrivendo se il file esiste:

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

Esporta tutti gli utenti AD abilitati con codifica personalizzata, aggiungendo a un file esistente:

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

Esporta proprietà utente AD specifiche con delimitatore personalizzato, nessuna informazione sul tipo e non sovrascriverà i file esistenti:

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

Esporta tutti gli utenti AD da un'unità organizzativa specifica con un delimitatore specifico della regione, sovrascrivendo se il file esiste:

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

Questo è tutto!

Conclusione

Hai imparato come utilizzare il cmdlet Export-CSV in PowerShell. È un eccellente cmdlet per esportare i dati da PowerShell in un file CSV. Acquisisci familiarità con esso perché avrai bisogno di questo cmdlet e dei suoi parametri.

Ti è piaciuto questo articolo? Potrebbe piacerti anche Forza la modifica della password per tutti gli utenti in Microsoft 365. Non dimenticare di seguirci e condividere questo articolo.

Per saperne di più:Come esportare le password salvate di Google Chrome in un file CSV

Related Posts