Avatar billede Slettet bruger
31. oktober 2006 - 09:42 Der er 3 kommentarer og
1 løsning

Loginscript i START vil ikke køre

Hej

Jeg kører Windows XP home.
Jeg har en Synology diskstation (netværksdisk).
Efter hvad jeg har kunnet finde ud af, er det ikke muligt at få Windows XP Home til at tilslutte netværksdrev, og samtidig huske brugernavn og adgangskode.

Jeg har derfor leget lidt med at lave et vbs-script, som tilslutter disse drev under opstart.

Det mystiske er at scriptet fungerer fint når computeren er startet op, men når jeg lægger det i START, får jeg følgende fejl:

Fejl: Ingen netværksprovider accepterede den angivne netværkssti.
Kode: 800704B3
Kilde: WSHNetwork.MapNetworkDrive

Mit script:
Dim mynet
Set mynet = WScript.CreateObject("WScript.Network")
mynet.MapNetworkDrive "U:", "\\synology\data", "false", "brugernavn", "adgangskode"
WScript.Quit()

Jeg har prøvet at sætte følgende ind i starten af mit script, for at lade computeren nå længere i opstarten, men fejlen kommer stadigvæk:
WScript.sleep 60

Nogen der kan hjælpe?
Avatar billede hiks Nybegynder
01. november 2006 - 20:20 #1
er du sikker på at drevet er loadet på det tidspunkt hvor xp starter?

du kan jo evt lave et loop i dit forsøg på at tilslutte drevet eller du kan lave et delay/sleep i dit script så det ikke afvikler lige med det samme.

on error resume next

Dim mynet, i, mappedDrive
Set mynet = WScript.CreateObject("WScript.Network")

do While i < 1000 And mappedDrive = False

    mynet.MapNetworkDrive "U:", "\\synology\data", "false", "brugernavn", "adgangskode"
    i = i + 1

        if err = 0 then
        mappedDrive = True
        err.clear
    else
        mappedDrive = False
    end if
loop

if err <> 0 then msgbox("Fejl: " & err.description)

set mynet = Nothing
WScript.Quit()

/hiks
Avatar billede Slettet bruger
01. november 2006 - 21:37 #2
Scriptet mapper drevet, men kommer efterfølgende med en fejl om at enhedsnavnet allerede bruges.

Er der en fejl i dit script, så det forsøger at mappe drevet mere end én gang, også efter det er mappet?
Avatar billede hiks Nybegynder
02. november 2006 - 10:51 #3
ja måske :o)

du kan slå fejlvisningen fra til en start:

'if err <> 0 then msgbox("Fejl: " & err.description)

det lader til at err.clear ikke har sin effekt - for efter at den mapper drevet så sætter den jo variablen til True og så hopper den ud af loopet.

alternativt i stedet for et loop kunne du sætte en pause ind som jeg nævnte tidligere:

on error resume next

Dim mynet
Set mynet = WScript.CreateObject("WScript.Network")

WScript.Sleep(5000) '5 sek.
    mynet.MapNetworkDrive "U:", "\\synology\data", "false", "brugernavn", "adgangskode"

if err <> 0 then msgbox("Fejl: " & err.description)

set mynet = Nothing
WScript.Quit()

/hiks
Avatar billede Slettet bruger
04. november 2006 - 10:29 #4
Det løste problemet. Nu virker det som ønsket.
Pointene er dine :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester