Results 1 to 7 of 7

Thread: Netwerkshare benaderen voordat de gebruiker er met de verkenner is ingelogd

  1. #1

    Netwerkshare benaderen voordat de gebruiker er met de verkenner is ingelogd

    Hallo,

    Ik heb dit probleem met zowel Delphi,VbB6 en C#
    Als ik vanuit mijn programma een netwerkshare probeer te benaderen lukt dit niet voordat de gebruiker eerst
    met de verkenner naar die share bladerd. Ik verwacht dat Windows dan met de opgeslagen credentials inlogt en dat het daarna ok is.
    Als de verkenner wordt geopend zie je de share ook eerst met een rood kruis tot dat je er op klikt
    Name:  netwerkshare.png
Views: 195
Size:  2.6 KB

    Weet iemand hoe ik dit kan oplossen zonder dat ik vanuit mijn programma met credential moet inloggen?
    Ik kan mij alleen bedenken om voor dat ik de share met mijn programma benader eerst met shellexecute de shared folder te openen maar weet iemand een betere manier ?

    Gr,
    Fonzie

  2. #2
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    9,747
    Wat losse flodders:

    • Klassiek is geloof ik diskfree voor de driveletter opvragen. Er was daar wat mee, er was makkelijker met errors om te gaan.
    • Enumereren met wmi en kijken of ie dan autoconnect
    • autoconnect disabelen, Eenmalig: net config server /autodisconnect=-1 en reboot ?

  3. #3
    Hoi Marco,

    Ik ben er mee aan het stoeien geweest maar met diskfree en een wmi functie waarbij ik de folder uitlees (wat dus niet lukt) wordt er ook niet aangemeld.
    Met NET wil ik het niet oplossen omdat ik daarbij bang ben dat ik het systeem van de gebruiker door de war gooi en deze zal waarschijnlijk ook admin rechten nodig hebben.

    Overigens heb ik ondekt dat shellexecute ook niet werkt met zowel direct de share in shellexecute alsmede start *netwerkshare* of explorer *netwerkshare*
    Het lijkt er dus op dat de aanmelding pas plaats vind als de gebuiker vanuit de explorer op driveletter klikt met het rode kruis er door, en met de shellexecute wordt deze clickevent niet getriggerd.

  4. #4
    Werkt het wel om voor een bestaande share opnieuw de net use te doen? Die heeft geen admin nodig en misschien dat die werkt zonder wachtwoord als deze reeds bestaat.

    net use \\< computername >\< sharename >

    Als dat werkt zou dit waarschijnlijk ook in code kunnen.

  5. #5
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    9,747
    De api versie van net use is geloof ik wnetaddconnection2. Misschien daarvan en aanpalende functies MSDN eens uitpluizen.

    Dit heb ik nog uit een ouder programma:

    Delphi Code:
    1. function MakeDriveMapping(DriveLetter: string; DirectoryPath: string;
    2.   Username: string; Password: string; RestoreAtLogon: Boolean): DWORD;
    3. var
    4.   NetResource: TNetResource;
    5.   dwFlags: DWORD;
    6. begin
    7.   with NetResource do
    8.   begin
    9.     dwType := RESOURCETYPE_DISK;
    10.     lpLocalName := PChar(DriveLetter);
    11.     lpRemoteName := PChar(DirectoryPath);
    12.   lpProvider := nil;
    13.   end;
    14.  
    15.   if (RestoreAtLogon) then
    16.     dwFlags := CONNECT_UPDATE_PROFILE
    17.   else
    18.     dwFlags := 0;
    19.  
    20.   Result := WNetAddConnection2(NetResource, PChar(Password),
    21.     PChar(Username), dwFlags);
    22. end;

    Wij hebben dit opgelost door files lokaal te stouwen en een service met bovenstaande functie regelt de rest zelf.

  6. #6
    I7 7700K 32Gb Win10 Pro Wok's Avatar
    Join Date
    Dec 2002
    Location
    Alkmaar
    Posts
    1,845
    In het verleden hebben we het opgelost door via een opstart script een log bij te werken.
    Als er een driveletter aan de Nas is toegekend wordt het heel eenvoudig en is de schijf verder benaderbaar

    echo %date% %time% Computer wordt opgestart. >> X:\logfile.ddx

    Peter
    10.1, Delphi2010, of Lazarus 1.8.4

  7. #7
    Win32.Trojan.Heur.Herby
    Join Date
    Dec 2003
    Location
    Nuenen of all places
    Posts
    138
    quick and dirty oplossing is met pushd de disconnected drive wakker schudden.

    In jouw geval zou het dan zijn pushd \\homenas\algemeen

    Herby

Thread Information

Users Browsing this Thread

There are currently 2 users browsing this thread. (0 members and 2 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •