Question
[Résolu] Récupérer des infos précises d'un fichier
- Joran
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
il y a 7 ans 11 mois #25441
par Joran
Réponse de Joran sur le sujet Re:Récupérer une informations précise d'un fichier
oui, je me suis apreçu de cela en retapant plus tard ma commande mais en tout cas merci, ça a marché comme je le souhaitait, il me reste pu qu'à créer mes scripts, merci beaucoup!!!
<br><br>Message édité par: Joran, à: 31/05/18 13:59
Connexion ou Créer un compte pour participer à la conversation.
- Joran
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
il y a 7 ans 11 mois #25442
par Joran
Réponse de Joran sur le sujet Re:Récupérer une informations précise d'un fichier
Par contre, je rajoute une petite question avant d'en finir, qu'elle est la différence entre
[code:1]$MPA.substring($MPA.length -1)[/code:1]
et
[code:1]$MPA.Trim().substring($MPA.Length -1)[/code:1]
Et encore une petite question, cette fois_ci il n'y as qu'un seul chiffre après la virgule mais imaginons que je souhaite m'occuper de la partie \"HistoryPasswordSize\" qui lui contient deux chiffres après la virgule... Suis-je obligé de continuellement tapé \"length -2\"??
Merci!!
<br><br>Message édité par: Joran, à: 31/05/18 14:12
[code:1]$MPA.substring($MPA.length -1)[/code:1]
et
[code:1]$MPA.Trim().substring($MPA.Length -1)[/code:1]
Et encore une petite question, cette fois_ci il n'y as qu'un seul chiffre après la virgule mais imaginons que je souhaite m'occuper de la partie \"HistoryPasswordSize\" qui lui contient deux chiffres après la virgule... Suis-je obligé de continuellement tapé \"length -2\"??
Merci!!
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 7 ans 11 mois #25445
par Philippe
Réponse de Philippe sur le sujet Re:Récupérer une informations précise d'un fichier
la difference est le trim qui supprime les espace en debut et fin de texte
mais avec -2 tu ne prend que les deux decimals pas la valeur avant
que ce soit pour un entier ou un nombre decimal
le problème commence quand on ne connais pas à l'avance la taille de ce que l'on doit récupéré
par exemple pour \"MinimumPasswordLength\" qui est a 10 dans ton fichier, pour avoir les deux chiffres il faut faire :[code:1]$MPA.substring($MPA.Length - 2) [/code:1]mais si tu change la valeur à 9 dans les stratégies, tu devras aussi changer la longueur a prendre sinon la comparaison risque de ne pas fonctionnais !
exemple pour MinimumPasswordAge si je prend deux chiffres
[code:1]$MPA = $lecture | Where-Object {$_ -match \"MinimumPasswordAge\"}
$valeur = $MPA.substring($MPA.length -2)
$valeur -eq 1
# résultat false alors que la valeur est 1
[/code:1]
d'où le split que je t'avais proposé au debut qui prend tous ce qui ce trouve a droite du égale quelque soit la longueur<br><br>Message édité par: 6ratgus, à: 31/05/18 14:58
exactement avec substring tu doit a chaque fois indiqué la longueur du texte a prendreimaginons que je souhaite m'occuper de la partie \"HistoryPasswordSize\" qui lui contient deux chiffres après la virgule... Suis-je obligé de continuellement tapé \"length -2\"??
mais avec -2 tu ne prend que les deux decimals pas la valeur avant
que ce soit pour un entier ou un nombre decimal
le problème commence quand on ne connais pas à l'avance la taille de ce que l'on doit récupéré
par exemple pour \"MinimumPasswordLength\" qui est a 10 dans ton fichier, pour avoir les deux chiffres il faut faire :[code:1]$MPA.substring($MPA.Length - 2) [/code:1]mais si tu change la valeur à 9 dans les stratégies, tu devras aussi changer la longueur a prendre sinon la comparaison risque de ne pas fonctionnais !
exemple pour MinimumPasswordAge si je prend deux chiffres
[code:1]$MPA = $lecture | Where-Object {$_ -match \"MinimumPasswordAge\"}
$valeur = $MPA.substring($MPA.length -2)
$valeur -eq 1
# résultat false alors que la valeur est 1
[/code:1]
d'où le split que je t'avais proposé au debut qui prend tous ce qui ce trouve a droite du égale quelque soit la longueur<br><br>Message édité par: 6ratgus, à: 31/05/18 14:58
Connexion ou Créer un compte pour participer à la conversation.
- Joran
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
il y a 7 ans 11 mois #25446
par Joran
Réponse de Joran sur le sujet Re:Récupérer une informations précise d'un fichier
Effectivement, cela à marcher, j'ai réutilisé ton code et tout arche comme je le souhaite, c'est beaucoup plus facile à utiliser surtout lorsque mon équipe changera la valeur.
Ducoup, mon script donne :
[code:1]
$P8 = $lecture | Select-Spring -SimpleMatch \"HistoryPasswordSize\"
$P8_1 = ($P8 -split \"=\"«»)[1].Trim()
if ($P8_1 -eq 24) {
Write-Output \"P8 - OK\"
} else {
Write-Output \"P8 - MANQUANT\"
}
[/code:1]
Sauf que lorsque je le lance, il me sort \"Impossible d'appeler une méthode dans une expression Null\", vous sauriez pourquoi il m'affiche ça?
Ducoup, mon script donne :
[code:1]
$P8 = $lecture | Select-Spring -SimpleMatch \"HistoryPasswordSize\"
$P8_1 = ($P8 -split \"=\"«»)[1].Trim()
if ($P8_1 -eq 24) {
Write-Output \"P8 - OK\"
} else {
Write-Output \"P8 - MANQUANT\"
}
[/code:1]
Sauf que lorsque je le lance, il me sort \"Impossible d'appeler une méthode dans une expression Null\", vous sauriez pourquoi il m'affiche ça?
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 7 ans 11 mois #25448
par Philippe
une solution en déplacent le trim() :
[code:1]$P8 = $lecture | Select-String -SimpleMatch \"HistoryPasswordSize\"
$P8_1 = ($P8 -split \"=\" )[1]
if ($P8 -and $P8_1.trim() -eq -1) {
Write-Output \"P8 - OK\"
} else {
Write-Output \"P8 - MANQUANT\"
}
[/code:1]
Message édité par: 6ratgus, à: 31/05/18 15:18<br><br>Message édité par: 6ratgus, à: 31/05/18 15:20
Réponse de Philippe sur le sujet Re:Récupérer une informations précise d'un fichier
normal si il ne trouve une des valeur recherché, ça retourne une valeur null et trim provoque une erreurSauf que lorsque je le lance, il me sort \"Impossible d'appeler une méthode dans une expression Null\", vous sauriez pourquoi il m'affiche ça?
une solution en déplacent le trim() :
[code:1]$P8 = $lecture | Select-String -SimpleMatch \"HistoryPasswordSize\"
$P8_1 = ($P8 -split \"=\" )[1]
if ($P8 -and $P8_1.trim() -eq -1) {
Write-Output \"P8 - OK\"
} else {
Write-Output \"P8 - MANQUANT\"
}
[/code:1]
Message édité par: 6ratgus, à: 31/05/18 15:18<br><br>Message édité par: 6ratgus, à: 31/05/18 15:20
Connexion ou Créer un compte pour participer à la conversation.
- Joran
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 16
- Remerciements reçus 0
il y a 7 ans 11 mois #25449
par Joran
Réponse de Joran sur le sujet Re:Récupérer une informations précise d'un fichier
<br><br>Message édité par: Joran, à: 1/06/18 08:07
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.040 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Récupérer des infos précises d'un fichier