Question
Traitement d'une classe
- Polux
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 9 ans 5 mois #18179
par Polux
Traitement d'une classe a été créé par Polux
Tout d'abord, bonjour à tous,
Après plusieurs recherches infructueuses, je me décide à ouvrir un post afin de pouvoir solutionner mon problème.
J'ai découvert, il y a quelques mois la puissance du powershell mais là, la puissance me dépasse....
J'essaie de réaliser ce genre de script mais sans résultat car je ne sais pas vers quel objet m'orienter.
Mais je pense que vous devriez traiter le problème sans grande difficulté.
AdresseIP1 : xxx.xxx.xxx.xxx
Interface1 : TOTO
AdresseIP2 : xxx.xxx.xxx.xxx
Interface2 : TITI
AdresseIP3 : xxx.xxx.xxx.xxx
Interface3 : TATA
et ainsi de suite....
J'aimerais créer une classe avec :
$adresseIP(0) et $interface(0)
et pouvoir ainsi traiter toute la liste dans une boucle for ($i=0; $i -le $compteur.Length-1 ; $i++)
Je sais réaliser cette manipulation en vbs mais en powershell, je sèche complètement
Merci d'avance pour votre aide.
Après plusieurs recherches infructueuses, je me décide à ouvrir un post afin de pouvoir solutionner mon problème.
J'ai découvert, il y a quelques mois la puissance du powershell mais là, la puissance me dépasse....
J'essaie de réaliser ce genre de script mais sans résultat car je ne sais pas vers quel objet m'orienter.
Mais je pense que vous devriez traiter le problème sans grande difficulté.
AdresseIP1 : xxx.xxx.xxx.xxx
Interface1 : TOTO
AdresseIP2 : xxx.xxx.xxx.xxx
Interface2 : TITI
AdresseIP3 : xxx.xxx.xxx.xxx
Interface3 : TATA
et ainsi de suite....
J'aimerais créer une classe avec :
$adresseIP(0) et $interface(0)
et pouvoir ainsi traiter toute la liste dans une boucle for ($i=0; $i -le $compteur.Length-1 ; $i++)
Je sais réaliser cette manipulation en vbs mais en powershell, je sèche complètement
Merci d'avance pour votre aide.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 9 ans 5 mois #18181
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Traitement d'une classe
Salut,
Tu peux utiliser New-Object qui crée des objets personnalisés et pas des classes (dispo à partir de la v5).
Le principe :
[code:1]
$Objet=New-Object PsObject -Property @{
AdresseIP = '9.8.7.6';
Interface = 'TOTO'
}
$Objet
#ou
$IP='1.2.3.4'
$Name='Toto'
$Objet=New-Object PsObject -Property @{
AdresseIP = $IP;
Interface = $Name
}
$Objet
[/code:1]
Les noms de propriétés doivent être identiques pour tous les objets de même 'type', sinon tu ne pourras utiliser simplement les cmdlets.
Outre son adresse mémoire, c'est le contenu d'une propriété qui différencie des objets d'une même classe.<br><br>Message édité par: Laurent Dardenne, à: 30/09/14 23:04
Tu peux utiliser New-Object qui crée des objets personnalisés et pas des classes (dispo à partir de la v5).
Le principe :
[code:1]
$Objet=New-Object PsObject -Property @{
AdresseIP = '9.8.7.6';
Interface = 'TOTO'
}
$Objet
#ou
$IP='1.2.3.4'
$Name='Toto'
$Objet=New-Object PsObject -Property @{
AdresseIP = $IP;
Interface = $Name
}
$Objet
[/code:1]
Les noms de propriétés doivent être identiques pour tous les objets de même 'type', sinon tu ne pourras utiliser simplement les cmdlets.
Outre son adresse mémoire, c'est le contenu d'une propriété qui différencie des objets d'une même classe.<br><br>Message édité par: Laurent Dardenne, à: 30/09/14 23:04
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Polux
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 9 ans 5 mois #18183
par Polux
Réponse de Polux sur le sujet Re:Traitement d'une classe
Merci pour cette réponse rapide.
Mais à vrai dire, c'est la syntaxe qui suit qui me pose problème.
Je crée mon objet :
[code:1]
$Objet=New-Object PsObject -Property @{
AdresseIP = '9.8.7.6';
Interface = 'TOTO'
}
$Objet
[/code:1]
Mais pour les suivants? Je réécris la même chose?
[code:1]
$Objet=New-Object PsObject -Property @{
AdresseIP = '5.9.3.2';
Interface = 'TUTU'
}
$Objet
$Objet=New-Object PsObject -Property @{
AdresseIP = '6.5.3.5';
Interface = 'TITI'
}
$Objet
[/code:1]
Et une fois que j'ai mes objets de créer, Comment, je réalise ma boucle for qui me permet de traiter tous mes objets?
[code:1]
for ($Objet=1; i -le X; i++)
{
Write-host $AdresseIP($i)
}
[/code:1]
Merci d'avance
Mais à vrai dire, c'est la syntaxe qui suit qui me pose problème.
Je crée mon objet :
[code:1]
$Objet=New-Object PsObject -Property @{
AdresseIP = '9.8.7.6';
Interface = 'TOTO'
}
$Objet
[/code:1]
Mais pour les suivants? Je réécris la même chose?
[code:1]
$Objet=New-Object PsObject -Property @{
AdresseIP = '5.9.3.2';
Interface = 'TUTU'
}
$Objet
$Objet=New-Object PsObject -Property @{
AdresseIP = '6.5.3.5';
Interface = 'TITI'
}
$Objet
[/code:1]
Et une fois que j'ai mes objets de créer, Comment, je réalise ma boucle for qui me permet de traiter tous mes objets?
[code:1]
for ($Objet=1; i -le X; i++)
{
Write-host $AdresseIP($i)
}
[/code:1]
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 9 ans 5 mois #18184
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Traitement d'une classe
Polux17 écrit:
[code:1]
#Crée un tableau vide
$Objets=@()
#ajoute un élément du tableau
$Objets +=New-Object PsObject -Property @{
AdresseIP = '5.9.3.2';
Interface = 'TUTU'
}
#premier objet, index 0
$Objets[0]
$Objets +=New-Object PsObject -Property @{
AdresseIP = '6.5.3.5';
Interface = 'TITI'
}
$Objets[1]
$Objets[1].AdresseIP
#Nombre d'élément contenu dans le tableau
$Objets.Count
$Objets
[/code:1]
Mais ici les données servant à construire ta liste d'objets proviennent le plus souvent d'un fichier ascii, .CSV , .XML, etc.
Ensuite :
[code:1]
#Parcourt la collection sans calcul d'index
foreach ($Objet in $Objets)
{
Write-host $Objet.AdresseIP
}
[/code:1]
Oui, mais tu dois également construire une collection qui contiendra tous tes objets :Mais pour les suivants? Je réécris la même chose?
[code:1]
#Crée un tableau vide
$Objets=@()
#ajoute un élément du tableau
$Objets +=New-Object PsObject -Property @{
AdresseIP = '5.9.3.2';
Interface = 'TUTU'
}
#premier objet, index 0
$Objets[0]
$Objets +=New-Object PsObject -Property @{
AdresseIP = '6.5.3.5';
Interface = 'TITI'
}
$Objets[1]
$Objets[1].AdresseIP
#Nombre d'élément contenu dans le tableau
$Objets.Count
$Objets
[/code:1]
Mais ici les données servant à construire ta liste d'objets proviennent le plus souvent d'un fichier ascii, .CSV , .XML, etc.
Ensuite :
[code:1]
#Parcourt la collection sans calcul d'index
foreach ($Objet in $Objets)
{
Write-host $Objet.AdresseIP
}
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.072 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Traitement d'une classe