Question Séparation d\"élement dans un fichier texte

Plus d'informations
il y a 9 ans 1 mois #23125 par Lounis
Bonjour,

Je suis actuellement sur un projet qui consiste à tester la connectivité de postes dans une entreprise par l'envoie d'une requête ping.

Plus précisement, à partir d'un fichier POSTES.TXT qui contient l'ensemble des informations, le script doit recevoir en argument le nom d'une salle à tester et le nombre de tests à effectuer. Il génére ensuite un fichier texte horodaté contenant les informations résultantes. Sachant que si toutes les salles sont testées, le script recoit alors l'argument ALL à la place du nom de la salle. Nous pouvons utiliser les noms et salles que nous souhaitons mais la structure du fichier est ainsi faites :
(salle, liste des poste de la salle[,salle, liste des postes de la salle,...]).

(Exemples : \"Script ALL 2\" permet de tester toutes les salles, donc TOUS les postes, à 2 reprises, ou bien, \"Script Bât01-Eta00-B01 1\" permet de tester SEULEMENT les postes présent dans la salle Bât01-Eta00-B01, à 1 reprise)


Voici le fichier POSTES.TXT:

Salle Bât01-Eta00-B01
172.16.100.20
172.16.100.21
Salle Bât01-Eta01-B11
172.16.100.22
Salle Bât02-Eta00-B01
172.16.100.23
172.16.100.24


Voici ce que j'ai réalisé:

[code:1]Param(
[Parameter(Mandatory=$True)]
[string]$testSalle,

[Parameter(Mandatory=$True)]
[int]$test
)


#Création des variables
$date = Get-Date -Format \"yyyyMMdd-HHmmss\"
$Salle = Get-Content -Path C:\users\louni\Desktop\POSTES.txt | Select-String -Pattern \"salle\"
$nomSalle = $Salle -replace \"salle\",\"\"
$nomPoste = Get-Content -Path C:\Users\louni\Desktop\POSTES.txt | Select-String -Pattern \"salle\" -NotMatch
$ping = ping -n \"$test\" $nomPoste

#Si $testSalle = ALL alors ping $nomPoste n fois sinon fait le reste


#Séparation des postes par salles
ForEach(
$element in get-content -path C:\users\louni\Desktop\POSTES.txt )
{
# Si $testSalle est présent dans $element??? alors recuperes les lignes suivantes et mets le dans --> $nomPoste,
# ping $nomPoste dès tu croises le mot salle arrete-toi

ping -n 1 $nomPoste | Out-File -FilePath C:\users\louni\Desktop\\"$date\"-\"$testSalle\".txt -Append
}
[/code:1]

Comme vous pouvez le constaté le plus complexe dans c'est la séparation des postes par salles et je bloque dessus.. je ne cherche pas forcement la réponse mais une piste de réponse serai très appréciable :))

De plus, je rencontre aussi une autre erreur que je n'avais pas : la variable $nomPoste contient bien le nom de tous les postes mais lorsque j’exécute ping $nomPoste j'obtient : Paramêtre incorrect 172.16.10.20, bien sur, la commande ping 172.16.10.20 hors du script fonctionne.

Je pratique powershell depuis très peu de temps, j’apprécierai vraiment votre aide quels qu'elle en soit.

En vous remerciant,

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

Plus d'informations
il y a 9 ans 1 mois #23143 par Philippe
Réponse de Philippe sur le sujet Re:Séparation d
salut funnyART
funnyART écrit:

Comme vous pouvez le constaté le plus complexe dans c'est la séparation des postes par salles et je bloque dessus.. je ne cherche pas forcement la réponse mais une piste de réponse serai très appréciable :))

puisque tu ne cherche pas la réponse, voici une piste, enfin plutôt une formation en video sur le traitement des données par PowerShell.
il y a tous les moyens de traité des données dans PowerShell. très bien pour les debutants.
je te conseil de regardé toutes la video avant de te lancé sur une idée/solution à ta demande

n'hésite pas a revenir nous montrer ta solution ou nous poser des questions sur ton idée<br><br>Message édité par: 6ratgus, à: 9/02/17 09:36

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

Plus d'informations
il y a 9 ans 1 mois #23146 par Lounis
Réponse de Lounis sur le sujet Re:Séparation d
Merci, j'attaque ce soir :)

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

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