14. januar 2002 - 10:21Der er
7 kommentarer og 1 løsning
VBS Logon script og W2K
Jeg bruger et vbs logon script for alle mine w2k brugere men har lidt problemer med at opdatere nogle skabelon filer.
Jeg har fået det til at kopiere skabelonen ind 1 gang man logger på, men hvis jeg nu skal opdatere skabelonen skal jeg kontrollere på dato og kopiere filen hvis kilde er nyere end destination. Jeg kan ikke umiddelbart finde ud af hvilken kommando jeg skal bruge. Jeg har prøvet med en copy iFFileIsNewer men den virker ikke og eksisterer nok heller ikke.
Hvis der samtidig er nogen der kan give mig nogle links til hvor jeg kan finde vbs kommandoer, så vil det være perfekt.
Jeg har forsøgt mig med nedenstående, men får en fejl allerede i første linie der fortæller at navnet blev defineret igen og henviser til fso.
nogen idéer ?
Dim fso as New FileSystemObject, aFil as file, aDato as Date Dim fso as New FileSystemObject, bFil as file, bDato as Date
If ShowDebugCmd Then wscript.echo \"Kopierer brev.dot\" Set aFil = fso.GetFile(oShell.ExpandEnvironmentstrings(\"%appdata%\") & \"\\Microsoft\\Templates\\brev.dot\") Set aDato = aFil.DateCreated If ShowDebugCmd Then wscript.echo \"lokal fil oprettet\" & adato Set bFil = fso.GetFile(oShell.ExpandEnvironmentstrings(\"%logonserver%\") & \"\\netlogon\\Skabeloner\\brev.dot\") Set bDato = bFil.DateCreated If ShowDebugCmd Then wscript.echo \"server fil oprettet\" & bdato If aDato < bdato Then CopyFileIfExists oShell.ExpandEnvironmentstrings(\"%logonserver%\") & \"\\netlogon\\Skabeloner\\brev.dot\", TargetFolder2 & \"\\brev.dot\"
Den laver følgende, den tjekker først om mappen er der. Hvis ikke, så opretter den mappen.
Den ser efter om filen er der. Hvis filen ikke er der laver den en kopi af master filer.
Næste gang du kører dit logon script kigger den først efter mappen igen og derefter tjekker den om filen er der, hvis filen er der kigger den om masterfilens datoen er nyere end den der ligger på clienter, hvis dato på masterfilen er nyere laver den en ny kopi på client.
Jeg er dog ved at ændre den lidt så den selv kigger efter hvad det er for filer der ligger i en eller flere mapper som også skal ligge på clienter.
stiServer = "C:\Temp\" 'Sti til mappen på serveren stiClient = "D:\Temp\" 'Sti til mappen på Client Sti3 = "D:\Temp\" 'Sti til mappe der skal oprettes
Set fso = CreateObject("Scripting.FileSystemObject") 'Tjekker om der en mappen med If (fso.FolderExists(stiClient)) Then 'samme navn som på maskinen
Else Set fso = CreateObject("scripting.filesystemobject") fso.createfolder stiClient 'der laves en ny mappe. Set fso = Nothing End If
sti1 = stiServer & filnavn 'Sti til filen på serveren sti2 = stiClient & filnavn 'Sti til filen på Client
' Tjek filerne
Set fso = CreateObject("Scripting.FileSystemObject") 'Tjeker om der en fil med If (fso.FileExists(sti2)) Then 'samme navn som på serveren
Set fso = CreateObject("Scripting.FileSystemObject") 'Læser dato og tiden på filer Set f = fso.GetFile(sti1) 'der ligger på serveren fil1 = f.DateLastModified
Set fso = CreateObject("Scripting.FileSystemObject") 'Læser dato og tiden på filer Set f = fso.GetFile(sti2) 'der ligger på Clienten fil2 = f.DateLastModified
If fil1 > fil2 Then 'Sammen ligner datoerne på fileren
Set fso = CreateObject("scripting.filesystemobject") 'Nyere dato på filen som ligger på serveren fso.copyfile sti1, sti2 'lav kopi af filen fra serveren Set fso = Nothing
End If
Else
Set fso = CreateObject("scripting.filesystemobject") 'lav kopi af filen fra serveren til clienten fso.copyfile sti1, sti2 Set fso = Nothing
End If
Det skulle vel ikke være tilfældet at du kunne fortælle mig hvordan man laver mappe deling via script/kode idet det er noget jeg skal i samme sag.
Hilsen Mickey
Synes godt om
Ny brugerNybegynder
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.