Avatar billede mouse_dk Nybegynder
04. februar 2010 - 00:17 Der er 4 kommentarer

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..
Avatar billede Slettet bruger
08. februar 2010 - 20:19 #1
Hej
Umiddelbart ser der ud til at mangle en stump kode der sletter eksisterende netværksdrev inden der oprettes nye.
Kan du ikke prøve at fjerne:
On Error Resume Next
Og så poste den fejl du får?
Avatar billede mouse_dk Nybegynder
05. marts 2010 - 09:50 #2
Hmm det ser ud til at hvis jeg fjener printerne fra login scriptet så virker det.

Er der en måde til at mappe printere som ikke tager 100 år.
Avatar billede mouse_dk Nybegynder
15. april 2010 - 15:35 #3
hmmm den siger at det drev man vil til gå allerede findes...
Avatar billede mouse_dk Nybegynder
15. april 2010 - 16:04 #4
kører jeg scriptet 2 gange så mapper den drevne...

dvs.
en bruger logger ind scriptet kører og mapper ingen drev alt andet kører som det skal i scriptet.

kører man scriptet manuelt anden gang så mapper den drevne rigtigt. og alt virker...

Kan nogle give en forklaring på dette...?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester