mdudzik
Goto Top

Problem mit Netzwerkfreigabe Zugriff

Halloo,

nach stundenlangem googlen, komm ich einfach nicht weiter und dachte mir dass ich mein Problem einfach mal hier schildere.

Folgendes:

Ich habe einen Win2003 SBS server und zwei Clients. Auf dem Server gibts zwei Netzwerkfreigaben zu Daten-Ordnern auf die von den Clients zugegriffen werden soll. Ordner PUBLIC und Ordner PRIVATE

Nun gibt es in der Domäne einen Benutzer A und einen Benutzer B.
Benutzer A darf nur auf Ordner PUBLIC zugreifen. Benutzer B darf auf beide Ordner zugreifen.
Die Freigaben werden jenachdem welcher Benutzer sich anmeldet per NETLOGON script als Laufwerke gemappt.
Das funktioniert "eigentlich" noch.....

Mein Problem ist nun, dass es manchmal passiert, dass ich mich als Benutzer B anmelde und auf das Laufwerk PUBLIC aber nicht auf das Laufwerk PRIVATE zugreifen kann. Nicht nur im Arbeitsplatz...auch in der Netzwerkumgebung. Meldung "Zugriff verweigert".

Wenn das passiert, sehe ich auf dem Server bei Netzwerkfreigaben unter Sitzungen, dass nicht der Benutzer B sondern der Benutzer A auf diesem Rechner angemeldet ist?!?!
Wie kann das sein?? Obwohl ich auf jeden Fall als Benutzer B angemeldet bin am Client?!?!

Jetzt ist mir ja aufgefallen, dass wenn man in einer Session am Client mit einer bestimmten benutzerkennung auf eine Freigabe zugreift, man nur noch diese Verwenden kann bis man sich neu anmeldet am Client!
Evtl. liegt es an irgendeinem Dienst oder Programm dass sich beim Anmelden immer mit BENUTZER A irgendwo ins Netzwerk verbindet?!?!Und dann kann ich mich natürlich nicht mehr als Benutzer B anmelden wenn der Dienst zuvor schonmal Benutzer A hat. Falls dieser prozess vor dem NETLOGON script ausgeführt wird.
Falls die prozesse und NETLOGON in einer immer wieder zufälligen reihenfolge ausgeführt werden, würde es erklären warum es manchmal funktioniert mit dem Zugriff und manchmal nicht.
Habe aber eigenltich alle laufenden Prozesse gechecked.....mir ist da nichts aufgefallen!

Fällt euch vielleicht noch etwas ein, oder kennt einer vielleicht das Problem??

Danke euch schon mal!!

Grüße

Content-Key: 129063

Url: https://administrator.de/contentid/129063

Printed on: April 19, 2024 at 04:04 o'clock

Member: Komabaer
Komabaer Nov 10, 2009 at 15:16:48 (UTC)
Goto Top
Hi,

das hört sich für mich stark danach an das du den Parameter "/persistent" nicht auf "no" gesetzt hast.
Denn damit werden die Netzwerkverbindungen _nicht_ jedesmal neu verbunden wenn du dich anmeldest sondern erst wenn das Skript durchläuft.

Du solltest dich einmal mit dem Benutzer anmelden, die Netzluafwerke trennen und dich ab- und wieder anmelden mit dem oben genannten Parameter.
Dann sollte das auch ohne Probleme funktionieren :o)
Member: mdudzik
mdudzik Nov 10, 2009 at 15:42:31 (UTC)
Goto Top
ja das hab ich auch schon gedacht.....aber LEIDER steht "/persistent" schon auf "no"
Member: Henschki
Henschki Nov 10, 2009 at 15:57:41 (UTC)
Goto Top
Hallo,

hast du Gruppenrechtlinen erstellt? Dann könntest du die beiden User in verschiedene Gruppen nehmen und sie dann mittels Skript beim Start den einzelnen Gruppen zuordnen. z.b so:

###QUELLCODE####

Dim strComputerName
Dim strUserName
Dim strDomainName
dim strUserOU
Dim strPrinter

Dim objADSysInfo
Dim wshNetwork
Dim WshShell
Dim WshSysEnv
Dim oShell
Dim oShFolder
Dim objUser
Dim objOU
Dim objNetwork
Dim rootDSE
Dim oPq
Set wshNetwork = WScript.CreateObject( "WScript.Network" )
Set WshShell = WScript.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")

strComputerName = wshNetwork.computerName
strUserName = wshNetwork.userName
strDomainName = wshNetwork.userDomain


Server1 = "XXXXXXXXX"


Do While wshNetwork.username = ""
WScript.Sleep 500
Loop


wshShell.Run "net time /domain:" & wshNetwork.UserDomain & " /set /yes", 0, TRUE


Call subdrivemap


Sub subdrivemap()


adspath = "WinNT:
" & strDomainName & "/" & strUserName

Set adsobj = GetObject( adspath )

'##### vorhandene Laufwerke löschen

On Error Resume Next
wshNetwork.RemoveNetworkDrive "X:", True, True
wshNetwork.RemoveNetworkDrive "Y:", True, True


wshNetwork.MapNetworkDrive "Y:", "\\"&Server1&"\PRIVATE"


For Each prop In adsobj.groups


Select Case UCase(prop.name)


Case "Gruppe A"

WScript.Echo "Anmeldung für "& strUserName erfolgreich!"

Case "Gruppe B"
wshNetwork.MapNetworkDrive "X:", "\\"&Server1&"\PUBLIC"
WScript.Echo "Anmeldung für "& strUserName erfolgreich!"
Exit Sub

End Select

Next

End Sub


Dann überprüft der beim Start welche Gruppe dem User gehört und mappt dann die Laufwerke, nachbelieben kann man auch noch Drucker hinzufügen.


Gruß Martin
Member: mdudzik
mdudzik Nov 11, 2009 at 08:38:49 (UTC)
Goto Top
hallo,

danke für den Tip....aber leider zeigt sich dabei das gleiche Verhalten....
Member: Henschki
Henschki Nov 11, 2009 at 08:51:50 (UTC)
Goto Top
Hallo,

ich denke mal das Problem liegt an der AD... Das dort irgendein Fehler in der userverwaltung ist. Vll solltest du das mal checken...


Gruß Martin