Question
Synchronisation de 2 DNS - Résolu
- bordin
- Auteur du sujet
- Hors Ligne
- Membre premium
-
- Messages : 88
- Remerciements reçus 0
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.
- daniel soares
- Hors Ligne
- Membre premium
-
- Messages : 133
- Remerciements reçus 0
dans la condition
$_.sideindicator -eq \"=>\"
tu utilises -eq qui est un comparateur numérique
essais plutôt $_.sideindicator -match \"=>\" 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.
- bordin
- Auteur du sujet
- Hors Ligne
- Membre premium
-
- Messages : 88
- Remerciements reçus 0
Hello
dans la condition
$_.sideindicator -eq \"=>\"
tu utilises -eq qui est un comparateur numérique
essais plutôt $_.sideindicator -match \"=>\" 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 \"=>\"}
[/code:1]
Mais HotesAcreer vide!
Merci pour la petite lumière!
Connexion ou Créer un compte pour participer à la conversation.
- bordin
- Auteur du sujet
- Hors Ligne
- Membre premium
-
- Messages : 88
- Remerciements reçus 0
C'est ok pour la comparaison! (-match \"=>\")
A+ pour la suite!
Merci
Connexion ou Créer un compte pour participer à la conversation.
- Robin Lemesle
- Hors Ligne
- Modérateur
-
- Messages : 260
- Remerciements reçus 0
Robin MVP PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- bordin
- Auteur du sujet
- Hors Ligne
- Membre premium
-
- Messages : 88
- Remerciements reçus 0
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 , \",\"}
$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.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Synchronisation de 2 DNS - Résolu