Logon script und windows vista
Netzlaufwerke werden bei der Anmeldung nicht verbunden wohl aber wenn ich das script per Hand ausführe.
Guten morgen,
ich hab hier ein recht unschönes Problem mit meinem Logonscript. Ich hab schon ein wenig im hier gesucht und auch einen Beitrag vom Anfang des letzten Jahres gefunden.
Logonscript mit Windows Vista
Hat sich da in der zwischenzeit etwas getan?
Mal noch mein (zugegeben etwas zusammen gebasteltes) Script:
Guten morgen,
ich hab hier ein recht unschönes Problem mit meinem Logonscript. Ich hab schon ein wenig im hier gesucht und auch einen Beitrag vom Anfang des letzten Jahres gefunden.
Logonscript mit Windows Vista
Hat sich da in der zwischenzeit etwas getan?
Mal noch mein (zugegeben etwas zusammen gebasteltes) Script:
Dim strComputerName
Dim strUserName
Dim strDomainName
Dim BtnCode
Dim objADSysInfo
Dim wshNetwork
Dim WshShell
Dim WshSysEnv
Dim oShell
Dim oShFolder
Dim objUser
Dim objOU
Dim rootDSE
Dim oPq
Set wshNetwork = CreateObject("WScript.Network")
Set WshShell = CreateObject("WScript.Shell")
Set WshProcEnv = WshShell.Environment("Process")
Set WshUserEnv = WshShell.Environment("USER")
Set objADSysInfo = CreateObject("ADSystemInfo")
Set oShell = CreateObject("Shell.application")
Set oShFolder = oShell.Namespace(17)
Set objUser = GetObject("LDAP://" & objADSysInfo.UserName)
Set objOU = GetObject(objUser.Parent)
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Warten bis der Anmeldename des Users ermittelt wurde
Do While wshNetwork.UserName = ""
WScript.Sleep 550
Loop
strComputerName = wshNetwork.computerName
strUserName = wshNetwork.UserName
strDomainName = wshNetwork.userDomain
Call subdrivemap
Call subdriverename
Call SubZusammenfassung
Sub subdrivemap()
On Error Resume Next
If (Err.Number <> 0) Then
Call MsgBox("Error number :" & Err.Number & CRLF & "Description :" & Err.Description & CRLF & "Source :" & Err.Source)
End If
Err.Clear
'##### einen Moment Pause
WScript.Sleep 1000
'#### ADSI abfragen
adspath = "WinNT://" & strDomainName & "/" & strUserName
Set adsobj = GetObject(adspath)
'##### vorhandene Laufwerke löschen
wshNetwork.RemoveNetworkDrive "I:", True, True
wshNetwork.RemoveNetworkDrive "L:", True, True
wshNetwork.RemoveNetworkDrive "M:", True, True
wshNetwork.RemoveNetworkDrive "P:", True, True
'##### Laufwerke mappen
wshNetwork.MapNetworkDrive "P:", "\\server\Daten"
wshNetwork.MapNetworkDrive "I:", "\\server\Users\" & strUserName & ""
For Each prop In adsobj.groups
Select Case UCase(prop.Name)
Case "DOMÄNEN-ADMINS"
wshNetwork.MapNetworkDrive "M:", "\\server\NETLOGON"
wshNetwork.MapNetworkDrive "L:", "\\server\DC-BKG-01.LOG"
If (Err.Number <> 0) Then
Call MsgBox("Error number: " & Err.Number & CRLF & "Description: " & Err.Description & CRLF & "Source: " & Err.Source)
End If
On Error GoTo 0
End Select
Next
End Sub
Sub subdriverename()
For Each oShFolderItem In oShFolder.Items
Select Case oShFolderItem.Path
Case "I:\" oShFolderItem.Name = "Meine persönlichen Daten"
Case "L:\" oShFolderItem.Name = "Log Dateien"
Case "M:\" oShFolderItem.Name = "Das Netlogon"
Case "P:\" oShFolderItem.Name = "Daten"
End Select
Next
Set oShell = Nothing
Set oShFolder = Nothing
Set oShFolderItem = Nothing
End Sub
Sub SubZusammenfassung()
Set colDrives = wshNetwork.EnumNetworkDrives
Set colPrinters = wshNetwork.EnumPrinterConnections
Dim CRLF
CRLF = Chr(13) & Chr(10)
Dim Company
Company = ""
strMsg = "Anmelde Ergebnisse" & CRLF & CRLF & "Benutzername" & Chr(9) & "= " & strUserName & CRLF & "Computername" & Chr(9) & "= " & strComputerName & CRLF & "Domäne" & Chr(9) & Chr(9) & "= " & strDomainName & CRLF
'* Verbundene Laufwerke Listen
If colDrives.Count = 0 Then
strMsg = strMsg & CRLF & "Kein Netzlaufwerk ist verbunden." & CRLF
Else
strMsg = strMsg & CRLF & "Verbundene Netzlaufwerk(e):" & CRLF
For i = 0 To colDrives.Count - 1 Step 2
strMsg = strMsg & CRLF & colDrives(i) & Chr(9) & colDrives(i + 1)
Next
End If
'### Verbundene Drucker Listen
If colPrinters.Count = 0 Then
strMsg = strMsg & CRLF & CRLF & _
"Kein Netzwerk-Drucker ist verbunden." & CRLF
Else
strMsg = strMsg & CRLF & CRLF & _
"Verbundene Netzwerk-Drucker:" & CRLF
For i = 0 To colPrinters.Count - 1 Step 2
strMsg = strMsg & CRLF & colPrinters(i) & _
Chr(9) & colPrinters(i + 1)
Next
End If
strMsg = strMsg & CRLF & CRLF & "Dieses Fenster schließt sich in 10 Sekunden automatisch." & CRLF & "Eure Admins wünschen noch einen schönen Arbeitstag"
BtnCode = WshShell.PopUp(strMsg, 10, Company, 64)
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 89192
Url: https://administrator.de/forum/logon-script-und-windows-vista-89192.html
Ausgedruckt am: 23.04.2025 um 03:04 Uhr
1 Kommentar

Servus,
was genau ist denn dein Problem? Das - was im verlinkten Artikel steht?
Darf ich "ehrlich" sein - dein Script ist nicht "zusammen gebastelt" - das ist übelst gefrikelt.
da kräuseln sich meine nicht vorhandenen Haare auf dem Kopf....
... Wenns denn gehen würde - schön - aber warum nicht Kixtart nehmen oder eine simple .cmd
Ich sehe auf Anhieb keinen Grund - das in .vbs lösen zu wollen.
Außer du verdienst am Kaffee Verkauf der Kantine dein Gehalt
Löse das doch mit Kix - geht schneller und sollte auch wirklich funktionieren.
was genau ist denn dein Problem? Das - was im verlinkten Artikel steht?
Darf ich "ehrlich" sein - dein Script ist nicht "zusammen gebastelt" - das ist übelst gefrikelt.
'#### ADSI abfragen
WScript.Sleep 550
WScript.Sleep 1000
WScript.Sleep 550
WScript.Sleep 1000
da kräuseln sich meine nicht vorhandenen Haare auf dem Kopf....
... Wenns denn gehen würde - schön - aber warum nicht Kixtart nehmen oder eine simple .cmd
Ich sehe auf Anhieb keinen Grund - das in .vbs lösen zu wollen.
Außer du verdienst am Kaffee Verkauf der Kantine dein Gehalt
Löse das doch mit Kix - geht schneller und sollte auch wirklich funktionieren.