Eksempel på et VBS logon script
Nedenstående script kan benyttes på workstation og i et Teminal/Citrix miljø.
Gruppe funktionen medtager også nested groups.
‘Globale Variabler
Dim objNetwork,strUser ,wShell,wshnetwork
‘Ingen fejlmeddelser
on error resume next
‘***************** Get Username + Nested Groups *********************
Set objNetwork=CreateObject(“Wscript.Network”)
strUser =objNetwork.UserName
Function IsMember(sGroup)
If IsEmpty(oGroupList) Then
Set oGroupList = CreateObject(“Scripting.Dictionary”)
Call LoadGroups(oADObject)
End If
IsMember = oGroupList.Exists(sGroup)
End Function
Sub LoadGroups(oADObject)
On Error Resume Next
Dim colsGroups, oGroup, j
oGroupList.CompareMode = vbTextCompare
colsGroups = oADObject.memberOf
If IsEmpty(colsGroups) Then
Exit Sub
End If
If TypeName(colsGroups) = “String” Then
Set oGroup = GetObject(“LDAP://” & colsGroups)
If Not oGroupList.Exists(oGroup.sAMAccountName) Then
oGroupList(oGroup.sAMAccountName) = True
Call LoadGroups(oGroup)
End If
Set oGroup = Nothing
Exit Sub
End If
For j = 0 To UBound(colsGroups)
Set oGroup = GetObject(“LDAP://” & colsGroups(j))
If Not oGroupList.Exists(oGroup.sAMAccountName) Then
oGroupList(oGroup.sAMAccountName) = True
Call LoadGroups(oGroup)
End If
Next
Set oGroup = Nothing
End Sub
‘********Tjek om brugeren skal afvikle Login script****************
If IsMember(“CtxAdmin”) Then
Wscript.Quit
End If
‘*********** Map Network Drives ***********************************
set wshnetwork = wscript.createobject(“wscript.network”)
wshnetwork.mapnetworkdrive “H:”,“\\WIN-FIL-001\Home$\” & strUser & “”
wshnetwork.mapnetworkdrive “M:”,“\\WIN-FIL-001\Teknik”
wshnetwork.mapnetworkdrive “N:”,“\\WIN-FIL-001\IT”
wshnetwork.mapnetworkdrive “O:”,“\\WIN-FIL-001\Public”
‘*********** Map Clint Printers ***********************************
wshnetwork.addwindowsprinterconnection “\\WIN-FIL-001\HP4100″
wshnetwork.addwindowsprinterconnection “\\WIN-FIL-001\HP4700″
‘Sætter default printer
wshnetwork.setdefaultprinter “\\WIN-FIL-001\HP4100″
‘********************Redirect af diverse foldere***************************
Dim WSHShell
Set WSHShell = Wscript.CreateObject(“WScript.Shell”)
RegRedirect = “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\”
WSHShell.RegWrite RegRedirect & “Personal”, “H:\My Documents”,“REG_EXPAND_SZ”
WSHShell.RegWrite RegRedirect & “Desktop”, “H:\Citrix\Desktop”,“REG_EXPAND_SZ”
WSHShell.RegWrite RegRedirect & “Favorites”, “H:\Citrix\Favorites”,“REG_EXPAND_SZ”
WSHShell.RegWrite RegRedirect & “Cookies”, “H:\Citrix\Cookies”,“REG_EXPAND_SZ”
‘********************Opretter Genveje på deskop*****************************
Dim oShell
Set oShell = Wscript.CreateObject(“WScript.Shell”)
Const OverwriteExisting = True
Set objFSO = CreateObject(“Scripting.FileSystemObject”)
If IsMember(“MSvisio”) Then
objFSO.CopyFile “\\WIN-FIL-001\Genvej\MS Visio.lnk” , “H:\Citrix\Desktop\” , OverwriteExisting
End If
If IsMember(“SAP”) Then
objFSO.CopyFile “\\WIN-FIL-001\Genvej\SAPlogon.lnk” , “H:\Citrix\Desktop\” , OverwriteExisting
Set oShell = Wscript.CreateObject(“WScript.Shell”)
CmdResult = oShell.run (“\\WII-FIL-001\Genvej\SAP.cmd”)
CmdResult = oShell.run (“regedit /S \\WIN-FIL-001\Genvej\SAP.reg,0,True”)
End If