Récemment, j'ai eu besoin de créer des variables en PowerShell sur lesquelles je souhaitais faire des tris et avoir une présentation du même type que get-childitem ou autre.
En fait, ce que je souhaitais avoir, c’était quelque chose de ce genre:
Ceci s'apparente à une "Hash table", mais pour réaliser ceci des façon simple, les informations disponible sur le net sont difficile à trouver.
En réalité, il s'agit uniquement d'un objet dans un tableau.
Donc, si vous souhaitez créer ceci, vous devez d'abord créer cet objet.
Différentes méthode existent, mais à mon goût une simple et qui fonctionne est celle-ci:
$d=New-Object PSObject
$d | Add-Member -Name Nom -MemberType NoteProperty -Value "Valeur a mettre"
Ce qui donne:
Puis, pour ajouter une seconde colonne:
$d | Add-Member -Name NomDeLaSecondeColonne -MemberType NoteProperty -Value "Valeur de ma 2éme colonne"
Bon, et maintenant que j'ai une variable avec plusieurs "colonnes", comment je gère mes lignes?
Il faut en réalité ajouter chaque Objet dans une variable de type tableau:
$MaVariable=@() #Création de la variable tableau
$MaVariable+=$d #Ajout de l'Objet dans le tableau
Et donc, pour ajouter une seconde ligne:
$d=New-Object PSObject
$d | Add-Member -Name Nom -MemberType NoteProperty -Value "Ma seconde ligne"
$d | Add-Member -Name NomDeLaSecondeColonne -MemberType NoteProperty -Value "2éme ligne, 2éme colonne"
$MaVariable+=$d
Personnellement, j'utilise une petite fonction:
function addUser
{
param([string]$Nom,[string]$Prenom,[string]$Mail)
$d=New-Object PSObject
$d | Add-Member -Name Nom -MemberType NoteProperty -Value $Nom
$d | Add-Member -Name Prenom -MemberType NoteProperty -Value $Prenom
$d | Add-Member -Name Mail -MemberType NoteProperty -Value $Mail
return $d
}
$MaListe=@()
$MaListe+=addUser -Nom "Mergoux" -Prenom "Gregory" -Mail "addr1@gmail.com"
$MaListe+=addUser -Nom "Denis" -Prenom "Michel" -Mail "addr2@gmail.com"
$MaListe+=addUser -Nom "Dupond" -Prenom "Lionel" -Mail "addr3@gmail.com"
$MaListe+=addUser -Nom "Ballais" -Prenom "Monique" -Mail "addr4@gmail.com"
$MaListe+=addUser -Nom "Chirac" -Prenom "Brigitte" -Mail "addr5@gmail.com"
$MaListe+=addUser -Nom "Martin" -Prenom "Etienne" -Mail "addr6@gmail.com"
$MaListe+=addUser -Nom "Dupont" -Prenom "Monique" -Mail "addr7@gmail.com"
Et les tries deviennent un jeu d'enfants :)
$MaListe | Where-Object { $_.Prenom -match "Monique" }
$MaListe | Where-Object { $_.Nom -match "Dupon" }
Idem pour les calculs:
($MaListe | Measure-Object).Count
Ou la présentation:
dimanche 6 novembre 2011
Créer des variables en PowerShell sous forme de tableau
Libellés :
hash table,
new-object,
PowerShell array,
psobject,
tableau
Inscription à :
Publier les commentaires (Atom)
Merci pour ce post !! Bien expliqué et super pratique.
RépondreSupprimerExactement ce que je cherchais!
RépondreSupprimerMerci beaucoup
Excellent pour une fois qu'on a quelque chose de clair !
RépondreSupprimerMerci pour cette esplication claire et concise.
RépondreSupprimerMerci, c'est clair et net !!!
RépondreSupprimerMerci, enfin une explication "claire", différent de tout le bazar que l'on peut trouver sur le net..
RépondreSupprimerSébastien
super merci pour ces explications
RépondreSupprimerbravo, j ai cherché tout le web francais et anglais pour trouver un script permettant de créer un tableau avec des entêtes sans rien trouver ...
RépondreSupprimerbravo ...
Clair, concret et fonctionnel ! Merci du coup de pouce !
RépondreSupprimerArnaud
super mec! enfin quelqu'un qui comprend ce qu'il fait et sait l'expliquer! beau travail
RépondreSupprimerBonjour,
RépondreSupprimerPeux-tu m'expliquer comment envoyer $MaListe par mail?
Merci d'avance
Hello ! Super merci beaucoup pour ces explications !
RépondreSupprimerMerci pour ce tuto simple mais efficace :)
RépondreSupprimerFab
Parfait ! Je comprends mieux maintenant
RépondreSupprimerMerci pour ce post
RépondreSupprimerinstagram takipçi satın al
RépondreSupprimerinstagram takipçi satın al
aşk kitapları
tiktok takipçi satın al
instagram beğeni satın al
youtube abone satın al
twitter takipçi satın al
tiktok beğeni satın al
tiktok izlenme satın al
twitter takipçi satın al
tiktok takipçi satın al
youtube abone satın al
tiktok beğeni satın al
instagram beğeni satın al
trend topic satın al
trend topic satın al
youtube abone satın al
instagram takipçi satın al
beğeni satın al
tiktok izlenme satın al
sms onay
youtube izlenme satın al
tiktok beğeni satın al
sms onay
sms onay
perde modelleri
instagram takipçi satın al
takipçi satın al
tiktok jeton hilesi
instagram takipçi satın al pubg uc satın al
sultanbet
marsbahis
betboo
betboo
betboo
instagram takipçi satın al
MMORPG OYUNLAR
RépondreSupprimerInstagram takipçi satın al
tiktok jeton hilesi
tiktok jeton hilesi
antalya saç ekimi
referans kimliği nedir
instagram takipçi satın al
Mt2 Pvp
instagram takipçi satın al
perde modelleri
RépondreSupprimernumara onay
mobil ödeme bozdurma
nft nasıl alınır
ankara evden eve nakliyat
TRAFİK SİGORTASİ
dedektör
web sitesi kurma
aşk kitapları
Smm Panel
RépondreSupprimersmm panel
İŞ İLANLARI
İnstagram Takipçi Satın Al
hırdavatçı burada
Www.beyazesyateknikservisi.com.tr
SERVİS
tiktok jeton hilesi
üsküdar beko klima servisi
RépondreSupprimerçekmeköy vestel klima servisi
ümraniye beko klima servisi
beykoz lg klima servisi
üsküdar lg klima servisi
beykoz alarko carrier klima servisi
ataşehir toshiba klima servisi
kadıköy alarko carrier klima servisi
maltepe daikin klima servisi
özel ambulans
RépondreSupprimeren son çıkan perde modelleri
lisans satın al
nft nasıl alınır
uc satın al
minecraft premium
en son çıkan perde modelleri
yurtdışı kargo
Good text Write good content success. Thank you
RépondreSupprimerpoker siteleri
betpark
kralbet
betmatik
mobil ödeme bahis
kibris bahis siteleri
tipobet
bonus veren siteler
başakşehir
RépondreSupprimerbayrampaşa
beşiktaş
beykoz
beylikdüzü
8XNGNH
mecidiyeköy
RépondreSupprimersakarya
istanbul
kayseri
ordu
UAİB
bitlis
RépondreSupprimeredirne
hatay
ağrı
urfa
CX1U6
https://saglamproxy.com
RépondreSupprimermetin2 proxy
proxy satın al
knight online proxy
mobil proxy satın al
SVNA8B
افضل شركة تسليك مجاري بالاحساء TXS9klSTVp
RépondreSupprimer