Question
structure un csv
- Albert
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 38
- Remerciements reçus 0
J'ai un fichier texte que j'ai créer à l'aide d'un powershell, en gros voici le contenu :
Nom : inan0188.gnancy.local
Address: 172.16.103.219
Nom : ubuntu.gnancy.local
Address: 172.17.100.126
Nom : igdn0165.gnancy.local
Address: 172.17.102.66
Nom : mgdn0775.gnancy.local
Address: 172.18.27.10
Nom : cu0927.gnancy.local
Address: 172.18.27.16
Nom : mgdn0440.gnancy.local
Address: 172.18.27.21
Nom : mgdn0965.gnancy.local
Address: 172.18.27.27
Maintenant ce que je voudrais c'est créer à partir de ce fichier un csv avec une colonne Addresse et une colonne Nom, j'ai éssayé en manipulant des tableaux et avec la commande Export-Csv mais rien y fait ca ne marche pas. Quelqu'un aurait une piste ?
Connexion ou Créer un compte pour participer à la conversation.
- LEON
- Hors Ligne
- Membre senior
-
- Messages : 69
- Remerciements reçus 0
A tu essayer de rajouter à la fin de ta commande qui ta généré ce fichier | ConvertTo-Csv ?
Cia
Connexion ou Créer un compte pour participer à la conversation.
- Albert
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 38
- Remerciements reçus 0
#TYPE System.String
PSPath,\"PSParentPath\",\"PSChildName\",\"PSDrive\",\"PSProvider\",\"ReadCount\",\"Length\"
C:\Documents and Settings\g.albert\Mes documents\dns1\nslookup_ipdns1.txt,\"C:\Documents and Settings\g.albert\Mes documents\dns1\",\"nslookup_ipdns1.txt\",\"C\",\"Microsoft.PowerShell.Core\FileSystem\",\"313\",\"21\"
Voilà la partie qui me d'écrire el précédent fichier :
[code:1]$fichier2 = Get-Content nslookup_ipdns1.txt
for ($i=0; $i -lt $fichier2.length; $i++){
if($fichier2[$i] -match \"Nom\"«»)
{ $fichier2[$i] | ConvertTo-CSV | Set-Content extrait_nslookup1.csv
$fichier2[$i+1] | ConvertTo-CSV | Set-Content extrait_nslookup1.csv}
} [/code:1]
Enfaite avant d'écrire je trie afin d'avoir seulement les lignes qui contiennent Nom et celle juste après.
Donc j'ai rajouté ConvertTo-CSV avant d'écrire dans le fichier. Mais ca ne marche pas.<br><br>Message édité par: FlqX, à: 1/12/11 13:31
Connexion ou Créer un compte pour participer à la conversation.
- LEON
- Hors Ligne
- Membre senior
-
- Messages : 69
- Remerciements reçus 0
Connexion ou Créer un compte pour participer à la conversation.
- Albert
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 38
- Remerciements reçus 0
[code:1]#On extrait les ip du log
$fichier = get-content dns1.log
for ($i=0; $i -lt $fichier.length; $i++){
if($fichier[$i] -match \"172.\"«»)
{$fichier[$i].Substring(58,15)>>extrait_ipdns1.txt}
}
#On trie pour avoir les ip unique
Get-Content extrait_ipdns1.txt| Sort-Object | Get-Unique | Set-Content extrait_ipdns1_unique.txt
#Nslookup pour avoir le nom des machines
Get-Content extrait_ipdns1_unique.txt | Foreach-Object {nslookup $_} | Set-Content nslookup_ipdns1.txt
#On trie de nouveau pour avoir uniquement les machines qui ont répondu
$fichier2 = Get-Content nslookup_ipdns1.txt
for ($i=0; $i -lt $fichier2.length; $i++){
if($fichier2[$i] -match \"Nom\"«»)
{ $fichier2[$i]>>extrait_nslookup1.txt
$fichier2[$i+1]>>extrait_nslookup1.txt }
} [/code:1]
et le fichier qui est généré :
Ce que j'aimerais c'est en sortir un csv avec une colonne contenant les address et une pour les noms.Nom : inan0188.gnancy.local
Address: 172.16.103.219
Nom : ubuntu.gnancy.local
Address: 172.17.100.126
Nom : igdn0165.gnancy.local
Address: 172.17.102.66
Nom : mgdn0775.gnancy.local
Address: 172.18.27.10
Nom : cu0927.gnancy.local
Address: 172.18.27.16
Nom : mgdn0440.gnancy.local
Address: 172.18.27.21
Nom : mgdn0965.gnancy.local
Address: 172.18.27.27
Nom : mgdn0947.gnancy.local
Address: 172.18.27.28
Nom : mgdn0454.gnancy.local
Address: 172.18.27.9
Nom : canon9dca32.gnancy.local
Address: 172.19.102.245
Nom : cu1215.gnancy.local
Address: 172.19.123.3
Nom : canon9dca31.gnancy.local
Address: 172.19.197.1
Nom : inan0105.gnancy.local
Address: 172.19.35.35
Nom : toracle.gnancy.local
Address: 172.21.1.10
Nom : mgdn0328.gnancy.local
Address: 172.21.2.17
Nom : sgnancydns.gnancy.local
Address: 172.21.200.1
Nom : sficcava1.gnancy.local
Address: 172.21.4.6
Nom : sbes.gnancy.local
Address: 172.21.7.9
Nom : isac0001.gnancy.local
Address: 172.23.11.18
Nom : isai0008.gnancy.local
Address: 172.23.11.244
Nom : stat1548.gnancy.local
Address: 172.23.16.10
Nom : stat1549.gnancy.local
Address: 172.23.16.12
Nom : stat1545.gnancy.local
Address: 172.23.16.22
Nom : stat1509.gnancy.local
Address: 172.23.16.23
Nom : stat1530.gnancy.local
Address: 172.23.16.24
Nom : stat1531.gnancy.local
Address: 172.23.16.25
Nom : stat1510.gnancy.local
Address: 172.23.16.26
Nom : stat1544.gnancy.local
Address: 172.23.16.3
Nom : stat1547.gnancy.local
Address: 172.23.16.32
Nom : stat1554.gnancy.local
Address: 172.23.16.4
Nom : stat1555.gnancy.local
Address: 172.23.16.5
Nom : stat1551.gnancy.local
Address: 172.23.16.6
Nom : stat1553.gnancy.local
Address: 172.23.16.7
Nom : blackffox-pc.gnancy.local
Address: 172.23.2.11
Nom : mgdn0918.gnancy.local
Address: 172.23.2.204
Nom : gtcsyn.gnancy.local
Address: 172.23.2.246
Nom : mvan0323.gnancy.local
Address: 172.23.25.94
Nom : stat1537.gnancy.local
Address: 172.23.33.10
Nom : stat1550.gnancy.local
Address: 172.23.33.11
Nom : stat1539.gnancy.local
Address: 172.23.33.2
Nom : stat1556.gnancy.local
Address: 172.23.33.3
Nom : stat1496.gnancy.local
Address: 172.23.33.37
Nom : stat1497.gnancy.local
Address: 172.23.33.39
Nom : stat1540.gnancy.local
Address: 172.23.33.5
Nom : stat1538.gnancy.local
Address: 172.23.33.6
Nom : stat1535.gnancy.local
Address: 172.23.33.62
Nom : stat1557.gnancy.local
Address: 172.23.33.63
Nom : stat1541.pc.gnancy.local
Address: 172.23.33.7
Nom : stat1386.gnancy.local
Address: 172.23.33.8
Nom : stat1533.gnancy.local
Address: 172.23.33.9
La nouvelle piste que j'ai est de créer un tableau et mettre une ligne sur deux dans une colonne du csv mais la encore j'arrive pas à manipuler le csv comme je veux.
Merci de ton aide.
Connexion ou Créer un compte pour participer à la conversation.
- Albert
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 38
- Remerciements reçus 0
Je suis tombé la dessus donc j'essaye de mettre une ',' à chaque fin de ligne avec -join de cette manière :
[code:1]Get-Content extrait_nslookup1.txt | Foreach-Object {$_ -join ',' } | Set-Content extrait_nslookup12.txt[/code:1]
Mais il n'y a aucune virgule nul part, c'est à s'en tirer les cheveux
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- structure un csv