Announcement

Collapse
No announcement yet.

Netzlaufwerk verbinden, wenn die Anwendung als Dienst läuft

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

  • Netzlaufwerk verbinden, wenn die Anwendung als Dienst läuft

    Hallo, ich habe eine Anwendung, die als Dienst läuft. Gibt es eine Möglichkeit, Netzlaufwerke zu verbinden, auch wenn sich kein Benutzer anmeldet?
    Der Dienst wird ja auch gestartet, wenn der Anmeldebildschirm noch sichtbar ist.

    Danke im voraus

  • #2
    Hallo,

    wozu soll das gut sein? Die "Krücke" eines Netzlaufwerk-Buchstabens wird doch nur verwendet, damit der Anwender etwas "Vertrautes" sieht. Wenn ein Programm auf eine Netzwerk-Ressource zugreifen soll, ist das direkt über die UNC-Syntax (Bsp: <i>\\P4W2K\C_AppServer\Daten</i> alias <i>\\Rechnername\Freigabename\Verzeichnisname</i>) möglich (ohne das vorher eine "Krücke" angelegt wird)

    Comment


    • #3
      Das erkläre mal eingefleischten Programmierern die seit Urzeiten Novel und DOS gewöhnt sind.<br>

      Du kannst dir nicht vorstellen wie ich gepredigt und gezetert habe. Sogar heute basteln sie lieber ein Net Script und verbinden Laufwerke und Laufwerke und Laufwerke, statt mit UNC Namen zu arbeiten.<br>
      So einfach scheint also die Sache nicht zu sein

      Gruß Hage

      Comment


      • #4
        Hallo Hagen,

        &gt;..Novel und DOS ..

        das wäre eine Erklärung, denn derart alte Erfahrungen sind ja so fest verinnerlicht, dass neue Infos keine Change haben :-)

        P.S: Kurz nach dem Erscheinen des .NET Frameworks befasste sich ein Artikel mit der "gravierenden Lücke" im Framework, da dort keine direkte Klasse für das Mappen der Laufwerksbuchstaben vorgesehen wurde. Als "Workaround" wurde der Windows Scripting Host vorgeschlagen, damit die vorgestellte .NET-Anwendung (C#) eine Datei auf den Server kopieren konnte. An dem Sprichwort "Man sieht den Wald vor lauter Bäumen nicht" ist schon was dran :-

        Comment


        • #5
          @.NET: wie peinlich für den Author. Ich hoffe nicht du hast diesen Artikel geschrieben <br>

          Ok, zur Verteidigung muß ich zugeben das der Zugriff auf eine Netzwerkresource über gemappte Laufwerke scheinbar schneller ist als über UNC's. Aber dies liegt nicht an den UNC's sondern am Explorer.

          Gruß Hage

          Comment


          • #6
            @Herrn Kosch,

            wie verhält es sich aber, wenn die Netzwerkcomputer keiner Domäne angehören und unter verschiedenen Benutzernamen und Passwörtern angemeldet sind?
            Bei der "Laufwerk-Buchstaben-Krücke" kann Benutzername und Paßwort angegeben werden.

            Falko Mülle

            Comment


            • #7
              Hallo,

              guter Versuch - aber das ist nicht wirklich ein Grund für die Krücke ;-)

              Über die Win32-API-Funktionen <b>LogonUser</b> und <b>ImpersonateLoggedOnUser</b> kann sich der aktuelle Prozess die Rechte eines bestimmten Benutzerkontos verschaffen:
              <pre>

              var
              szBuffer : array[0..63] of Char;
              dwSize : DWORD;
              phToken : THandle;
              bRet : LongBool;
              begin
              // Login als lokaler Administrator
              if LogonUser('Administrator', 'P4W2K', '<Passwd>',
              LOGON32_LOGON_BATCH,
              LOGON32_PROVIDER_DEFAULT, phToken) then
              begin
              bRet := ImpersonateLoggedOnUser(phToken);
              dwSize := SizeOf(szBuffer);
              GetUserName(szBuffer, dwSize);
              ShowMessage('GetUserName:' + szBuffer);
              //
              // mit vollen Rechten irgend etwas machen
              //
              bRet := RevertToSelf;
              GetUserName(szBuffer, dwSize);
              ShowMessage('GetUserName:' + szBuffer);
              end;
              end;
              </pre&gt

              Comment

              Working...
              X