IP des UNC-Pfades auslesen und ändern (Netzlaufwerk)

  • VBScript

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von p41n.

    IP des UNC-Pfades auslesen und ändern (Netzlaufwerk)

    Hallo Zusammen,

    Diesmal stehe ich vor folgendem Problem:

    Der Fileserver meines Arbeitgebers soll umziehen, was soweit auch kein Problem darstellt. Ich kopiere die Platte mit Robocopy und sämtlichen Berechtigungen einfach 1:1 auf den neuen Server. Die Freigaben übernehme ich durch den Export und Import des entsprechenden Schlüssels in der Registry.

    Das eigentliche Problem sind jedoch die Netzlaufwerke der Anwender. Um das so einfach wie möglich zu halten, würde ich gerne mit VBS die aktuell verbundenen Laufwerke eines jeden Users auslesen und diese dann mit der neuen IP des Servers wieder verbinden. Die Ordnerstruktur und Freigaben bleiben identisch, so dass sich für den Anwender nicht viel ändert. Nur die IP-Adresse des Servers ändert sich.

    Das Auslesen der Netzlaufwerke ist kein Problem. Das bekomme ich mit "EnumNetworkDrives" problemlos hin. Das Verbinden und Löschen ist mit MapNetworkDrives und RemoveNetworkDrives ebenfalls kein Problem. Nur wie kann ich die IP nach dem Auslesen, ändern und das gleiche Laufwerk wieder mit der neuen IP verbinden?

    Im Prinzip soll das Script folgendes machen:

    1. bestehende Netzlaufwerke auslesen
    2. prüfen, mit welchem Server verbunden
    3. wenn alter Fileserver, dann Laufwerk trennen
    4. gleiches Laufwerk wieder mit neuem Fileserver verbinden

    Wie gesagt; Auslesen, trennen, verbinden stellt kein Problem dar. Knackpunkt ist der Vergleich der IP-Adressen des UNC-Pfades.

    Bin dankbar für jede noch so kleine Hilfe. :)


    Grüße

    p41n
    Es befinden sich um die 100 Anwender an unserem Standort. Zusätzlich noch 7 Server, die unterschiedliche Applikationen bedienen.
    DFS haben wir. Nur das Problem ist die Verwaltung. Teile unserer IT ist ausgelagert und wird von einem Provider administriert.
    Unter anderem haben wir in der lokalen IT keinen Zugriff auf den Domänencontroller, weswegen uns da auch die Hände gebunden sind.

    Da unserem jetzigen Fileserver langsam aber sicher die Resourcen ausgehen, haben wir uns für einen Umzug entschieden.
    Das ist mir durchaus bewusst. Nur besteht das Problem darin, wie ich bereits schrieb, dass unsere administrativen Tätigkeiten/Möglichkeiten am Standort durch die Auslagerung der IT sehr eingeschränkt sind. Ich habe beispielsweise auch keinen Zugriff auf GPOs etc.. pp..

    Daher wollte ich ein allgemeines Script schreiben, welches ich an die Anwender verteilt hätte. Die hätten es nur ausführen müssen und schon wären die Netzlaufwerke wieder wie vorher.
    Mappt ihr die Laufwerke direkt über die IP-Adresse? Oder wozu benötigst du die IP-Adresse?
    Der Name des Servers sollte ausreichen.

    Visual Basic-Quellcode

    1. Set Network = CreateObject("WScript.Network")
    2. Set Drives = Network.EnumNetworkDrives()
    3. For ii = 1 To Drives.Length Step 2
    4. Letter = Drives(ii - 1)
    5. Link = Drives(ii)
    6. Host = Split(Link, "\")(2)
    7. WScript.Echo ii & Letter & Link & Host
    8. Next
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Hi petaod,

    Hast mal wieder genau die richtige Antwort parat.. :thumbsup:

    Vielen Dank für den Codeschnipsel, der mir noch gefehlt hat.

    Was deine Frage betrifft:
    Leider wurden die Laufwerke willkürlich gemappt.
    Manchmal per IP und manchmal per Hostname.

    Unverständlicherweise hat man sich vor meiner Zeit nicht an eine einheitliche Struktur gehalten, was ich aber nun ändern möchte...


    Grüße
    p41n