Descoperiți cum să creați fișiere CSV clar dispuse cu ajutorul scripturilor PowerShell: utilizați Obiecte personalizate PowerShell combinate cu commandlet-ul Export-csv.
Introducerea obiectelor personalizate PowerShell
Obiectele personalizate sunt obiecte „generice” pe care le puteți crea singuri în PowerShell.
Un obiect personalizat vă permite să definiți diverse proprietăți care pot fi adăugate în mod dinamic la scripturile PowerShell. Un obiect personalizat poate avea proprietăți predefinite ca orice alt obiect sau le puteți adăuga dinamic în timpul execuției, atunci când este necesar.
Există multe moduri de a utiliza obiectele personalizate și de a le transforma în instrumente utile. Puteți fie:
- să mențineți o „variabilă de stare” în fișierele jurnal sau
- să transferați mai multe mesaje simultan către o funcție fără a utiliza prea multe variabile.
Generarea obiectelor personalizate PowerShell
Crearea unui obiect personalizat PowerShell se face cu commandlet-ul „New-Object”.
1
|
$object = New-.Object PSObject
|
În acest exemplu, am creat un obiect de tip „PSCustomObject”.
Pentru moment, obiectul inițial este gol și nu are alte caracteristici. Puteți adăuga noi caracteristici utilizând commandlet-ul „Add-Member”.
1
|
$object | Add-Member NoteProperty „Color” „Red”
|
Ca rezultat, obiectul are acum caracteristica „Color=roșu”. Puteți repeta acest lucru de câte ori doriți și puteți da obiectului diferite caracteristici:
1
|
$object | Add-Member NoteProperty „Size” 1
|
Exportul obiectelor personalizate ca CSV
Un beneficiu major este acela că puteți transfera întregul obiect către alte funcții sau commandlets:
1
|
$object Export-Csv -NoTypeInformation -Path .\log.csv -Delimiter ‘;’
|
Sau cu o funcție:
1
2
3
4
5
|
function my-export {
param($myInput)
$myInput Export-Csv -NoTypeInformation -Path .\log.csv -Delimiter ‘;’
} }
my-export $object
|
Aici am creat un fișier .csv care arată astfel:
Color | Size |
Red | 1 |
Și, în consecință, textul apare astfel:
„Color”; „Size”
„Red”; „1″
De asemenea, puteți combina mai multe obiecte într-o listă sau într-un array pentru a le afișa în mod colectiv:
1
2
3
4
5
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 ‘;’
|
Ca rezultat, noul dvs. fișier .csv conține automat ambele obiecte:
Nume | Culoare | Dimensiuni |
Alice | Roșu | 1 |
Bob | Albastru | 2 |
Corespunzător, textul apare ca:
„Nume”; „Culoare”; „Mărime”
„Alice”; „Roșu”; „1″
„Bob”; „Albastru”; „2″
În rezumat, obiectele personalizate PowerShell combinate cu commandlet-ul Export-csv sunt un instrument eficient și util pentru a exporta seturi de date în format .csv.
FirstAttribute AG – Partener de consultanță Microsoft pentru
Migrație și Active Directory
Consultanță AD | Migrație AD
.