Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Nach Installation von XP SP3 wird Logon-Script nur noch teilweise ausgeführt.

Frage Microsoft Windows Systemdateien

Mitglied: 70705

70705 (Level 1)

17.10.2008, aktualisiert 27.10.2008, 6051 Aufrufe, 3 Kommentare

Hallo zusammen,

wir haben hier in der Firma bei einigen Usern das Service Pack 3 für Windows XP installiert. Seit dem funktionieren unsere Logon-Scripts nicht mehr vollständig, das heißt, Netzlaufwerke (teilweise auch Drucker) werden nicht mehr vollständig sondern nur noch 2-3 von eigentlich 6 gemappt.
Habe gegooglelt, aber bin leider nicht fündig geworden. Hat vielleicht jemand das selbe Problem?
Bin für jede hilfreiche Antwort dankbar!

Viele Grüße,

Sebastian

PS.: Bei dem vorherigen Windows XP Service Pack 2 hat alles tadellos funktioniert. Wenn jetzt die User mit Service Pack 3 das Logon-Script nach dem Einloggen nochmal manuell ausführen, funktioniert es.
Mitglied: csw
17.10.2008 um 08:10 Uhr
Etwas mehr Input wäre hilfreich.
Wie sieht das Login-Script aus?
Sind die PCs Mitglied in einer Domäne oder wird das Script lokal aufgerufen?
Bitte warten ..
Mitglied: 70705
17.10.2008 um 08:26 Uhr
Ahh, sorry, stimmt: Die PCs sind Mitglied einer Domäne.


Und hier ist das Script:


Dim UserString

'remove network drives
Dim DelNetDrive
Set WshNet = CreateObject("WScript.network")
For DriveAsc = 102 To 121
On Error Resume Next
DelNetDrive = Chr(DriveAsc) & ":"
WshNet.RemoveNetworkDrive DelNetDrive, True, True
Next

' remove all network printers and drives
On Error Resume Next

Set WshNetwork = WScript.CreateObject("WScript.Network")
Set oPrinters = WshNetwork.EnumPrinterConnections
For i = 0 To oPrinters.Count - 1 Step 2
'WScript.Echo oPrinters.Item(i + 1)
WshNetwork.RemovePrinterConnection oPrinters.Item(i + 1)
Next

UserString = WSHNetwork.UserName
Set UserObj = GetObject("WinNT://" & DomainString & "/" & UserString)

'region Logon Script Builder

'True if a user is in the specified OU (including children OUs)
If CheckUserOUTree("OU-Firma") = 1 Then
MapNetworkShare "O:", "\\ip.vom.server\verzeichnis"
MapNetworkShare "P:", "\\ip.vom.server\verzeichnis"
MapNetworkShare "Q:", "\\ip.vom.server\verzeichnis"
MapNetworkShare "R:", "\\ip.vom.server\verzeichnis"
MapNetworkShare "S:", "\\ip.vom.server\verzeichnis"+WSHNetwork.UserName
MapPrinter "\\ip.vom.server\drucker"
MapPrinter "\\ip.vom.server\drucker"
MapPrinter "\\ip.vom.server\drucker"
MapPrinter "\\ip.vom.server\drucker"

Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "\\srvhtdc001\SYSVOL\firma.intern\scripts\tools\LSclient.exe srvhtprt002",0

End If

'True if the user is a member of the specified group
If CheckUserGroupMembership("DG-Aussendienst", "True") = 1 Then
MapPrinter "\\ip.vom.server\drucker"
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("DG-Einkauf-EU", "True") = 1 Then
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("DG-Fibu", "True") = 1 Then
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("DG-Fibu-FR", "True") = 1 Then
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("DG-Grafik", "True") = 1 Then
MapPrinter "\\ip.vom.server\drucker"
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("DG-Informationstechnologie", "True") = 1 Then
MapNetworkShare "M:", "\\ip.vom.server\verzeichnis"
MapNetworkShare "N:", "\\ip.vom.server\verzeichnis"
MapPrinter "\\ip.vom.server\drucker"
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("DG-IS", "True") = 1 Then
MapPrinter "\\ip.vom.server\drucker"
MapPrinter "\\ip.vom.server\drucker"
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("DG-Abteilung01", "True") = 1 Then
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("Gruppe01", "True") = 1 Then
End If

If CheckUserGroupMembership("Gruppe02", "True") = 1 Then
End If

If CheckUserGroupMembership("Gruppe03", "True") = 1 Then
End If

If CheckUserGroupMembership("DG-Abteilung02", "True") = 1 Then
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("DG-Abteilung03", "True") = 1 Then
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("DG-Abteilung04", "True") = 1 Then
MapNetworkShare "T:", "\\ip.vom.server\verzeichnis"
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("DG-Abteilung05", "True") = 1 Then
MapPrinter "\\ip.vom.server\drucker"
MapPrinter "\\ip.vom.server\drucker"
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("G-Abteilung06", "True") = 1 Then
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "\\ip.vom.server\SYSVOL\firma.intern\scripts\tools\bginfo.exe \\ip.vom.server\SYSVOL\firma.intern\scripts\tools\ghd.bgi /timer:0"
End If

If CheckUserGroupMembership("DG-Abteilung07", "True") = 1 Then
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("DG-Abteilung08", "True") = 1 Then
MapPrinter "\\ip.vom.server\drucker"
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("DG-Abteilung09", "True") = 1 Then
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserGroupMembership("DG-Abteilung10", "True") = 1 Then
MapPrinter "\\ip.vom.server\drucker"
WshNetwork.SetDefaultPrinter "\\ip.vom.server\drucker"
End If

If CheckUserOUTree("OU-Azubis") = 1 Then
MsgBoxTimed "Ordner/Datei Berechtigungen sowie Drucker hängen von der jeweiligen Abteilung ab. Abteilungswechsel müssen mindestens 1 Werktag vor dem

Wechsel der IT-Abteilung gemeldet werden (Intranet/Supportanfrage)!", "60"
End If

Select Case UserString

Case "User01"
MapPrinter "\\ip.vom.server\drucker"
MapPrinter "\\ip.vom.server\drucker"
Case "User02"
MapPrinter "\\ip.vom.server\drucker"
MapPrinter "\\ip.vom.server\drucker"
Case "User03"
MapPrinter "\\ip.vom.server\drucker"
Case "User04"
MapNetworkShare "V:", "\\ip.vom.server\Datenaustausch$"
End Select


Function CheckUserGroupMembership(sGroup, bCheckDomainGroup)
sGroup = LCase(sGroup)
Set shell = CreateObject("WScript.Shell")
Set env = shell.Environment("Process")
If env("ISEXE") = "1" Then
FULLID = env("ASEUSERID")
sUser = Right(FULLID,(Len(FULLID) - (InStr(FULLID,"\"))))
Else
sUser = env("USERNAME")
End If
On Error Resume Next
If bCheckDomainGroup Then
Set rootDSE = GetObject("LDAP://rootdse")
If Err.Number <> 0 Then
WScript.Echo "Can not check user group membership." & _
Chr(13) & Chr(10) & "Reason: " & Err.Description & "."
CheckUserGroupMembership = 0
Else
sDomain = rootDSE.Get("DefaultNamingContext")
sQuery = "Select CN,distinguishedName,aDSPath From 'LDAP://" & sDomain & "' Where objectCategory='user' AND samAccountName =

'" & sUser & "'"
Set oConnection = CreateObject("ADODB.Connection")
Set oCommand = CreateObject("ADODB.Command")
oConnection.Provider = ("ADsDSOObject")
oConnection.Open("Active Directory Provider")
oCommand.ActiveConnection = oConnection
oCommand.Properties("Page Size") = 1000
oCommand.Properties("Searchscope") = 2 'ADS_SCOPE_SUBTREE
oCommand.CommandText = sQuery
Set oRecordSet = oCommand.Execute
If Not oRecordset.EOF Then
Set sUserDN = GetObject(oRecordset.Fields("aDSPath"))
CheckUserGroupMembership = 0
If ( _
(sGroup = "domain users" And sUserDN.primaryGroupID = 513) Or _
(sGroup = "domain guests" And sUserDN.primaryGroupID = 514) Or _
(sGroup = "domain computers" And sUserDN.primaryGroupID = 515) Or _
(sGroup = "domain controllers" And sUserDN.primaryGroupID = 516) ) Then
CheckUserGroupMembership = 1
ElseIf Not IsEmpty(sUserDN.MemberOf) Then
For Each oGroup In sUserDN.MemberOf
grpArr = Split(oGroup,",")
fGroup = Join (Split(grpArr(0),"CN="),"")
If sGroup = LCase(fGroup) Then
CheckUserGroupMembership = 1
End If
Next
End If
Else
CheckUserGroupMembership = 0
End If
End If
Else
sUser = LCase(sUser)
Set oNet = CreateObject("WScript.Network")
sGroupComponent = "Win32_Group.Domain='" & oNet.ComputerName & "',Name='" & sGroup & "'"
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\.\root\cimv2")
Set oGroupList = objWMIService.ExecQuery("Select * FROM Win32_GroupUser where GroupComponent = """ & sGroupComponent & """")
For Each oGroup In oGroupList
Set oAccount = objWMIService.Get(oGroup.PartComponent)
If LCase(oAccount.Name) = sUser Then
CheckUserGroupMembership = 1
Exit For
End If
Next
Set objWMIService = Nothing
End If
End Function

Function CheckUserOUTree(OU)
Dim sUser
Set oNet = CreateObject("WScript.Network")
Set shell = CreateObject("WScript.Shell")
Set env = shell.Environment("Process")
If env("ISEXE") = "1" Then
FULLID = env("ASEUSERID")
sUser = Right(FULLID,(Len(FULLID) - (InStr(FULLID,"\"))))
Else
sUser = env("USERNAME")
End If
Set rootDSE = GetObject("LDAP://rootdse")
RootDSE = rootDSE.Get("DefaultNamingContext")
Set oCn = CreateObject("ADODB.Connection")
Set oCmd = CreateObject("ADODB.Command")
oCn.Provider = "ADsDSOObject"
oCn.Open "Active Directory Provider", "", ""
Set oCmd.ActiveConnection = oCn
oCmd.Properties("Page Size") = 1000
oCmd.Properties("Searchscope") = 2 ' ADS_SCOPE_SUBTREE
oCmd.CommandText = "Select distinguishedName From 'LDAP://" & RootDSE & "' Where objectCategory='user' And SamAccountName = '" & sUser & "'"
Set oRs = oCmd.Execute
CheckUserOUTree = 0
Do Until oRs.EOF
If InStr(UCase(oRs.Fields("distinguishedName")), "=" & UCase(OU) & ",") Then
CheckUserOUTree = 1
End If
oRs.MoveNext
Loop
End Function

Sub MapNetworkShare(LocalDrive, NetworkPath)
'Maps specified network share to local drive.
Set objNetwork = WScript.CreateObject("WScript.Network")
On Error Resume Next
objNetwork.MapNetworkDrive LocalDrive, NetworkPath
If Err.Number <> 0 Then WScript.Echo "Can not map path """ & NetworkPath & """ to drive """ & LocalDrive & """." & _
Chr(13) & Chr(10) & "Reason: " & Err.Description
End Sub

Sub MsgBoxTimed(Message, TimeoutPeriod)
'Display timed message box.
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Popup Message, TimeoutPeriod
End Sub

Sub MapPrinter(PrinterPath)
'Maps a printer based on the provided printer path.
Dim objWMIService, colPrinters
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colPrinters = objWMIService.Get("Win32_Printer")
On Error Resume Next
errReturn = colPrinters.AddPrinterConnection(PrinterPath)
If Err.Number <> 0 Then
WScript.Echo "Can not map printer """ & PrinterPath & """." & _
Chr(13) & Chr(10) & "Reason: " & Err.Description
Else
If errReturn <> 0 Then
errMsg = "Can not map printer """ & PrinterPath & """." & Chr(13) & Chr(10)
If errReturn = 1801 Then
errMsg = errMsg & "Reason: Printer name is invalid."
Else
errMsg = errMsg & "Error #" & errReturn & "."
End If
WScript.Echo errMsg
End If
End If
Set objWMIService = Nothing
End Sub


'endregion
Bitte warten ..
Mitglied: 70705
27.10.2008 um 07:22 Uhr
Hat niemand einen Vorschlag? Ist dieses Problem niemandem bekannt?
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Microsoft
Windows 10 logon script: alle Apps löschen (3)

Frage von thomasreischer zum Thema Microsoft ...

Hyper-V
gelöst Bestehende XP-Installation mit Hyper-V virtualisieren (30)

Frage von fox14ch zum Thema Hyper-V ...

Exchange Server
Installation aktuelles Rollup für Exchange 2010 SP3 - Schwierigkeiten? (4)

Frage von Excaliburx zum Thema Exchange Server ...

Batch & Shell
gelöst Mit welchen Rechten wird ein Startup Script ausgeführt? (3)

Frage von vessev zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (29)

Frage von patz223 zum Thema Windows Userverwaltung ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (20)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...