Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

alte DNS Einträge via Script löschen

Frage Entwicklung VB for Applications

Mitglied: 59769

59769 (Level 1)

06.07.2009, aktualisiert 16:10 Uhr, 8914 Aufrufe, 9 Kommentare

Hallo zusammen

Ich habe den Auftrag bekommen, auf unserem DNS Server nach veralteten Einträgen zu suchen und diese allenfalls zu löschen.
Dazu habe ich einen Script gefunden. Leider kenne ich mich mit Scripten absolut nicht aus..
Verstehe ich das falsch oder müsste ich beim ausführen des Scripts nach Servernamen gefragt werden? Oder muss ich den direkt in den Script eintragen?
Und sehe ich das richtig, dass keine Einträge gelöscht werden, wenn ich den Script so ausführe?

Grüsse Mücke

'-------------------------------------------------------------------------
' DNSAge
'
' Beschreibung
' Lieset das alter der DNS Einträge und löscht diese optional
'
' Voraussetzung
' - Ausführender Benutzer ist lokaler Admin auf dem DNS-server
'
' Version 1.0 FC 18. 08.2008
' Version 1.1
' neue Defaults und Inputbox
' Age in Min
' Version 1.2
' Tippfehler, vergessen 6 ;statt, etc korrigiert
' Version 1.3 FC 16.06.2009
' Vergleich war buggy da MaxAge ein String war Clng
' Offen
' Ausgabe "Deleted" ins Eventlog/Logfile
' Ausgabe Status als CSV-Datei
'-------------------------------------------------------------------------

Option Explicit
'~ On Error Resume Next

dim server, domain, maxage
Server=InputBox("Bitte DNS Servername eingeben oder . als localhost","ServerName",".")
' server = "."
domain=InputBox("Bitte DNS Zone eingeben oder leer für alle Einträge","DNSZone","")
' domain = ""
maxage=InputBox("Maximales Alter in Minuten, zum löschen. 0 = nichts löschen","maximales Alter","0")
' maxage = 43200 ' 30 Tage

dim objWMIService, colItems, objItem, timestamp, age
Set objWMIService = GetObject("winmgmts:\\" & SERVER & "\root\MicrosoftDNS")
if DOMAIN = "" then
Set colItems = objWMIService.ExecQuery("Select * FROM MicrosoftDNS_AType",,48)
else
Set colItems = objWMIService.ExecQuery("Select * FROM MicrosoftDNS_AType where DomainName=""" & DOMAIN & """",,48)
end if

WScript.Echo "datetime;status;name;ip;timestamp;age"
For Each objItem In colItems
If objItem.TimeStamp > 0 Then
Timestamp = DateAdd("h", objItem.TimeStamp, "1/1/1601 00:00:00 AM")
age = datediff("n",timestamp,now)
Else
Timestamp = "0"
age = 0
End If
if (clng(age) < clng(maxage)) or (maxage = 0) then
WScript.Echo now & ";"FOUND;" & objItem.OwnerName & ";" & objItem.IPAddress & ";" & Timestamp & ";" & age
else
WScript.Echo now & ";DELETE;" & objItem.OwnerName & ";" & objItem.IPAddress & ";" & age
' objitem.delete_
end if
Next
wscript.echo "Finish"
Mitglied: TsukiSan
06.07.2009 um 16:18 Uhr
Hallo Muecke,

so wie dieser Script aufgebaut ist, mußt du händisch den Servernamen eingeben und "Delete" wird nicht ausgeführt, sondern nur angezeigt.

Gruß
Tsuki
Bitte warten ..
Mitglied: 45877
06.07.2009 um 16:20 Uhr
Hallo,

du kannst dem Windows DNS doch sagen, er soll einträge nach zeit x vergessen...
Bitte warten ..
Mitglied: 59769
06.07.2009 um 16:36 Uhr
Hallo zusammen,

danke erstmals für die schnellen Antworten!

@Tsuki: Muss ich den Servernamen auf einem der folgenden zeilen eingeben?
Server=InputBox("Bitte DNS Servername eingeben oder . als localhost","ServerName",".")
' server = "."
Sorry, hab wirklich keine Ahnung von Scripts...

@45877: Ja, das ist auch so gemacht, aber der Chef will wohl mal checken ob das auch wirklich funktioniert oder
so, dass er mir diesen Auftrag gegeben hat
Bitte warten ..
Mitglied: TsukiSan
06.07.2009 um 16:48 Uhr
Hi Muecke,

Die "Inputbox" öffnet dir ein Eingabedialogfenster.
Bei
"Server = Inputbox("Bitte DNS Servernamen eingeben oder alias localhost","Servername",".") erscheint dir folgendes Eingabefenster:
Fenstertitel: "Servername"
Fensterfrage: "Bitte DNS Servernamen eingeben oder . als localhost"
Eingabefeld: "."
Das heißt, genau an dieser Stelle gibst du den DNS Servernamen ein. Das hast du richtig erkannt!

Du kannst dir mal ein Bild machen davon, indem du dir mal mit dem Texteditor folgenden Script eingibst:
01.
Server=InputBox("Bitte DNS Servername eingeben oder . als localhost","ServerName",".") 
02.
MsgBox Server
dann speichere diese Datei als *.vbs ab und doppelklicke auf diese. Dann bekommst du eine "bildliche Vorstellung von dem ganzen.

Wenn noch Fragen sind, als weiter! VBS ist nicht schwer.

Gruß
Tsuki
Bitte warten ..
Mitglied: 59769
06.07.2009 um 16:58 Uhr
Hallo Tsuki

Dein Beispiel Script funktioniert (mit der Eingabebox).
Bei "meinem" Script bekomme ich aber immer folgende Fehlermeldung: 488aaf7537c05f7c760c762df66a4a79-error - Klicke auf das Bild, um es zu vergrößern
Deshalb dachte ich, ich müsste da was direkt in den Script schreiben...
Bitte warten ..
Mitglied: TsukiSan
06.07.2009 um 17:03 Uhr
Nee, Muecke,
diese Fehlermeldung hat mit dieser Stelle des Progs nichts zu tun.
Kannst du bitte mal den Script komplett eingeben mit
"<code>
dann den Script komplett
"</code"
damit ich mir mal Zeile 52 genauer anschauen kann.
In deinem geposteten steht da "else"
Das paßt nicht

Gruß
Tsuki
Bitte warten ..
Mitglied: TsukiSan
06.07.2009 um 17:11 Uhr
Habs!
In:
WScript.Echo now & ";"FOUND;" & objItem.OwnerName & ";" & objItem.IPAddress & ";" & Timestamp & ";" & age

Fehlt ein "&"
Mus sein:
01.
WScript.Echo now & ";" & "FOUND;" & objItem.OwnerName & ";" & objItem.IPAddress & ";" & Timestamp & ";" & age
Gruß
Bitte warten ..
Mitglied: 59769
06.07.2009 um 17:13 Uhr
Jeisses...aber nein, VBS ist nicht schwer
Vielen tausend Dank, es funktioniert! Ich hätte noch Jahre gesucht nach dem Fehler...
Bitte warten ..
Mitglied: TsukiSan
06.07.2009 um 17:15 Uhr
keine Ursache!

Manchmal sieht man halt den Wald vor Bäumen nicht!
Ging mir eben genauso.

Viel Spaß
Tsuki
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
DNS
gelöst Anydns aktualisiert keine DNS-Einträge (1)

Frage von csw zum Thema DNS ...

Windows Server
gelöst Keine DNS-Einträge vom DHCP-Server im Windows Server 2012 R2 (8)

Frage von jeschero zum Thema Windows Server ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
RODC über VPN - Verbindung weg (10)

Frage von stefan2k1 zum Thema Windows Server ...