Announcement

Collapse
No announcement yet.

Serverfreigabe auflisten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Serverfreigabe auflisten

    Moin,

    Ich habe eine Anwendung entwickelt, die pro Arbeitsplatz Dateien in zugehörigen Freigabeverzeichnissen eines Servers ablegen.

    Beispiel:
    Anwendung wird von Freddy Kaputtlick auf Arbeitsplatz01 ausgeführt, die erzeugten Dateien werden in der Freigabe Dokumente01 des ServerX abgelegt.
    Anwendung wird von Dietmar Dösig auf Arbeitsplatz05 ausgeführt, die erzeugten Dateien werden in der Freigabe Dokumente05 des ServerX abgelegt.

    Bisher war das also relativ einfach zu mappen, jedoch wird es jetzt andere Namenskonventionen bei uns geben, so dass ein Mapping nicht mehr so einfach ist.

    Ich möchte nun, dass der Benutzer sich einmalig den Speicherort auswählt, um die Dokumente sauber abzulegen.
    Dazu muss ich also alle Freigaben vom ServerX auflisten. Folgende Möglichkeiten habe ich mir dazu überlegt bzw. recherchiert:
    1. Über das Directory-Objekt mit GetDirectories() oder GetFileSystemEntries()
      Leider nicht möglich, da der reine Servername als UNC-Pfad ( \\ServerX ) nicht reicht bzw. ungültig ist.
    2. Ich habe vermeindliche Lösungen gefunden, die System.Management verwenden, also ManagementObject, ManagementScope, usw.
      Diese erfordern aber immer den Administrator-Zugang zu dem Server, was ich in meinem lokalen Tool nicht hinterlegen möchte.
    Daher suche ich nach einer Alternative, finde aber leider nichts dazu, was mich ein wenig erstaunt, denn wenn ich über Directory.GetDirectories(@"\\ServerX\verzeichnis") gehe, bekommt es das Objekt ja hin. Warum gibt es dann keine Möglichkeit, sich alles auf \\ServerX auflisten zu lassen?

    Ich bin wie immer für Hinweise und Tipps dankbar!

    PHP rocks!
    Eine Initiative der PHP Community

  • #2
    Ich habe mir mal eben mit net view über cmd beholfen.
    Das ist nicht schön, aber ausbaufähig und vielleicht kann das ja jemand auch brauchen.

    Ich kann leider den Code hier nicht posten ( kommt immer ein Error 403 ), daher => https://pastebin.com/SXGezrTh
    PHP rocks!
    Eine Initiative der PHP Community

    Comment


    • #3
      "Net View" sollte auch nur auf die NetShareENum API verwenden. Siehe https://www.pinvoke.net/default.aspx...shareenum.html

      Comment


      • #4
        Das schaue ich mir auch mal genauer an. Für den aktuellen Zweck reicht mir das so, aber ich werde mir sicher bestimmt noch ne DLL dazu schreiben, dann kann ich die Info gut brauchen.

        Danke!
        PHP rocks!
        Eine Initiative der PHP Community

        Comment

        Working...
        X