none
Souci d''export PowerShell RRS feed

  • Question

  • Bonjour à tous,

    Je débute en powershell et m'a question va sans doute vous paraitre idiote mais j'ai beau chercher je ne trouve pas ma réponse.

    J'ai besoin de vérifier des enregistrements DNS de plusieurs nom de domaines, j’exécute mon code si dessous :

    $domains = get-content -path C:\Users\User\Dropbox\domaines.txt
     foreach ($element in $domains)
    {
     Resolve-DnsName -server 8.8.8.8 -type SRV _autodiscover._tcp.$($element) | Out-GridView
    }

    Le souci est que ça m'ouvre une fenêtre gridview par nom de domaine de mon fichier txt, comment faire pour avoir l'ensemble des réponses dans une seule fenêtre ?

    J'ai essayé l'export en CSV, seul le dernier nom de domaine remonte dans mon fichier...

    Merci par avance,

    Bonne journée :)

    dimanche 17 juillet 2016 09:38

Réponses

  • Déja le out-gridview ne devrait pas être dans la boucle "foreach". Ta boucle foreach devrait ajouter des valeur àun tableau de résultat.

    Après la boucle tu renvoie ton résultat vers out-gridview.

    Dans ton exemple "out-gridview" est exécuté à chaque boucle.

    En csv chaque boucle écrase ton fichier et à la fin tu n'as que le dernier résultat.

    Ensuite il te faudra compléter la commande "resolve-dnsname" car elle émettra une erreur si l'enregistrement n'existe pas, il faut tester l'erreur  et en tenir compte dans ton résultat.


    • Modifié Philippe BarthMVP dimanche 17 juillet 2016 13:01
    • Marqué comme réponse Wiiika dimanche 17 juillet 2016 13:20
    dimanche 17 juillet 2016 13:01

Toutes les réponses

  • Bonjour

    Votre besoin de vérifier des enregistrements DNS local sur votre serveur DNS du Domaine ou des enregistrements DNS Internet ?

    Merci pour la réponse.

    Cordialement

    dimanche 17 juillet 2016 10:48
  • Bonjour,

    Ce sont des DNS public que je vérifie, je veux contrôler des enregistrements SRV (autodiscover)+ TXT (SPF).

    Cordialement

    dimanche 17 juillet 2016 10:55
  • Déja le out-gridview ne devrait pas être dans la boucle "foreach". Ta boucle foreach devrait ajouter des valeur àun tableau de résultat.

    Après la boucle tu renvoie ton résultat vers out-gridview.

    Dans ton exemple "out-gridview" est exécuté à chaque boucle.

    En csv chaque boucle écrase ton fichier et à la fin tu n'as que le dernier résultat.

    Ensuite il te faudra compléter la commande "resolve-dnsname" car elle émettra une erreur si l'enregistrement n'existe pas, il faut tester l'erreur  et en tenir compte dans ton résultat.


    • Modifié Philippe BarthMVP dimanche 17 juillet 2016 13:01
    • Marqué comme réponse Wiiika dimanche 17 juillet 2016 13:20
    dimanche 17 juillet 2016 13:01
  • Déja le out-gridview ne devrait pas être dans la boucle "foreach". Ta boucle foreach devrait ajouter des valeur àun tableau de résultat.

    Après la boucle tu renvoie ton résultat vers out-gridview.

    Dans ton exemple "out-gridview" est exécuté à chaque boucle.

    En csv chaque boucle écrase ton fichier et à la fin tu n'as que le dernier résultat.

    Ensuite il te faudra compléter la commande "resolve-dnsname" car elle émettra une erreur si l'enregistrement n'existe pas, il faut tester l'erreur  et en tenir compte dans ton résultat.


    Merci pour toutes ces précisions.

    J'ai apporté des modifications suites à vos remarques :

    $Output = @()
    $domains = get-content -path C:\User\Users\Dropbox\domaines.txt
    foreach ($element in $domains)
    {$Output += Resolve-DnsName -server 8.8.8.8 -type srv _autodiscover._tcp.$($element)}
    $Output | Out-GridView

    Désormais mon tableau comporte bien l'ensemble des mes domaines qui possèdent l'enregistrement.

    Merci !

    Bon dimanche

    • Modifié Wiiika dimanche 17 juillet 2016 13:50 MAJ
    dimanche 17 juillet 2016 13:14