Meilleur auteur de réponses
Souci d''export PowerShell

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 :)
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
Toutes les 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
-
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