VBS Logon Script - Problem!
Kann mir jemand auf die Sprünge helfen?
Ich danke euch sehr herzlich und schöne Feiertage!
Christoph
Hallo liebe Leute! Ich habe hier ein Logon Script mit VBS geschrieben, nur das einzige Problem ist das es bei der Zuordnung egal ist welche NetzLaufwerke gemappt werden, egal welche Gruppe ich angebe es versucht trotzdem zu verbinden -> Siehe Pfeil im Code!
Ich habe keine Ahnung wo der Fehler ist..
Ich danke euch sehr herzlich und schöne Feiertage!
Christoph
Hallo liebe Leute! Ich habe hier ein Logon Script mit VBS geschrieben, nur das einzige Problem ist das es bei der Zuordnung egal ist welche NetzLaufwerke gemappt werden, egal welche Gruppe ich angebe es versucht trotzdem zu verbinden -> Siehe Pfeil im Code!
Ich habe keine Ahnung wo der Fehler ist..
' Login Script
'Author: HOST\Christoph
'**********************
On Error Resume Next
Dim objFSO,objFILE,objShell,objNetwork
set objFSO=CreateObject("Scripting.FileSystemObject")
set objShell=CreateObject("Wscript.Shell")
set objNetwork=CreateObject("Wscript.Network")
Const Server = "\\host-server\"
' Standard
strWelcomeMsg="Willkommen " & objNetwork.UserName & " in der Domäne " & objNetwork.Userdomain & "!"
strHelpMsg="Kontaktieren Sie den Administrator um Hilfe zu bekommen!"
iErrorTimeout=10
blnShowError=True
' Netzlaufwerke mappen
If (IsAMemberOf("") = true) Then
MapIt "Y:" , Server & objNetwork.Username
SetRegKeyNotes
End If
If (IsAMemberOf("g_buero") = true) Then
MapIt "Z:" , Server & "tools"
SetRegKeyNotes
End If
' Drucker mappen
If IsAMemberOf(objNetwork.UserDomain,objNetwork.UserName,"g_buero") Then AddPrinterConnection "\\Printserver\Drucker1" '< --- egal was ich hier schreibe es wird trotzdem verbunden, ich bin auch nicht in der Gruppe g_buero!.. Bei der Gruppe "Administratoren" funktioniert es aber (das es nicht verbunden wird)!
AddPrinterPortConnection "LPT1:","\\Printserver\Drucker1"
AddPrinterConnection "\\Printserver\Drucker1"
objNetwork.SetDefaultPrinter "\\Printserver\Drucker1"
' Zusammenfassung zeigen
iDisplayTimeout=10
strMsg=""
strMsg=strMsg & strWelcomeMsg & VbCrLf
strMsg=strMsg & vbcrlf
strMsg=strMsg & PasswordExpires(objNetwork.Userdomain,objNetwork.Username) & VbCrLf
strMsg=strMsg & vbcrlf
' Netzlaufwerke auflisten
Set objDrives = objNetwork.EnumNetworkDrives
strMsg=strMsg & "Verbundene Netzlaufwerke:" & vbcrlf
For i = 0 to objDrives.Count - 1 Step 2
strMsg=strMsg & "Laufwerk " & objDrives.Item(i) & "=" & objDrives.Item(i+1) & vbcrlf
Next
strMsg=strMsg & vbcrlf
' Drucker auflisten
Set objPrinters = objNetwork.EnumPrinterConnections
strMsg=strMsg & vbcrlf &"Verbundene Drucker:" & vbcrlf
For i = 0 to objPrinters.Count - 1 Step 2
strMsg=strMsg & objPrinters.Item(i) &" = "& objPrinters.Item(i+1) & vbcrlf
Next
strMsg=strMsg & vbcrlf
' Zusammenfassung zeigen
If strMsg<>"" Then objShell.Popup strMsg,iDisplayTimeout,"Logon Summary",vbOKOnly+vbInformation
' Ende des Hauptscripts
'//////////////////////////////////////////////////
' Funktion für Alter des Passworts
Function PasswordExpires(strDomain,strUser)
On Error Resume Next
Dim objUser
Set objUser=GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
PassExp=INT(objUser.MaxPasswordAge/86400)-INT(objUser.PasswordAge/86400)
If PassExp<0 Then
strPassMsg="Ihr Passwort läuft nie ab."
Else
strPassMsg="Ihr Passwort läuft ab in " & PassExp & " Tag(en)"
End If
PasswordExpires=strPassMsg
End Function
Function IsAMemberOf(strDomain,strUser,strGroup)
On Error Resume Next
Set objUser=GetObject("WinNT://" & strDomain & "/" & strUser & ",user")
Set objGrp=GetObject("WinNT://" & strDomain & "/" & strGroup & ",group")
If objGrp.IsMember(objUser.ADsPath) Then
IsAMemberOf=True
Else
IsAMemberOf=False
End If
End Function
Function MapIt(strDrive,strMap)
On Error Resume Next
If objFSO.DriveExists(strDrive) Then objNetwork.RemoveNetworkDrive(strDrive)
objNetwork.MapNetworkDrive strDrive,strMap
If Err.Number<>0 And blnShowError Then
strMsg="Es ist ein Fehler aufgetreten beim Verbinden von " & UCase(strDrive) & " zu " &_
strMap & VbCrLf & strHelpMsg & VbCrLf & "Errornummer: " & Hex(err.Number) &_
VbCrLf & Err.Description
objShell.Popup strMsg,iErrorTimeOut,"Error",vbOKOnly+vbExclamation
Err.Clear
End If
End Function
Sub AddPrinterConnection(strPrinterUNC)
On Error Resume Next
objNetwork.AddWindowsPrinterConnection strPrinterUNC
If Err.Number<>0 And blnShowError Then
strMsg="Es ist ein Fehler aufgetreten beim Verbinden von " & UCase(strPrinterUNC) & ". " &_
vbcrlf & VbCrLf & strHelpMsg & VbCrLf & "Errornummer: " & Hex(err.Number) &_
VbCrLf & Err.Description
objShell.Popup strMsg,iErrorTimeOut,"Error",vbOKOnly+vbExclamation
Err.Clear
End If
End Sub
Sub AddPrinterPortConnection(strPort,strPrinterUNC)
On Error Resume Next
objNetwork.AddPrinterConnection strPort,strPrinterUNC
If Err.Number<>0 And blnShowError Then
strMsg="Es ist ein Fehler aufgetreten beim Verbinden von " & UCase(strPrinterUNC) & " zu " &_
strPort & vbcrlf & VbCrLf & strHelpMsg & VbCrLf & "Errornummer: " & Hex(err.Number) &_
VbCrLf & Err.Description
objShell.Popup strMsg,iErrorTimeOut,"Error",vbOKOnly+vbExclamation
Err.Clear
End If
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 104606
Url: https://administrator.de/contentid/104606
Ausgedruckt am: 26.11.2024 um 08:11 Uhr
1 Kommentar