Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 9028 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 ..
Ähnliche Inhalte
Windows Server
DNS Windows Server 2008R2 alte DNS Einträge löschen lassen (3)

Frage von WinLiCLI zum Thema Windows Server ...

Windows Netzwerk
gelöst Wie DNS Einträge löschen außer durch flushdns (16)

Frage von f.reisenhauer zum Thema Windows Netzwerk ...

Microsoft Office
gelöst Mit Excel einen Termin in Outlook erzeugen + löschen alter Einträge (6)

Frage von misau70 zum Thema Microsoft Office ...

Microsoft
Registry Einträge Löschen (Skript) (4)

Frage von Shnuuu zum Thema Microsoft ...

Neue Wissensbeiträge
Viren und Trojaner

Ransomware or Wiper? RedBoot Encrypts Files but also Modifies Partition Table

Information von BassFishFox zum Thema Viren und Trojaner ...

Notebook & Zubehör

WOL bei HP Notebooks

(6)

Erfahrungsbericht von Henere zum Thema Notebook & Zubehör ...

LAN, WAN, Wireless

Neue Cisco Catalyst-Serie 9000

Information von Kuemmel zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Windows 10
Netzwerkkarte schaltet sich erst nach dem Logon ein (23)

Frage von DerWoWusste zum Thema Windows 10 ...

Windows Server
Seit IP Umstellung DC DNS Fehler (18)

Frage von Yaimael zum Thema Windows Server ...

Netzwerke
Mobile Einwahl IPSec VPN von iPhone iPad T-Mobile zur Pfsense (16)

Frage von Spitzbube zum Thema Netzwerke ...

Weiterbildung
gelöst Fest angestellter Admin oder Systemhaus Admin mit Kundenbetreuung? (15)

Frage von Voiper zum Thema Weiterbildung ...