Zjistěte, jak vytvořit přehledné soubory CSV pomocí skriptů prostředí PowerShell: použijte vlastní objekty prostředí PowerShell v kombinaci s příkazem Export-csv.

Představení vlastních objektů prostředí PowerShell

Vlastní objekty jsou „obecné“ objekty, které si můžete sami vytvořit v prostředí PowerShell.

Vlastní objekt umožňuje definovat různé vlastnosti, které lze dynamicky přidávat do skriptů prostředí PowerShell. Vlastní objekt může mít buď předdefinované vlastnosti jako každý jiný objekt, nebo je můžete přidávat dynamicky během běhu, když je to potřeba.

Existuje mnoho způsobů, jak používat vlastní objekty a proměnit je v užitečné nástroje. Můžete buď:

  • udržovat „stavovou proměnnou“ v souborech protokolu, nebo
  • přenášet více zpráv současně do funkce, aniž byste použili příliš mnoho proměnných.

Generování vlastních objektů prostředí PowerShell

Vlastní objekt prostředí PowerShell vytvoříte příkazem „New-Object“.

PowerShell

1
$object = New-Object PSObject

V tomto příkladu, jsme vytvořili objekt typu „PSCustomObject“.

Počáteční objekt je prozatím prázdný a nemá žádné další vlastnosti. Nové funkce můžete přidat pomocí příkazu „Add-Member“.

PowerShell

1
$object | Přidat-Member NoteVlastnost „Barva“ „Červená“

Výsledek, má nyní objekt vlastnost „Color=red“. Tento postup můžete opakovat libovolně mnohokrát a dávat objektu různé vlastnosti:

PowerShell

1
$object | Add-Member NoteProperty „Size“ 1

Export vlastních objektů jako CSV

Hlavní výhodou je, že můžete celý objekt přenést do jiných funkcí nebo příkazových řádků:

PowerShell

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

Nebo pomocí funkce:

PowerShell

1
2
3
4
5

funkce my-export {
param($myInput)
$myInput Export-Csv -NoTypeInformation -Path .\log.csv -Delimiter ‚;‘
}
my-export $object

Tady jsme vytvořili .csv soubor, který vypadá takto:

Barva Velikost
Červená 1

A podle toho vypadá text takto:

„Barva“; „Velikost“
„Červená“; „1″

Můžete také spojit několik objektů do seznamu nebo pole a zobrazit je společně:

PowerShell

1
2
3
4
5
6

.

7
8
9
10
11
12
13

$list = @()
$object1 = New-Object PSObject
$object1 | Add-Member NoteProperty „Name“ „Alice“
$object1 | Add-Member NoteProperty „Color“ „Red“
$object1 | Add-Member NoteProperty „Size“ 1
$list += $object1
$object2 = New-Object PSObject
$object2 | Add-Member NoteProperty „Name“ „Bob“
$object2 | Add-Member NoteProperty „Color“ „Blue“
$object2 | Add-Member NoteProperty „Size“ 2
$list += $object2
$list | Export-Csv -NoTypeInformation -Path .\log.csv -Delimiter ‚;‘

Výsledkem bude váš nový .csv soubor automaticky obsahuje oba objekty:

Název Barva Velikost
Alice Červená 1
Bob Modrá 2

Podle toho, se text zobrazí jako:

„Jméno“; „Barva“; „Velikost“
„Alice“; „Červená“; „1″
„Bob“; „Modrá“; „2″

V souhrnu jsou vlastní objekty prostředí PowerShell v kombinaci s příkazem Export-csv efektivním a užitečným nástrojem pro export sad dat do .csv.

FirstAttribute AG – Microsoft Consulting Partner for
Migration and Active Directory

AD Consulting | AD Migration

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.