Question Synchronisation de 2 DNS - Résolu

Plus d'informations
il y a 17 ans 5 mois #2836 par bordin
Salut à tous Powershellers!
Je travail actuellement sur la possibilité d'automatiser la synchronisation de 2 serveurs DNS.
En fait un DNS interne et un DNS internet.
Je me base sur 2 fichiers contenants les Hotes.
Brute de coffrage j'ai pondu un bout de code qui me donne des résultats pas mal!
j'ai procédé de la sorte:
- Récupération des 2 listes (interne et internet) via nslookup
- Suppression des informations telles que (nom domaine, hotes locaux) par
[code:1](type $FicHotesRef) -notmatch $DomLocal | out-file $FicTmpHotesRef
(type $FicTmpHotesRef) -notmatch $ReseauLocal | out-file $FicTmpHotesRef -force
[/code:1]

Je voudrai récupérer les hotes nouveaux (DNS internet) pour les créés en local et mettre à jour ceux existants avec l'ip des hotes internet qui auraient changés.

[code:1]$NewHotes=Compare-Object $HotesRef $HotesDif | where { $_.sideindicator -eq \"=>\"} | sort -descending
[/code:1]
Mais déjà, je n'ai rien pour $newHotes?
Sinon est ce qlq'1 a bossé sur ce sujet?

Merci pour votre aide!
cdt<br><br>Message édité par: camilleB , à: 6/10/08 14:00

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

Plus d'informations
il y a 17 ans 5 mois #2837 par daniel soares
Réponse de daniel soares sur le sujet Re:Synchronisation de 2 DNS
Hello
dans la condition
$_.sideindicator -eq \&quot;=&gt;\&quot;

tu utilises -eq qui est un comparateur numérique
essais plutôt $_.sideindicator -match \&quot;=&gt;\&quot; pour vérifier si ta chaine de caractère est présente dans la variable.

Pour la synchro DNS je ne suis pas un spécialiste
tu veux que le dns interne puisse résoudre les adresses internet? dans ce cas la solution de forward propre au DNS n'est elle pas plus simple?

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

Plus d'informations
il y a 17 ans 5 mois #2849 par bordin
Réponse de bordin sur le sujet Re:Synchronisation de 2 DNS
Dan écrit:

Hello
dans la condition
$_.sideindicator -eq \&quot;=&gt;\&quot;

tu utilises -eq qui est un comparateur numérique
essais plutôt $_.sideindicator -match \&quot;=&gt;\&quot; pour vérifier si ta chaine de caractère est présente dans la variable.

Pour la synchro DNS je ne suis pas un spécialiste
tu veux que le dns interne puisse résoudre les adresses internet? dans ce cas la solution de forward propre au DNS n'est elle pas plus simple?


Salut,
En fait le nom du domaine en local et internet correspondent! Même en ayant la récusivité et les redirecteurs activés çà ne marche pas! Donc on est obligé de créer et updater à chaque fois les hotes en interne!
La société était isolé à l'époque!!

Sinon j'ai fait comme tu le l'avais conseillé, résultat mieux!
[code:1]$ResultCompare=Compare-Object $HotesRef $HotesDif | sort -descending
$HotesACreer= $ResultCompare | where {$_.sideindicator -match \&quot;=&gt;\&quot;}
[/code:1]
Mais HotesAcreer vide!
Merci pour la petite lumière!

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

Plus d'informations
il y a 17 ans 5 mois #2851 par bordin
Réponse de bordin sur le sujet Re:Synchronisation de 2 DNS
Salut,
C'est ok pour la comparaison! (-match \&quot;=&gt;\&quot;)
A+ pour la suite!

Merci

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

Plus d'informations
il y a 17 ans 5 mois #2859 par Robin Lemesle
Réponse de Robin Lemesle sur le sujet Re:Synchronisation de 2 DNS
Le problème est résolu camille ?

Robin MVP PowerShell

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

Plus d'informations
il y a 17 ans 5 mois #2862 par bordin
Réponse de bordin sur le sujet Re:Synchronisation de 2 DNS
:blush:
Désolé, oui c'est résolu pour une partie!

Mais je suis confronté à un autre souci!
Je recherche une solution pratique afin de faire la comparaison correcte de 2 fichiers contenant les informations DNS. 1 premier généré par NSLOOKUP et l'autre par DNSCMD
LEs lignes sont au format:
cas1. pour nslookup : NOMSRV A IP
cas2. pour dnscmd : NOMSRV TTL A IP
j'ai besoin de supprimer tous les espaces inutiles dans chaque ligne dans le cas1. En faisant un Trim ne suffit pas! Auriez vous une astuce svp?
Est-ce qu'il serait plus simple de travailler avec des fichiers csv?

Merci!

Exemple:
[code:1]function ConvertTXT ($FicEntree,$StringASupp,$FicSortie){
$LesLignes=(Get-Content $FicEntree)
Remove-Item $FicEntree -Force
foreach ($ligne in $LesLignes){
$lstring=$ligne.ToString()
if ($lstring.Length -gt 1) {
$ltrim=$lstring.TrimStart()
$Match= $ltrim -match $stringASupp
if ($match) {$ltrim=$ltrim -replace $stringASupp , \&quot;,\&quot;}

$ltrim | Out-File $FicSortie -Append
}
}
}[/code:1]

[code:1]$StringASupp='3600\sA\s'
convertTxt $FicTmpHotesLocal $StringASupp $FicTmpHotesLocal
$StringASupp='A\s'
convertTxt $FicTmpHotesInternet $stringASupp $FicTmpHotesInternet[/code:1]
Message édité par: camilleB , à: 29/09/08 16:17<br><br>Message édité par: camilleB , à: 29/09/08 16:24

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

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