none
DNS Host(A) Einträge remote via Powershell Script löschen. RRS feed

  • Frage

  • Hallo allerseits,

    wie kann ich es realisieren, dass DNS Hosteinträge auf einem Windows Server 12 per PS Script gelöscht werden.

    Hierzu soll der Administrator das Script auf seinem Win7 Client ausführen, zunächst den bekannten Hostnamen des Clients eingeben können und so den entsprechenden Eintrag auf dem DNS Server löschen.

    Es ist hier etwas umständlich sich immer in einem solchen Fall remote auf den DNS Server zu verbinden, den Namen in den Forward Lookup Zonen zu suchen und händisch zu löschen. Das kann man sicherlich einfacher lösen.

    RSAT Tools für Windows Server 2008 sind auf den Win7 Cleints der Administratoren installiert.

    Welche Komponeneten sind hierzu weiterhin nötig. Der DNS Server ist wie gesagt ein 2012 Server. Powershell 3.0 ist auf den Clients vorhanden. Hat hier jemand eine spontane Idee hierzu?

    Wäre klasse wenn ihr mir helfen könntet und ein paar Tips!! Danke euch im Voraus.

    (Sorry ich bin erst im ersten Kapitel des Weltner Buches zur Powershell 3 :-) )

    Dienstag, 26. November 2013 12:05

Antworten

  • Recht einfach, braucht aber die RSAT Tools von 2012. Falls diese auf dem Client nicht installierbar sind, ist PowerShell Remoting eine Alternative:

    PS C:\> Get-DnsServerResourceRecord -Name foo -RRType A -ZoneName test2.net
    
    HostName                  RecordType Timestamp            TimeToLive      RecordData
    --------                  ---------- ---------            ----------      ----------
    foo                       A          0                    01:00:00        10.0.0.1
    
    
    PS C:\> Remove-DnsServerResourceRecord -ZoneName test2.net -Name foo -RRType A -Force


    -Raimund

    • Als Antwort markiert Caps-Lock Dienstag, 26. November 2013 15:48
    Dienstag, 26. November 2013 12:18

Alle Antworten

  • Recht einfach, braucht aber die RSAT Tools von 2012. Falls diese auf dem Client nicht installierbar sind, ist PowerShell Remoting eine Alternative:

    PS C:\> Get-DnsServerResourceRecord -Name foo -RRType A -ZoneName test2.net
    
    HostName                  RecordType Timestamp            TimeToLive      RecordData
    --------                  ---------- ---------            ----------      ----------
    foo                       A          0                    01:00:00        10.0.0.1
    
    
    PS C:\> Remove-DnsServerResourceRecord -ZoneName test2.net -Name foo -RRType A -Force


    -Raimund

    • Als Antwort markiert Caps-Lock Dienstag, 26. November 2013 15:48
    Dienstag, 26. November 2013 12:18
  • Habe zur Zeit keinen Server 2012 deshalb kann ich das nicht testen.

    Es gibt in der PowerShell eine Technik die neennt sich Impizites Remoting.
    Damit kann man von einen neueren Server eine Module Laden das man auf dem (älteren) Windows Client System aus Versionsgründen nicht Installieren kann.

    Siehe hier:

    http://technet.microsoft.com/en-us/magazine/ff720181.aspx

    http://windowsitpro.com/blog/powershell-implicit-remoting-never-install-module-again


    PowerShell Artikel, Buchtipps und kostenlose PowerShell Tutorials + E-Books
    auf der deutschsprachigen PowerShell Community

    Mein 21 Teiliger PowerShell Video Grundlehrgang
    Deutsche PowerShell Videos auf Youtube
    Folge mir auf:
    Twitter | Facebook | Google+

    Dienstag, 26. November 2013 12:26
  • Achtung bei Remoting! DNS Management ist ein Remote Call und somit wird es von einer Remote PowerShell jeder Art nicht möglich sein, es sei denn, die Remote Session geht gegen einen Domain Controller (weil Trusted for Delegation).

    Eine andere Option ist CredSSP

    Multi-Hop Support in WinRM http://msdn.microsoft.com/en-us/library/ee309365(v=vs.85).aspx


    -Raimund

    Dienstag, 26. November 2013 12:31
  • So jetzt habe ich wieder mal etwas Zeit das Thema noch einmal aufzurollen :-)

    Mit einer mmc Konsole mit Admin Rechten und installierten RSAT Tools für Win7 ist es ja auch ohne weiteres möglich über das DNS Snap-in die Einträge händisch REMOTE zu löschen, da muss es doch auch mit der Powershell remote möglich sein.

    Ich habe es nicht hinbekommen. Natürlich funktioniert das ganze sehr hübsch wie Raimund es beschrieben hat.

    PS C:\> Get-DnsServerResourceRecord -Name foo -RRType A -ZoneName test2.net
    
    HostName                  RecordType Timestamp            TimeToLive      RecordData
    --------                  ---------- ---------            ----------      ----------
    foo                       A          0                    01:00:00        10.0.0.1
    
    
    PS C:\> Remove-DnsServerResourceRecord -ZoneName test2.net -Name foo -RRType A -Force

    Aber leider remote NUR auf Windows 8 mit installierten RSAT Tools für W2K12, wie auch schon erwähnt.
    Die betroffenen Admins arbeiten jedoch nunmal mit Windows 7 Maschinen. Nun ja, jetzt könnten natürlich alle Admins, wie oben erwähnt, die Einträge mittels DNS Snap der mmc Konsole den jeweiligen Host(A) Eintrag aus den ForwardLookup Zonen suchen und löschen. So weit so gut, nur ist das eben zu umständlich und soll, wie für Doofe, mittels Eingabe des bekannten Hostnamens des zu löschenden Clients,
    via Script erfolgen. Mir ist es auch egal ob via Powershell oder VBScript o.ä. hauptsache simpel und schnell :-)

    Nochmal zur Funktion:

    - Der DNS Name des zu löschenden Hosts ist bekannt 
    - Der Admin öffnet auf seinem Windows 7 Client ein Script und wird aufgefordert den DNS Namen des zu
      löschenden Clients einzugeben.
    - Der Admin gibt den Namen ein z.b.test1
    - Der DNS Eintrag wird auf dem DNS Server (auch Domaincontroller) gelöscht und der Admin erhält
      die Meldung dass der Eintrag gelöscht wurde

    So hätte ich es gerne!! Mir kann doch keiner erzählen, dass keiner von den Profis hier weiß, wie so etwas zu realisieren ist!! Das muss doch irgendwie gehen. Ich weiß leider nicht wie ich da ansetzen könnte, darum wäre eine ausführliche Erklärung wirklich klasse und nett.

    Schonmal und nochmal meinen herzlichsten Dank für die Hilfe




    • Bearbeitet KepptnAhab Dienstag, 7. Januar 2014 16:00
    Dienstag, 7. Januar 2014 15:22