Descubra como criar arquivos CSV claramente dispostos com a ajuda dos scripts PowerShell: use o PowerShell Custom Objects combinado com o comando Export-csv.

Introduzindo Objectos Personalizados PowerShell

Os Objectos Personalizados são objectos “genéricos” que pode criar você mesmo no PowerShell.

Um objecto personalizado permite-lhe definir várias propriedades que podem ser dinamicamente adicionadas aos scripts PowerShell. Um objecto personalizado pode ter propriedades pré-definidas como qualquer outro objecto ou pode adicioná-las dinamicamente durante o tempo de execução quando necessário.

Existem muitas formas de utilizar objectos personalizados e transformá-los em ferramentas úteis. Você pode:

  • manter uma “variável de status” em arquivos de log ou
  • transferir múltiplas mensagens simultaneamente para uma função sem usar muitas variáveis.

Gerar objetos personalizados PowerShell

Você cria um objeto personalizado PowerShell com o comando “New-Object”.

PowerShell

1
$objecto = Novo…Objeto PSObject

Neste exemplo, criámos um objecto do tipo “PSCustomObject”.

Por enquanto o objecto inicial está vazio e não tem mais características. Você pode adicionar novas funcionalidades usando o comando “Add-Member”.

PowerShell

1
$object | Add-Membro NotaPropriedade “Cor” “Vermelha”

Como resultado, o objeto agora tem a característica “Cor=vermelho”. Você pode repetir isso quantas vezes quiser e dar ao objeto características diferentes:

PowerShell

1
$object | Add-Member NoteProperty “Tamanho” 1

Exportar Objectos Personalizados como CSV

Um grande benefício é que você pode transferir o objecto inteiro para outras funções ou comandos:

PowerShell

1
$object Export-Csv -NoTypeInformation -Path .\log.csv -Delimiter ‘;’

Or com uma função:

PowerShell

1
2
3
4

função my-exportar {
param($myInput)
$myInput Export-Csv -NoTypeInformation -Path .\log.csv -Delimiter ‘;’
}
my-export $object

Aqui criamos um .csv que se parece com isto:

Cor Tamanho
Vermelho >1

E, portanto, o texto aparece assim:

>

“Cor”; “Tamanho”
“Vermelho”; “1″

>

Vocês também podem combinar vários objetos em uma lista ou array para exibi-los coletivamente:

PowerShell

1
2
3
4
6
7
8
9
10
11
12
13

$list = @()
$object1 = Novo-Object PSObject
$object1 | Add-Member NoteProperty “Name” “Alice”
$object1 | Add-Membro NoteProperty “Cor” “Vermelho”
$object1 | Add-Member NoteProperty “Tamanho” 1
$list += $object1
$object2 = New-Object PSObject
$object2 | Add-Membro NoteProperty “Nome” “Bob”
$object2 | Add-Member NoteProperty “Cor” “Azul”
$object2 | Add-Member NoteProperty “Tamanho” 2
$list += $object2
$list | Export-Csv -NoTypeInformation -Path .\log.csv -Delimiter ‘;’

Como resultado, o seu novo .csv contém automaticamente os dois objetos:

>

>

Nome Cor Tamanho
Alice Vermelho 1
Bob Azul 2

De acordo, o texto aparece como:

“Nome”; “Cor”; “Tamanho”
“Alice”; “Vermelho”; “1″
“Bob”; “Azul”; “2″

Em resumo, os Objectos Personalizados PowerShell combinados com o comando Export-csv são uma ferramenta eficaz e útil para exportar conjuntos de dados para .csv.

FirstAttribute AG – Microsoft Consulting Partner for
Migration and Active Directory

AD Consulting | Migração AD

Deixe uma resposta

O seu endereço de email não será publicado.