Avatar billede dingemann Novice
23. juli 2008 - 13:15 Der er 1 løsning

logonscript: netværks-mapping

Hej folkens.
Mine kendskaber til vbs er ret begrænset - jeg bruger normalt batch-filer til logons men efterhånden er begrænsningerne nået og jeg ved at vbs er min redningsmand.

Anyway. Det er et simpelt logon-script når en klient logger på domænet der skal laves.
Scriptet skal mappe en netværkssti som drev, lad os sige Z.
Hvis mappen på serveren ikke findes så skal den oprettes - dette vil være tilfældet for nye brugere i OU'en der logger på hvor jeg som sysadmin ikke gider oprette en mappe til dem (eller jo det gider jeg godt men det ville være smartere med en automatiseret proces).
Yderligere ved jeg at jeg kommer til at køre flere vbs-scripts på klienten ved logon og disse scripts kommer til at bruge samme netværkssti som der fx også optræder i dette script. Derfor tænkte jeg om det er muligt at importere konstanter fra en seperat fil der så kun indeholder de her konstanter og som jeg så kan hive ind i de respektive vbs'er; essensen er at jeg slipper for at ændre netværksstierne som bruges direkte i de forskellige scripts men kan gøre det i denne ene fil.

Topologien ser for mig således ud:
En scriptfil - lad os kalde den for mountingNetwork.vbs
En fil med konstanterne lad os kalde den for defaultNetworkPaths.et-eller-andet

Da jeg intet kender til vbs (men har programmeteret VB.NET og ASP og nu også ASP.NET) har jeg ingen anelse om hvorvidt det er muligt at importere defaultNetworkPaths.et-eller-andet men skitseret forstiller jeg mig følgende som pseudokode:

----- defaultNetworkPaths.et-eller-andet ---
privateFolder = \\srv1\userdata$\%username%
sharedFolder = \\srv1\userdata$\Kunde-filer

------ og slut ------

dernæst for mountingNetwork.vbs

----- mountingNetwork.vbs ---
Option Explicit
import af defaultNetworkPaths.et-eller-andet

Dim objFSO, objFolder, objShell, strDirectory
strDirectory = privateFolder
Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists(strDirectory) Then
  Set objFolder = objFSO.GetFolder(strDirectory)
  WScript.Echo strDirectory & " already created "
Else
  Set objFolder = objFSO.CreateFolder(strDirectory)
WScript.Echo "Just created " & strDirectory
End If

og så noget kode der mounter privateFolder som Z: på klienten



WScript.Quit

------ og slut ------


Så det jeg mangler er:
1) mulighed for at importere konstanter fra en fil så jeg kan bruge variablen privateFolder i min mountingNetwork.vbs-fil

2) noget kode der mounter et netværksdrev på klienten



Ooooog... det er en 60'er (point) fordi jeg ikke selv ræddi kan finde ud af at bidrage med så meget kode selv
Avatar billede dingemann Novice
15. december 2008 - 23:18 #1
lukker... har selv fundet en script-løsning
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