Question
convertir Info » en type « System.int32
- callac
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 15
- Remerciements reçus 0
il y a 12 ans 4 mois #16277
par callac
Réponse de callac sur le sujet Re:convertir Info » en type « System.int32
Bonsoir Mathieu je sais que test-connection existe mais je n'ai pas réussi a effectuer un Ping chargé avec. J'ai trouvé beaucoup plus simple de passer par un batch pour l'effectuer. Néanmoins j'ai conscience que je pourrais améliorer cette partie en y intégrant par exemple le concept de multithread. Pour le moment je fais simple, faut le temps que je puisse grimper les marches.
Connexion ou Créer un compte pour participer à la conversation.
- callac
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 15
- Remerciements reçus 0
il y a 12 ans 4 mois #16278
par callac
Réponse de callac sur le sujet Re:convertir Info » en type « System.int32
Matthew, pardon j'ai trop francisé ton prenom. Si je comprends bien le buffersize correspond -l du batech et le NoFragmentation doit correspondre au -f. Mais à mon niveau il est plus facile de manipuler la batch que le test-connection avec tous ces paramètres. Mais à méditer
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 12 ans 4 mois #16279
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:convertir Info » en type « System.int32
Quelques remarques sur ton dernier code :
[code:1]
#La regex est fausse
$pattern = 'd{4,5}'
#remplacer par
$pattern = '\d{4,5}'
#La variable $Lines n'existe pas :
$chaine = ($lines)[0].context.Precontext[0]
#remplacer par
$chaine = ($line0)[0].context.Precontext[0]
#ce test est faux
if (($chaine -match $pattern) -eq \"True\"«»)
#remplacer par
if ($chaine -match $pattern)
#ou
if (($chaine -match $pattern) -eq $True)
[/code:1]
pccindo écrit:
[code:1]
#La regex est fausse
$pattern = 'd{4,5}'
#remplacer par
$pattern = '\d{4,5}'
#La variable $Lines n'existe pas :
$chaine = ($lines)[0].context.Precontext[0]
#remplacer par
$chaine = ($line0)[0].context.Precontext[0]
#ce test est faux
if (($chaine -match $pattern) -eq \"True\"«»)
#remplacer par
if ($chaine -match $pattern)
#ou
if (($chaine -match $pattern) -eq $True)
[/code:1]
pccindo écrit:
+1Pour le moment je fais simple, faut le temps que je puisse grimper les marches.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- callac
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 15
- Remerciements reçus 0
il y a 12 ans 4 mois #16280
par callac
Réponse de callac sur le sujet Re:convertir Info » en type « System.int32
Bonjour Laurent,
J'ai effectuer les corrections:
La regex => $pattern = '\d{4,5}'
j'ai renommer la variable $Line0 en $Line
Dans le if (condition) j'ai enlevé le \"-eq \"True\")\"
L'addition ne se fait pas avec la variable $matches
if ($chaine -match $pattern)
{
$MTU = ($Matches.values -as [int]) + 28
echo $MTU
}
Il affiche en sortie standard 28 alors que je voudrais qu'il affiche 1501 (1473 + 28)
Lorsque j'affiche $Matches j'ai deux colonnes Name et Value. Ma valeur lors de l’exécution du script est dans la colonne Value (1473), donc j'utilise $Matches.Values pour effectuer l'opération. Mais ça ne fonctionne pas
Je décide donc de faire :
$Matches.values.gettype() | fl OU $Matches.gettype() | fl
Je trouve ceci : \"IsValueType: False\" .
Alors que si je fais :
$MTU.gettype() | fl
IsValueType : True
Cela veut-il bien dire que je ne peux pas typer l'objet ? Et si oui, quelles options s'offrent à moi pour pouvoir traiter l'objet $Matches?
J'ai effectuer les corrections:
La regex => $pattern = '\d{4,5}'
j'ai renommer la variable $Line0 en $Line
Dans le if (condition) j'ai enlevé le \"-eq \"True\")\"
L'addition ne se fait pas avec la variable $matches
if ($chaine -match $pattern)
{
$MTU = ($Matches.values -as [int]) + 28
echo $MTU
}
Il affiche en sortie standard 28 alors que je voudrais qu'il affiche 1501 (1473 + 28)
Lorsque j'affiche $Matches j'ai deux colonnes Name et Value. Ma valeur lors de l’exécution du script est dans la colonne Value (1473), donc j'utilise $Matches.Values pour effectuer l'opération. Mais ça ne fonctionne pas
Je décide donc de faire :
$Matches.values.gettype() | fl OU $Matches.gettype() | fl
Je trouve ceci : \"IsValueType: False\" .
Alors que si je fais :
$MTU.gettype() | fl
IsValueType : True
Cela veut-il bien dire que je ne peux pas typer l'objet ? Et si oui, quelles options s'offrent à moi pour pouvoir traiter l'objet $Matches?
Connexion ou Créer un compte pour participer à la conversation.
- callac
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 15
- Remerciements reçus 0
il y a 12 ans 4 mois #16281
par callac
Réponse de callac sur le sujet Re:convertir Info » en type « System.int32
Bonjour Laurent,
J'ai effectuer les corrections:
La regex => $pattern = '\d{4,5}'
j'ai renommer la variable $Line0 en $Line
Dans le if (condition) j'ai enlevé le \"-eq \"True\")\"
L'addition ne se fait pas avec la variable $matches
if ($chaine -match $pattern)
{
$MTU = ($Matches.values -as [int]) + 28
echo $MTU
}
Il affiche en sortie standard 28 alors que je voudrais qu'il affiche 1501 (1473 + 28)
Lorsque j'affiche $Matches j'ai deux colonnes Name et Value. Ma valeur lors de l’exécution du script est dans la colonne Value (1473), donc j'utilise $Matches.Values pour effectuer l'opération. Mais ça ne fonctionne pas
Je décide donc de faire :
$Matches.values.gettype() | fl OU $Matches.gettype() | fl
Je trouve ceci : \"IsValueType: False\" .
Alors que si je fais :
$MTU.gettype() | fl
IsValueType : True
Cela veut-il bien dire que je ne peux pas typer l'objet ? Et si oui, quelles options s'offrent à moi pour pouvoir traiter l'objet $Matches?
J'ai effectuer les corrections:
La regex => $pattern = '\d{4,5}'
j'ai renommer la variable $Line0 en $Line
Dans le if (condition) j'ai enlevé le \"-eq \"True\")\"
L'addition ne se fait pas avec la variable $matches
if ($chaine -match $pattern)
{
$MTU = ($Matches.values -as [int]) + 28
echo $MTU
}
Il affiche en sortie standard 28 alors que je voudrais qu'il affiche 1501 (1473 + 28)
Lorsque j'affiche $Matches j'ai deux colonnes Name et Value. Ma valeur lors de l’exécution du script est dans la colonne Value (1473), donc j'utilise $Matches.Values pour effectuer l'opération. Mais ça ne fonctionne pas
Je décide donc de faire :
$Matches.values.gettype() | fl OU $Matches.gettype() | fl
Je trouve ceci : \"IsValueType: False\" .
Alors que si je fais :
$MTU.gettype() | fl
IsValueType : True
Cela veut-il bien dire que je ne peux pas typer l'objet ? Et si oui, quelles options s'offrent à moi pour pouvoir traiter l'objet $Matches?
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 12 ans 4 mois #16283
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:convertir Info » en type « System.int32
pccindo écrit:
$Matches.Value est une collection de chaînes.
isValueType concerne le type de la variable $Matches et n'a rien à voir avec les données que la collection contient.
Je t'ai proposé du code utilisant des captures nommées, ainsi $Matches.MTU pointe directement sur l'information que tu recherches.
Je pense que tu as mixer les deux codes, le résultat n'est pas très goûteux.
Utilise Write-Debug, avec $DebugPreference='Continue', pour tracer le comportement de ton code.
Comprendre ce que tu manipules.Et si oui, quelles options s'offrent à moi pour pouvoir traiter l'objet $Matches?
$Matches.Value est une collection de chaînes.
isValueType concerne le type de la variable $Matches et n'a rien à voir avec les données que la collection contient.
Je t'ai proposé du code utilisant des captures nommées, ainsi $Matches.MTU pointe directement sur l'information que tu recherches.
Je pense que tu as mixer les deux codes, le résultat n'est pas très goûteux.
Utilise Write-Debug, avec $DebugPreference='Continue', pour tracer le comportement de ton code.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.051 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- convertir Info » en type « System.int32