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