vbs login script windows 2008
Jeg har dette lille bitte login script nogen gange "glemmer" det at mappe drev rigtigt og nogle gange mangler drevet fulstændigt det skal siges at det er et login på en terminal server. er der nogle eksperter der kan hjælpe med at finde fejlen og kan det evt forenkles.here it goes.
----
' Option Explicit
Dim objNetwork
Dim strDriveLetter, strRemotePath, strUser, strPassword, strProfile, objUser, currentUser, net, strGroup
dim gprDriveLetter, gprRemotePath, gprUser, gprPassword, objFSO, uniDriveLetter, uniRemotePath
' dimmer til c5
Dim RegObj
Dim SysEnv
'denne skal være der for at den ikke laver fejl :-)
On Error Resume Next
' Values of variables set
' her under er der nogle gange fejl med koden arbejder stadig på at finde ud af hvorfor...
'datadrev
strDriveLetter = "O:"
strRemotePath = "\\server\share1"
strUser = "administrator"
strPassword = "password"
'**********************************
'Navision drev
strNavisDriveLetter = "N:"
strNavisRemotePath = "\\server\share2"
'****************************************
'gruppedrev
gprDriveLetter = "q:"
gprRemotePath = "\\server\share3"
gprUser = "administrator"
grpPassword = "password"
'********************************************
uniDriveLetter = "u:"
uniRemotePath = "\\server\share4"
strProfile = "false"
'constanter afdelinger.
Const afd1 = "cn=afd1"
Const afd2 = "cn=afd2"
Const afd3 = "cn=afd3"
Const afd4 = "cn=afd4"
Const afd5 = "cn=afd5"
Const afd6 = "cn=afd6"
Const afd7 = "cn=afd7"
'constanter grupper.
Const gruppe1 = "cn=gruppe1"
Const gruppe2 = "cn=gruppe2"
Const gruppe3 = "cn=gruppe3"
const gruppe4 = "cn=gruppe4"
Const c5 = "cn=c5"
Const gruppe6 = "cn=gruppe6"
Const gruppe7 = "cn=gruppe7"
Const gruppe8 = "cn=gruppe8"
Const OverwriteExisting = True
'andre constanter
gruppe8msg = "gruppe8."
Const DESKTOP = &H10&
'opretter printer og drev og genveje efter gruppe.
'****************************************************************************************
'* SCRIPT START *
'****************************************************************************************
' This section creates a network object. (objNetwork)
Set objNetwork = WScript.CreateObject("WScript.Network")
Set objUser = CreateObject("ADSystemInfo")
Set currentUser = GetObject("LDAP://" & objUser.UserName)
Set net = CreateObject("WScript.Network")
strGroup = LCase(Join(currentUser.GetEx("memberOf")))
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objAppshell = CreateObject("Shell.Application")
Set objFolder = objAppShell.Namespace(DESKTOP)
strFilePath = objFolder.Self.Path & "\"
'****************************************************************************************
'* afd1 *
'****************************************************************************************
If InStr(strGroup, afd1) Then
'laver data drevet her:
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath, _
strProfile, strUser, strPassword
'laver gruppe drevet her:
objNetwork.MapNetworkDrive gprDriveLetter, gprRemotePath, _
strProfile, gprUser, gprPassword
'opsætter printere
net.AddWindowsPrinterConnection "\\dc\2800afd1"
net.AddWindowsPrinterConnection "\\dc\4200afd1"
net.SetDefaultPrinter"\\dc\4200afd1"
'opretter genvej på skrivebord.
objFSO.CopyFile "\\DC\Offentlige\genveje\afd1.lnk",strFilePath,True
End If
'****************************************************************************************
'* afd3_st *
'****************************************************************************************
If InStr(strGroup, gruppe1) Then
'opsætter printere
net.AddWindowsPrinterConnection "\\dc\4000afd3"
net.AddWindowsPrinterConnection "\\dc\4050afd3L"
net.AddWindowsPrinterConnection "\\dc\3511afd3"
net.SetDefaultPrinter"\\dc\4050afd3"
net.removePrinterConnection "LPT1"
net.AddPrinterConnection "LPT1", "\\dc\4050afd1"
'opretter genveje på skrivebord.
objFSO.CopyFile "\\DC\Offentlige\genveje\afd3.lnk",strFilePath,True
End If
'****************************************************************************************
'* afd3_1s *
'****************************************************************************************
If InStr(strGroup, gruppe2) Then
'opsætter printere
net.AddWindowsPrinterConnection "\\dc\4000afd3"
net.AddWindowsPrinterConnection "\\dc\4050afd3"
net.AddWindowsPrinterConnection "\\dc\3511afd3"
net.SetDefaultPrinter"\\dc\4000afd3"
net.removePrinterConnection "LPT1"
net.AddPrinterConnection "LPT1", "\\dc\4000afd3"
'opretter genveje på skrivebord.
objFSO.CopyFile "\\DC\Offentlige\genveje\afd3.lnk",strFilePath,True
End If
'****************************************************************************************
'* afd3 *
'****************************************************************************************
If InStr(strGroup, afd3) Then
'laver data drevet her:
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath, _
strProfile, strUser, strPassword
End If
'****************************************************************************************
'* afd2 *
'****************************************************************************************
If InStr(strGroup, afd2) Then
'laver data drevet her:
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath, _
strProfile, strUser, strPassword
'opsætter printere
net.AddWindowsPrinterConnection "\\dc\2400afd2"
net.SetDefaultPrinter"\\dc\2400afd2"
'laver lpt printer her
net.removePrinterConnection "LPT1"
net.AddPrinterConnection "LPT1", "\\dc\2400afd2"
End If
'****************************************************************************************
'* afd4 *
'****************************************************************************************
If InStr(strGroup, afd4) Then
'laver data drevet her:
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath, _
strProfile, strUser, strPassword
'opsætter printere
net.AddWindowsPrinterConnection "\\dc\7210afd4"
net.SetDefaultPrinter"\\dc\7210afd4"
'laver lpt printer her
net.removePrinterConnection "LPT1"
net.AddPrinterConnection "LPT1", "\\dc\7210afd4"
End If
'****************************************************************************************
'* afd6 *
'****************************************************************************************
If InStr(strGroup, afd6) Then
'laver data drevet her:
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath, _
strProfile, strUser, strPassword
'opsætter printere
net.AddWindowsPrinterConnection "\\dc\2840afd6"
net.SetDefaultPrinter"\\dc\2840afd6"
'laver lpt printer her
net.removePrinterConnection "LPT1"
net.AddPrinterConnection "LPT1", "\\dc\2840afd6"
End If
'****************************************************************************************
'* afd7 *
'****************************************************************************************
If InStr(strGroup, afd7) Then
'laver data drevet her:
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath, _
strProfile, strUser, strPassword
' printer???????
End If
'****************************************************************************************
'* afd5 *
'****************************************************************************************
If InStr(strGroup, afd5) Then
'laver data drevet her:
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath, _
strProfile, strUser, strPassword
'opsætter printere
net.AddWindowsPrinterConnection "\\dc\1017afd5"
net.SetDefaultPrinter"\\dc\1017afd5"
'laver lpt printer her
net.removePrinterConnection "LPT1"
net.AddPrinterConnection "LPT1", "\\dc\1017afd5"
End If
'****************************************************************************************
'* Gruppe c5 *
'****************************************************************************************
If InStr(strGroup, c5) Then
'laver NAVISION drevet her:
objNetwork.MapNetworkDrive strNavisDriveLetter, strNavisRemotePath, _
strProfile, strUser, strPassword
'opretter genvej Til C5 på skrivebord.
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objAppshell = CreateObject("Shell.Application")
Set objFolder = objAppShell.Namespace(DESKTOP)
strFilePath = objFolder.Self.Path & "\"
objFSO.CopyFile "\\DC\Offentlige\genveje\C5.lnk",strFilePath,True
On Error Resume Next
Set RegObj = WScript.CreateObject("WScript.Shell")
'***** Specify the DSN parameters *****
DataSourceName = "c5sqldsn"
DatabaseName = ""
Description = "sql log on c5"
LastUser = ""
Server = "sqlserver1"
'if you use SQL Server the driver name would be "SQL Server"
DriverName = "SQL Server"
'Set this to True if Windows Authentication is used
'else set to False or comment out
WindowsAuthentication = True
'point to DSN in registry
REG_KEY_PATH = "HKCU\SOFTWARE\ODBC\ODBC.INI\" & DataSourceName
' Open the DSN key and check for Server entry
lResult = RegObj.RegRead (REG_KEY_PATH & "\Server")
'if lResult is nothing, DSN does not exist; create it
if lResult = "" then
'get os version through WSCript Enviroment object
Set SysEnv = RegObj.Environment("SYSTEM")
OSVer = UCase(SysEnv("OS"))
'check which os is running so correct driver path can be set
Select Case OSVer
Case "WINDOWS_NT"
DrvrPath = "C:\WinNT\System32"
Case Else
DrvrPath = "C:\Windows\System"
End Select
'create entries in registry
RegObj.RegWrite REG_KEY_PATH & "\DataBase",DatabaseName,"REG_SZ"
RegObj.RegWrite REG_KEY_PATH & "\Description",Description,"REG_SZ"
RegObj.RegWrite REG_KEY_PATH & "\LastUser",LastUser,"REG_SZ"
RegObj.RegWrite REG_KEY_PATH & "\Server",Server,"REG_SZ"
RegObj.RegWrite REG_KEY_PATH & "\Driver",DrvrPath,"REG_SZ"
'if WindowsAuthentication set to True,
'a trusted connection entry is added to registry
'else, SQL Authentication is used.
if WindowsAuthentication = True then
RegObj.RegWrite REG_KEY_PATH & "\Trusted_Connection","Yes","REG_SZ"
end if
'point to data sources key
REG_KEY_PATH = "HKCU\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources\" & DataSourceName
'and add the name of the new dsn and the driver to use with it
RegObj.RegWrite REG_KEY_PATH,DriverName,"REG_SZ"
end If
End If
'****************************************************************************************
'* gruppe4 *
'****************************************************************************************
If InStr(strGroup, gruppe4) Then
'opretter genvej Til gruppe4 på skrivebord.
objFSO.CopyFile "\\DC\Offentlige\genveje\gruppe4.lnk",strFilePath,True
End If
'****************************************************************************************
'* gruppe6 *
'****************************************************************************************
If InStr(strGroup, gruppe6) Then
'opretter genvej Til gruppe6 på skrivebord.
objFSO.CopyFile "\\DC\Offentlige\genveje\gruppe6.lnk",strFilePath,True
End If
'****************************************************************************************
'* gruppe8 *
'****************************************************************************************
If InStr(strGroup, gruppe8) Then
'laver gruppe8 drevet her:
objNetwork.MapNetworkDrive uniDriveLetter, uniRemotePath, _
strProfile, strUser, strPassword
' MsgBox gruppe8msg, 0+64, "Infomation"
End If
'****************************************************************************************
'* gruppe7 *
'****************************************************************************************
If InStr(strGroup, gruppe7) Then
net.AddWindowsPrinterConnection "\\dc\PDFprinter"
End If
'****************************************************************************************
'* gælder for alle *
'****************************************************************************************
'opretter genveje på skrivebord.
objFSO.CopyFile "\\DC\Offentlige\genveje\Microsoft Office Excel 2007.lnk",strFilePath,True
objFSO.CopyFile "\\DC\Offentlige\genveje\Microsoft Office Outlook 2007.lnk",strFilePath,True
objFSO.CopyFile "\\DC\Offentlige\genveje\Microsoft Office Word 2007.lnk",strFilePath,True
-----------
spørg hvis i har nogle evt spørgsmål..