Avatar billede ylwen Nybegynder
27. februar 2004 - 12:57 Der er 9 kommentarer og
1 løsning

Næste ledige drevbogstav

Jeg er ved at lave et logon script. Her mapper jeg et bruger drev på serveren. Hidtil har jeg bare kaldt det Z da dette højest sansynligt ikke allerede er i brug, men er det ikke muligt at få scriptet til at finde det næste ledige drevbogstav i stedet for? og hvordan??
Avatar billede cwboy Nybegynder
27. februar 2004 - 13:00 #1
Hvis du mapper vha. kommandoen "NET USE" kan du bruge * i stedet for drevbogstav. Den mapper til næste ledige enhedsnavn.
Klippet ud fra "NET HELP USE":

NET USE tilslutter en arbejdsstation til en delt ressource eller frakobler
en arbejdsstation fra en delt ressource. Når kommandoen bruges uden parametre,
vises arbejdsstationens tilslutninger.

enhedsnavn:      Tildeler et navn for at tilslutte sig ressourcen eller
                angiver den enhed, der skal frakobles. Der findes to typer
                enhedsnavne: diskdrev (D: til og med Z:) og printere
                (LPT1: til og med LPT3:). Brug *-tegnet for at tildele
                det næste ledige enhedsnavn.
Avatar billede ylwen Nybegynder
27. februar 2004 - 13:05 #2
Jeg bruger desværre ikke Net Use...
Mit script ser sådan ud:

Set Network = Wscript.CreateObject("Wscript.Network")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Shell = Wscript.CreateObject("Wscript.Shell")

strCompName = Network.ComputerName
strUserName = Network.UserName
strVelk = "Velkommen"
StrTitel = "Login Script"
StrServer = "Server"
StrShare = "E\Users\tbm"

If FSO.DriveExists("Z:") = False Then
    Network.MapNetworkDrive "Z:", ("\\" & StrServer &"\" & StrShare)
    Shell.Popup "PC navn: " & strCompName &vbCRLF &_
                "Bruger: " & strUserName &vbCRLF &_
                "Drev Z er tilsluttet \\" & StrServer &"\" & StrShare             
Else
    'Shell.Popup    "Drev Z kunne ikke tilsluttes...",10,StrTitel,48
End If
Avatar billede cwboy Nybegynder
27. februar 2004 - 14:40 #3
Der er også den mulighed at løbe alle bogstaverne fra D til Z igennem med en løkke, der tjekker på FSO.DriveExists:

strDrive = "D"
Do While (FSO.DriveExists(strDrive & ":")) And (strDrive < "Z")
  strDrive = Chr(Asc(strDrive) + 1)
Loop
If (FSO.DriveExists(strDrive & ":")) And (strDrive = "Z") Then
  ' Ingen ledige drevbogstaver - fejlhåndtering skal ind her
Else
  Network.MapNetworkDrive strDrive & ":", ("\\" & StrServer &"\" & StrShare)
    Shell.Popup "PC navn: " & strCompName &vbCRLF &_
                "Bruger: " & strUserName &vbCRLF &_
                "Drev " & strDrive & " er tilsluttet \\" & StrServer &"\" & StrShare
End If
Avatar billede ylwen Nybegynder
27. februar 2004 - 16:42 #4
Jammen det er jo nydeligt, tak for din hjælp!
Avatar billede cwboy Nybegynder
27. februar 2004 - 18:32 #5
velbekomme :)  så skal jeg bare lige have kradset pointene hjem c",)
Avatar billede bfjmnemonic Nybegynder
27. februar 2004 - 18:51 #6
Smart ..
Men måske er der ikke en så god ide at gøre det tilfældigt hvilket bogstav den bruger. Mange programmer er afhændige af bruger drev og sådan.

Det er også en god ide, hvis det er det samme hele vejen rundt. Bare et ide.
Avatar billede bfjmnemonic Nybegynder
27. februar 2004 - 18:53 #7
Vil det script der foresten ikke mappet et nyt bogstav op hvergang? Altså hvis den allerede er mappet til f.eks. E:, vil den så ikke næste gang mappe til F:
Avatar billede cwboy Nybegynder
27. februar 2004 - 18:59 #8
Jeg går ud fra det skal bruges som logon-script eller lignende, og derfor vil bogstavet E: jo altid være ledigt før scriptet bliver kaldt - med mindre det i mellemtiden er blevet permanent mappet.
Avatar billede bfjmnemonic Nybegynder
27. februar 2004 - 19:47 #9
Ja det er rigtigt, men nogle gange vil Windows 2000 og XP ikke slippe drevmappings, eller hvis en bruger giver sig til at gøre noget indhold på drevet tilgængeligt offline.
Avatar billede bfjmnemonic Nybegynder
27. februar 2004 - 19:48 #10
Det er eller smart med den Ascii værdi, den kendte jeg ikke..
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