Question Pas d'interprétation sous powershell v2.0

Plus d'informations
il y a 11 ans 4 jours #19760 par rocketter
Bonjour,

je ne comprends pas, sous powerShell v3.0, cette ligne de code fonctionne :
[code:1]$test3 = \"|20150520^|IP|108F~108~3420~~67832~E~|\" | Select-String -Pattern ’0?[1-400][0-9]?[0-9]?[PF]?~0?[1-400][0-9]?[0-9]?~[1-5][0-4][1-5]0’
$test3.Matches.value
[/code:1]
Le résultat est celui-ci :
[code:1]108F~108~3420[/code:1]

sous powerShell v2.0 cette même ligne ligne de code ne donne aucun résultat, pourtant avec
[code:1]$test3.Matches[/code:1]
j'obtiens ceci :
[code:1]Groups : {108F~108~3420}
Success : True
Captures : {108F~108~3420}
Index : 20
Length : 13
Value : 108F~108~3420
[/code:1]

mais dés que je rajoute la propriété value, plus de résultat.

Est-ce un bug ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 4 jours #19762 par xyz
rocketter écrit:

Est-ce un bug ?

Non ce n'est pas la même version :P
La V3 itére automatiquement une collection.
Mais pas la v2, un conseil toujours regarder le type d'un objet que l'on récupère :
[code:1]$Test3.Matches.GetType()
# IsPublic IsSerial Name BaseType
#

----
# True True Match[] System.Array] System.Array
[/code:1]
Cela ne donne pas tjr la solution, mais limite les interrogations :silly:

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 4 jours #19764 par rocketter
Merci Laurent, par contre comment convertir le type de l'objet en collection ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 4 jours #19765 par xyz
rocketter écrit:

omment convertir le type de l'objet en collection ?

Je ne suis pas certains de comprendre ce que tu veux faire ?
Est-ce ceci :
[code:1]
$O=10
$O.GetType()
$O=,10
$O.GetType()

#ou ceci
$P=Get-Process -Name NoExist -ea SilentlyContinue
$P.GetType()

$P=@(Get-Process -Name NoExist -ea SilentlyContinue)
$P.GetType()
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 4 jours #19766 par rocketter
Je n ai pas testé ton code, ce que je souhaite c est récupérer le motif recherché en v2 comme me le permet la propriété value en v3

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 4 jours #19767 par xyz
$Test3.Matches étant un tableau il faut l'indexer $Test3.Matches[0].Value.
Je pensais que le fait de te dire que c'était un tableau te mettrais sur la voie :)

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.047 secondes
Propulsé par Kunena