Ooit zoiets verzonnen als logon/off script voor een school.
Onderstaande script maakt een text file in opgegeven share als Username.log met daarin de username, computername en login tijd. Het script vult de textfile aan (Appending) met nieuwe gegevens en blijft alles bewaart.
Gebruik hetzelfde script dus ook als logoff script en edit the strtext van Login: naar Logoff:
Je kan het eventueel nog aanvullen met andere gevens uit de AD zoals group, kantoor nr etc.
Output is dus \\server\share\Username.log
code:
1
2
3
4
5
6
7
| logon: 3/5/2008 11:03:43 AM
User: Sjeng
Computer: LAPTOP
logoff: 3/5/2008 11:04:39 AM
User: Sjeng
Computer: LAPTOP |
script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
| Option Explicit
Dim objFSO, objFolder, objShell, objTextFile, objFile
Dim strDirectory, strFile, strText, oNet, sUserName, sRoom, sComputer
Set oNet = CreateObject("WScript.Network")
'variables
sUserName = oNet.UserName
sComputer = oNet.ComputerName
'sRoom = Left(sComputer,3)
strDirectory = "\\Server\share\"
strFile = sUserName & ".log"
strText = "logon: " & Now & Chr(13) & Chr(10) & _
"User: " & sUserName & Chr(13) & Chr(10) & _
"Computer: " & sComputer & Chr(13) & Chr(10) '& _
'"Lokaal: " & sRoom & Chr(13) & Chr(10) & _""
' Create the File System Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Check that the strDirectory folder exists
'If objFSO.FolderExists(strDirectory) Then
' Set objFolder = objFSO.GetFolder(strDirectory)
'Else
' Set objFolder = objFSO.CreateFolder(strDirectory)
'WScript.Echo "Just created " & strDirectory
'End If
If objFSO.FileExists(strDirectory & strFile) Then
Set objFolder = objFSO.GetFolder(strDirectory)
Set objFile = nothing
set objFolder = nothing
' OpenTextFile Method needs a Const value
' ForAppending = 8 ForReading = 1, ForWriting = 2
Const ForAppending = 8
Set objTextFile = objFSO.OpenTextFile _
(strDirectory & strFile, ForAppending, true)
' Writes strText every time you run this VBScript
objTextFile.WriteLine(strText)
objTextFile.Close
Else
Set objFile = objFSO.CreateTextFile(strDirectory & strFile)
Set objFile = nothing
set objFolder = nothing
' OpenTextFile Method needs a Const value
' ForAppending = 8 ForReading = 1, ForWriting = 2
Const ForWriting = 2
Set objTextFile = objFSO.OpenTextFile _
(strDirectory & strFile, ForWriting, true)
' Writes strText every time you run this VBScript
objTextFile.WriteLine(strText)
objTextFile.Close
End If
WScript.Quit
' End of VBScript to write to a file with error-correcting Code |
Indien alle users automatisch aan een \\server\share\ worden gehangen kan je dit ook uitlezen in "computer managment\shared folders\sessions" elke ingelogde gebruiker heeft een open sessie op zijn share..