IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Récuperer tous les informations de ipconfig


Sujet :

Scripts/Batch

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut Récuperer tous les informations de ipconfig
    Bonjour,

    Je me permets de vous contacter, que je souhaite faire un petit script qui me permet d'avoir les informations de ma carte réseau à l'aide de ipconfig.

    j'ai trouvé cette commande mais je ne sais pas est ce que la bonne ou pas.
    PS C:\> Get-IPInfos

    Merci

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Get-IPConfig (Powershell)


    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    # ==========================================================
     
    # Get-IPConfig.ps1
     
    # Made By : Assaf Miron
     
    #  http://assaf.miron.googlepages.com
     
    # Description : Formats the IP Config information into powershell
     
    # ==========================================================
    Get-IPConfig
     
    function Get-IPConfig{
     
    param ( $RemoteComputer="LocalHost",
     
     $OnlyConnectedNetworkAdapters=$true
     
      )
     
     
    gwmi -Class Win32_NetworkAdapterConfiguration -ComputerName $RemoteComputer | Where { $_.IPEnabled -eq $OnlyConnectedNetworkAdapters } | Format-List @{ Label="Computer Name"; Expression= { $_.__SERVER }}, IPEnabled, Description, MACAddress, IPAddress, IPSubnet, DefaultIPGateway, DHCPEnabled, DHCPServer, @{ Label="DHCP Lease Expires"; Expression= { [dateTime]$_.DHCPLeaseExpires }}, @{ Label="DHCP Lease Obtained"; Expression= { [dateTime]$_.DHCPLeaseObtained }}
     
    }

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    Merci pour t'as réponse, c'est hyper gentil de ta part.

    Quand j'ai lancée le script s'a m'affiche une erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Le terme «*Get-IPConfig*» n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme ex
    écutable. Vérifiez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est correct et
    réessayez.+ Get-IPConfig <<<<
        + CategoryInfo          : ObjectNotFound: (Get-IPConfig:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException
    C'est ma version de Powershell qui reconnait pas le GET-IPCONFIG ?

  4. #4
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par hackmed Voir le message
    Merci pour t'as réponse, c'est hyper gentil de ta part.

    Quand j'ai lancée le script s'a m'affiche une erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Le terme «*Get-IPConfig*» n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme ex
    écutable. Vérifiez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est correct et
    réessayez.+ Get-IPConfig <<<<
        + CategoryInfo          : ObjectNotFound: (Get-IPConfig:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException
    C'est ma version de Powershell qui reconnait pas le GET-IPCONFIG ?
    Exécutez cette commande pour savoir la version de votre Powershell :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $PSVersionTable.PSVersion
    Ma version est :
    Major Minor Build Revision
    ----- ----- ----- --------
    2 0 -1 -1
    Chez moi le 1er script marche très bien

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par hackoofr Voir le message
    Exécutez cette commande pour savoir la version de votre Powershell :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $PSVersionTable.PSVersion
    Ma version est :

    Chez moi le 1er script marche très bien

    Wow , même cette commande il la reconnait pas sous win 7 . j vais essaye de me connecter sur SR 2012 je te tiens au courent tout de suite.

    Merci

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    re, même probleme pour windows SRV 2012, il reconnait meme pas VersionTable.Version, ni celle du ipconfig.

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par hackmed Voir le message
    re, même probleme pour windows SRV 2012, il reconnait meme pas VersionTable.Version, ni celle du ipconfig.
    Nom : probleme6.png
Affichages : 2158
Taille : 26,8 Ko

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    j'ai trouvé cette commande, sa marche nickel en serv 2012 : la commande estpar contre quand je le met dans un fichier sa marche pas, dans le terminal sa marche !

    Je sais pas du tous pourquoi

  9. #9
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par hackmed Voir le message
    Je sais pas du tous pourquoi
    tes lecteurs non plus, car tu ne donnes aucun message d'erreur.
    Ce cmdlet est dans un module, vérifie s'il est bien chargé AVANT d'utiliser le cmdlet.

    Concernant l'erreur de Get-IPConfig, tu ne peux utiliser pas une fonction avant de l'avoir déclarée...

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    j'ai réussi à le faire merci, c'était une fautte de frappe de chez moi . merci bcp

    Une autre chose svp, c'est que je voudrai envoyer le résultat de cette commande par email comme body, ma fonction sa marche nickel, tous mon script marche bien.

    j'ai essaye de prendre la fonction du Mr hackoofr , j'ai modifie quelque truque que j'aurai besoin, mais je reçois pas le résulat par mail. dans l'affichage du terminal marche bien, mais avec wite-host à la place du status
    surement j'ai un problème au niveau de mon code pour l'envoie de résultat.

    Nom : probleme4.png
Affichages : 2064
Taille : 90,9 Ko

  11. #11
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par hackmed Voir le message
    surement j'ai un problème au niveau de mon code pour l'envoie de résultat.
    Utilise des fonctions pour simplifier le code et Write-Debug pour tracer son exécution.

  12. #12
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mai 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 61
    Points : 37
    Points
    37
    Par défaut
    Bonjour,

    Merci pour t'as réponse, c'est gentil de t'as part.
    En faite, j'ai changé quasi totalement le script, mais le même principe avec des fonction pour simplifier, et j'aurai même résultat

    le problème c'est que toujours pas avoir le résultat de mon script par email, juste dans le terminal. Surement, y'a des truques à rajouter au niveau du code genre $body=$result | Out-String, pour avoir la sortie vers email. Mais je n'arrive pas à le faire.

    Voici ci-joint le script de test + resultat dans le terminal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    
    # Script functional when i execute a code, i have a result in my terminal 
    
    [cmdletbinding()]
    param (
     [parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]
        [string[]]$ComputerName = $env:computername
    )            
    begin {}
    process {
     foreach ($Computer in $ComputerName) {
      if(Test-Connection -ComputerName $Computer -Count 1 -ea 0) {
       $Networks = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $Computer | ? {$_.IPEnabled}
       foreach ($Network in $Networks) {
        $IPAddress  = $Network.IpAddress[0]
        $SubnetMask  = $Network.IPSubnet[0]
        $DefaultGateway = $Network.DefaultIPGateway
        $DNSServers  = $Network.DNSServerSearchOrder
        $MACAddress  = $Network.MACAddress
    	$DHCPServer  = $Network.DHCPServer
        $DNSDomain  = $Network.DNSDomainSuffixSearchOrder
        
    	$OutputObj  = New-Object -Type PSObject
        $OutputObj | Add-Member -MemberType NoteProperty -Name IPAddress -Value $IPAddress
        $OutputObj | Add-Member -MemberType NoteProperty -Name SubnetMask -Value $SubnetMask
        $OutputObj | Add-Member -MemberType NoteProperty -Name Gateway -Value $DefaultGateway
        $OutputObj | Add-Member -MemberType NoteProperty -Name DNSServers -Value $DNSServers
        $OutputObj | Add-Member -MemberType NoteProperty -Name MACAddress -Value $MACAddress
        $OutputObj | Add-Member -MemberType NoteProperty -Name DHCPServer -Value $DHCPServer
    	$OutputObj | Add-Member -MemberType NoteProperty -Name DNSDomain -Value $DNSDomainSuffixSearchOrder
    	$OutputObj |
    	
       }
      }
     }
    }            
    end {}
    
    # function send email 
    $user = "achraf@code42.fr"
    $pass = ConvertTo-SecureString -String "mypassword" -AsPlainText -Force
    $cred = New-Object System.Management.Automation.PSCredential $user, $pass
    
    $email = @{
                        To = "alerte@code42.fr"
                        From = "achraf@code42.fr"
                        Subject = "Auto-Test Script Windows"
                        #Body = $body
                        SmtpServer = "127.0.0.1"
                        #port = 587
                        Credential = $cred
                        #UseSsl = $true
                    }
                    
                    Send-MailMessage @email
                        #-UseSsl
    Nom : ip.png
Affichages : 2027
Taille : 4,4 Ko

  13. #13
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Valide déjà l'envoi de mail avec $Body ="Test".

    Là tu es en train de faire un truc qui tombera en marche. Ce que tu veux réaliser c'est le b.a-BA en Powershell.
    Commence par le début, il te faut comprendre le pipeline, la notion de portée, des variables et le fonctionnement d'une fonction (paramètres d'entrée et de 'sortie').

    Dans ton exemple tu utilises $Body (qui le crée ?) en dehors du bloc process (connais-tu son rôle ?).
    Si tu découpes ce sera plus facile:
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $Body=Get-Info
     Write-Debug "Body = $Body" 
    Send-mail -Body $Body

Discussions similaires

  1. Récuperer tous les id d'une page
    Par enok37 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 01/04/2017, 13h04
  2. Récuperer tous les ID d'une Grid
    Par le_sonic dans le forum Ext JS / Sencha
    Réponses: 2
    Dernier message: 01/10/2010, 11h22
  3. récuperer tous les noms machine d'un réseau
    Par aymen14 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 07/06/2008, 23h12
  4. Récuperer tout les informations contenu dans ma JSP
    Par skillipo dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 19/02/2008, 16h34
  5. Ne récuperer que les informations d'un mois précis
    Par eown dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 17/12/2007, 18h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo