Question Fonction d'adressage IP
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 15 ans 7 mois #7441
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Fonction d'adressage IP
Richard Lazaro écrit:
Le souci c'est que la méthode WriteObject émet dans le pipe un System.Object, pas un PSObject, du coup tu perds les membres adaptés.
Tu peux utiliser l'émission directe :
[code:1]
$Return|Add-Member AliasProperty ComputerName Hosts -pass
[/code:1]
Ou préciser Return
[code:1]
Return $Return|Add-Member AliasProperty ComputerName Hosts -pass
[/code:1]
Cela fonctionne, l'autre petit soucis c'est que le membre ajouté est affiché par défaut
En v1 il existait une possibilité de définir les propriétés à afficher par défaut, mais elle est buggé en v2 .
Si tu juges que cela t'apporte plus de pb qu'autre chose, il reste possible de faire ainsi :
[code:1]
'127.4.0.2/22','10.34.0.9/31','165.45.23.0/12' |
Get-TMSubnet -Host |
Select-Object select @{Name=\"Computername\";Expression={$_.Hosts}}|
Test-Connection
[/code:1]
Désolé, tout compte fait je te fais peut être perdre ton temps avec ces ajouts
<br><br>Message édité par: Laurent Dardenne, à: 22/07/10 17:47
Comme je suis en train coder, je n'ai pas pris le temps de vérifier mes propositions.As tu essayé sur mon script ?
Le souci c'est que la méthode WriteObject émet dans le pipe un System.Object, pas un PSObject, du coup tu perds les membres adaptés.
Tu peux utiliser l'émission directe :
[code:1]
$Return|Add-Member AliasProperty ComputerName Hosts -pass
[/code:1]
Ou préciser Return
[code:1]
Return $Return|Add-Member AliasProperty ComputerName Hosts -pass
[/code:1]
Cela fonctionne, l'autre petit soucis c'est que le membre ajouté est affiché par défaut
En v1 il existait une possibilité de définir les propriétés à afficher par défaut, mais elle est buggé en v2 .
Si tu juges que cela t'apporte plus de pb qu'autre chose, il reste possible de faire ainsi :
[code:1]
'127.4.0.2/22','10.34.0.9/31','165.45.23.0/12' |
Get-TMSubnet -Host |
Select-Object select @{Name=\"Computername\";Expression={$_.Hosts}}|
Test-Connection
[/code:1]
Désolé, tout compte fait je te fais peut être perdre ton temps avec ces ajouts
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Auteur du sujet
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 15 ans 7 mois #7443
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Réponse de Richard Lazaro sur le sujet Re:Fonction d'adressage IP
Il reste donc la possibilité de changer Hosts en ComputerName ... et le tour est joué ^^
Après, c'est vrai que c'est pas super joli
Après, c'est vrai que c'est pas super joli
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 15 ans 7 mois #7444
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Fonction d'adressage IP
Richard Lazaro écrit:
Richard Lazaro écrit:
Surtout que le nommage des membres perd sa cohérence.
Le truc, c'est que les propriétés de liaisons sont différentes selon les cmdlets.Il reste donc la possibilité de changer Hosts en ComputerName ... et le tour est joué ^^
Richard Lazaro écrit:
Tu m'étonnesAprès, c'est vrai que c'est pas super joli
Surtout que le nommage des membres perd sa cohérence.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Auteur du sujet
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 15 ans 7 mois #7447
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Réponse de Richard Lazaro sur le sujet Re:Fonction d'adressage IP
Nouvelle Version :
- Ajout du Helper
- Propriété de mon objet non modifiable
Bien Cordialement,
Richard Lazaro.
- Ajout du Helper
- Propriété de mon objet non modifiable
Bien Cordialement,
Richard Lazaro.
La pièce jointe Get_Subnet.ps1 est absente ou indisponible
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 15 ans 7 mois #7448
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Fonction d'adressage IP
Qq remarques sur l'aide,
il n'est pas nécessaire de préciser le type des paramètres, car le système d'aide le complète automatiquement.
Idem pour
\"Il est possible de passer cette valeur via le pipeline.\"
Voir :
\"Accepter l'entrée de pipeline ? true (ByValue)\"
Pour -Mask :
\"Il doit être compris entre 0 et 32.\"
Je préciserais le comportement si la valeur est en dehors de cette plage.
i.e. documenter les exceptions.
On peut saisir - 1 et 33 comme valeur de masque.
Pour -Hosts
\"Plus le paramètre Mask est petit,\"
je dirais plutôt:
\"Plus la valeur du ...\"
Dans le second example :
\"L'objet retourné par l'attribut Host ...\"
Ne serait-ce pas plutôt \"la propriété Host...\" ?
Ceci reste possible :
[code:1]$subnet.Hosts[0]=\"Test\"
$subnet = Get-Subnet 109.238.42.0/29 -Hosts[/code:1]
il n'est pas nécessaire de préciser le type des paramètres, car le système d'aide le complète automatiquement.
Idem pour
\"Il est possible de passer cette valeur via le pipeline.\"
Voir :
\"Accepter l'entrée de pipeline ? true (ByValue)\"
Pour -Mask :
\"Il doit être compris entre 0 et 32.\"
Je préciserais le comportement si la valeur est en dehors de cette plage.
i.e. documenter les exceptions.
On peut saisir - 1 et 33 comme valeur de masque.
Pour -Hosts
\"Plus le paramètre Mask est petit,\"
je dirais plutôt:
\"Plus la valeur du ...\"
Dans le second example :
\"L'objet retourné par l'attribut Host ...\"
Ne serait-ce pas plutôt \"la propriété Host...\" ?
Ceci reste possible :
[code:1]$subnet.Hosts[0]=\"Test\"
$subnet = Get-Subnet 109.238.42.0/29 -Hosts[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Auteur du sujet
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 15 ans 7 mois #7451
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Réponse de Richard Lazaro sur le sujet Re:Fonction d'adressage IP
Tu es très réactif ^^
Pour le masque, mes conditions sont mal imbriquées ... faut que je les repense.
Pour le nom \"attribut\", il me semble bien que un objet à des attributs et des méthodes (et non pas des propriétés).
Pour la liste de Hosts ... C'est normal car j'utilise la classe String ... faut que je passe donc une classe personnalisée.
Je vais faire cela :]
Pour le masque, mes conditions sont mal imbriquées ... faut que je les repense.
Pour le nom \"attribut\", il me semble bien que un objet à des attributs et des méthodes (et non pas des propriétés).
Pour la liste de Hosts ... C'est normal car j'utilise la classe String ... faut que je passe donc une classe personnalisée.
Je vais faire cela :]
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.059 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Contributions à la communauté
- Fonction d'adressage IP