Question [Résolu] Récupération Adresse IP

Plus d'informations
il y a 9 ans 8 mois #22047 par VIncent
Bonjour à tous,

Débutant je suis en PowerShell, et je commence par un script d'inventaire de mes serveurs.

J'ai réussi à obtenir toutes les infos que j'ai besoin, mais j'ai un problème de sorti au niveau des adresses IP.

Voici mon script :

$credentials = get-credential
$resultsarray =@()
$servers = get-content listesrvtest.txt | where {$_ -ne \"\"}

foreach ($srv in $servers) {

$ListIP = Get-WmiObject -Computername $srv -credential $credentials Win32_NetworkAdapterConfiguration | where {$_.ipenabled -eq \"true\" -and $_.IPAddress -ne \"0.0.0.0\"}| Select-object {$_.IPAddress}

$ListIP | Add-Member -MemberType NoteProperty -Name PCName -Value $srv


$resultsarray += $ListIP

Write-Output \"$srv : Ok\"
}
$resultsarray | Export-csv IP1.csv -notypeinformation -Delimiter \";\" -encoding \"unicode\"



Et la sorti CSV me donne :

\"$_.IPAddress\";\"PCName\"
\"192.168.0.10\";\"Serveur1\"
\"192.168.0.15\";\"Serveur1\"
\"57.200.2.10\";\"Serveur1\"
\"172.31.0.11\";\"Serveur101\"
\"192.168.0.16\";\"Serveur101\"
\"192.168.2.20\";\"Serveur101\"


Mais pour pourvoir gérer dans des fichiers excel par la suite, je cherche à avoir une sortie de ce type :

\"Serveur1\";\"192.168.0.10\";\"192.168.0.15\";\"57.200.2.10\"
\"Serveur101\";\"172.31.0.11\";\"\"192.168.0.16\";\"192.168.2.20\"


Merci par avance pour votre aide....<br><br>Message édité par: Arnaud, à: 31/08/16 15:50

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

Plus d'informations
il y a 9 ans 8 mois #22067 par Philippe
Réponse de Philippe sur le sujet Re:Récupération Adresse IP
salut Vince#91

J'ai réussi à obtenir toutes les infos que j'ai besoin, mais j'ai un problème de sorti au niveau des adresses IP.

ta question date d'une semaine, j'espère que tu a déjà trouvé une solution
sinon j'ai une solution ci dessous :

Mais pour pourvoir gérer dans des fichiers excel par la suite, je cherche à avoir une sortie de ce type :

tu veux toutes les adresses ip d'un serveurs sur une seul ligne mais sur plusieurs colonne dans excel
attention chaque interface peut avoir plusieurs adresse ip et tu peut avoir plusieurs interface (carte réseau) par serveur
c'est donc un tableau de tableaux que du doit géré d'où le double foreach dans mon script

j'ai donc créé un objet list que j'utilise comme tu la fait avec un seul member pour la propriété IPaddress et j'ai un peu rusé avec le séparateur pour que excel puisse voir plusieurs colonne !!!

[code:1]
$credentials = get-credential
$separateur = \&quot;;\&quot;
$resultsarray = @()
$servers = get-content listesrvtest.txt | where {$_ -ne \&quot;\&quot;}
foreach ($srv in $servers) {

$ok = 0
Get-WmiObject -Computername $srv -credential $credentials Win32_NetworkAdapterConfiguration | where {$_.ipenabled -eq \&quot;true\&quot; -and $_.IPAddress -ne \&quot;0.0.0.0\&quot;} | foreach {$_.IPAddress} | foreach {
if ($ok) {
$listIP += \&quot;$separateur $($_)\&quot;
}
else {
$listIP = \&quot;$($_)\&quot;
}
$ok = 1
}

$list = New-Object -TypeName PSObject
$List | Add-Member -MemberType NoteProperty -Name PCName -Value $srv
$List | Add-Member -MemberType NoteProperty -Name IPAddress -Value $listIP


$resultsarray += $List

Write-Output \&quot;$srv : Ok\&quot;
}
$resultsarray | Export-csv IP1.csv -notypeinformation -Delimiter $separateur -encoding \&quot;unicode\&quot;
[/code:1]

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

Plus d'informations
il y a 9 ans 8 mois #22088 par VIncent
Réponse de VIncent sur le sujet Re:Récupération Adresse IP
Bonjour 6ratgus, et surtout merci !!

Le script marche très bien et fait exactement ce que j'ai besoin.

j'ai pu le rajouter dans mon script d'inventaire.

J'ai une petite question, est ce qu'il est possible de modifier la sortie afin de mettre une IP par cellule, car lors de l'intégration du CSV dans Excel on obtient toutes les IP dans une seul cellule..

Sortie CSV :
\&quot;srv01\&quot;;\&quot;192.31.4.155; 192.168.146.2; 192.168.48.100\&quot;

Du coup sorti Excel :
PCName IPAddress
srv01 192.31.4.155; 192.168.146.2; 192.168.48.100

Merci encore de ton aide !!

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

Plus d'informations
il y a 9 ans 8 mois #22090 par Philippe
Réponse de Philippe sur le sujet Re:Récupération Adresse IP

J'ai une petite question, est ce qu'il est possible de modifier la sortie afin de mettre une IP par cellule, car lors de l'intégration du CSV dans Excel on obtient toutes les IP dans une seul cellule..

c'était sensé le faire
mais je suis vraiment pas doué pour les objets !!!!

une autre approche :

[code:1]$separateur = \&quot;;\&quot;
$credentials = get-credential
$resultsarray = @()
$servers = get-content listesrvtest.txt | where {$_ -ne \&quot;\&quot;}

$resultsarray = foreach ($srv in $servers) {
$list = New-Object -TypeName PSObject
$List | Add-Member -MemberType NoteProperty -Name PCName -Value $srv
$ind = 1
Get-WmiObject -Computername $srv -credential $credentials Win32_NetworkAdapterConfiguration | where {$_.ipenabled -eq \&quot;true\&quot; -and $_.IPAddress -ne \&quot;0.0.0.0\&quot;} | foreach {$_.IPAddress} | foreach {
$List | Add-Member -MemberType NoteProperty -Name \&quot;IPAddress$ind\&quot; -Value $_
$ind++
}

$List | select PCName, IPAddress1, IPAddress2

Write-host \&quot;$srv : Ok\&quot;
}
$resultsarray | Export-csv c:\IP1.csv -notypeinformation -Delimiter $separateur -encoding \&quot;unicode\&quot;
[/code:1]

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

Plus d'informations
il y a 9 ans 8 mois #22091 par VIncent
Réponse de VIncent sur le sujet Re:Récupération Adresse IP
TOP !!!! :woohoo:

Merci beaucoup de ton aide !!!!!!

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

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