cometcola
Goto Top

Netzlaufwerke nur bestimmten Gruppen zuteilen

Hallo,

ich habe folgenes Problem:


Ich habe mehrere Gruppen im Active Directory unter Windows Server 2003 erstellt. Jede Gruppe soll ein Transferlaufwerk erhalten, wo andere keinen Zugriff haben.
Da ich schon viel gefunden habe zu diesem Thema, aber nicht wirklich alles verstanden habe, hoffe ich das Ihr mir helfen könnt bzw. wollt face-wink

Gruppen:


Verwaltung:

Service:

Verkauf:

Geschäftsführung

Das Logon Script habe ich unter Eigenschaften Person xy --> Profil und dann den Namen des Sciptes unter Anmeldescript eingegeben.


Jeder Benutzer (sind ungefähr 15)hat sein eigenes Home Laufwerk. Dies habe ich wie folgt realisiert:

Eigenschaften der Person --> Basisordner --> Verbinden von H: und dann das Verzeichnis ausgewählt. ( \\server\home$\%username% )


So und ich habe schon versch. Logon Scripte ausprobiert, habe es aber nicht zum laufen bekommen. Ich würde mich freuen wenn jmd. Vorschläge hat wie ich es am Besten realiseren kann. Vllt. mit einem fertigen Script face-wink

Über Kritik/Verbesserung zu meiner Lösung mit den Home Laufwerken würde ich mich auch freuen.

So hoffe das ich nix vergessen hab wenn Fragen bestehn einfach fragen.


Mit freundlichen Grüßen

Cometcola

Content-Key: 116079

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

Printed on: April 16, 2024 at 21:04 o'clock

Mitglied: 60730
60730 May 14, 2009 at 12:22:18 (UTC)
Goto Top
Servus,

zum Thema Loginscript gibt es einen ganz klaren "Favorit"
Kixtart Download Und im Kixtart manual sind ganz viele "fix & fertige" Skripte drin.

Über Kritik/Verbesserung zu meiner Lösung mit den Home Laufwerken würde ich mich auch freuen.

*ähh* "nur", weil du es "richtig machst, gleich ein Lob kassieren?
Naja wenn sein soll *Super* gemacht face-wink


[edit]
und wenn du "Kritik" einstecken kannst ....
Vermeide - wie der Teufel das Weihwasser - Umlaute in Gruppen und Benutzernamen!
Geschäftsführung
besser wäre GL
[/edit]

Gruß
Member: Cometcola
Cometcola May 14, 2009 at 12:28:49 (UTC)
Goto Top
danke.

Also ich hätte an eine einfachere Lösung gedacht. Und zwar kann man ja jeder Gruppe eine Batchdatei zuweisen.

net use M: \\servername\Abteilungen$\Verwaltung

net use S: \\servername\Abteilung$\Service

net use V: \\servername\Abteilung$\Verkauf

und ich habe versucht, dass man diese Befehle in eine Batchdatei schreibt und dann bei jedem Benutzer guckt in welcher Grupper er ist und ihn so die Laufwerke zu verfügung stellt. Aber leider hat es nicht geklappt


//
Ok das mit den Umlauten werde ich ändern. Danke für den Hinweis
Member: napperman
napperman May 14, 2009 at 12:35:46 (UTC)
Goto Top
Moin, ich habe hier mal irgendwann ein Script gefunden und dieses dann meinen Bedürnissen angepasst.
Diese habe ich dann den Usern der entprechenden Gruppen zugeordnet.
Ist ein vbs:

' Logon Script
'**
On Error Resume Next

Dim objFSO,objFILE,objShell,objNetwork, strWelcomeMsg, strHelpMsg, iErrorTimeout, blnShowError
Set objFSO=CreateObject("Scripting.FileSystemObject")
Set objShell=CreateObject("Wscript.Shell")
Set objNetwork=CreateObject("Wscript.Network")
Set wshNetwork = WScript.CreateObject( "WScript.Network" )
Const Company = "Durch Firmennamen ersetzen"


strWelcomeMsg="Willkommen " & objNetwork.UserName & ", in der Domain " & objNetwork.UserDomain & "!" & vbCrLf & vbCrLf & "Ihre Systemzeit wurde mit dem Anmeldeserver synchronisiert." & vbCrLf & vbCrLf & "Aktuelles Datum und Uhrzeit: " & vbCrLf & Now()
strHelpMsg=""
iErrorTimeout=60
blnShowError=False

' Zeit Synchronisieren
objShell.Run "net time \\ZEITSERVER /set /yes", 0, True
' Laufwerke löschen
objShell.Run "net use /delete g: /yes", 0, True
objShell.Run "net use /delete i: /yes", 0, True
objShell.Run "net use /delete k: /yes", 0, True
objShell.Run "net use /delete v: /yes", 0, True
objShell.Run "net use /delete m: /yes", 0, True
objShell.Run "net use /delete t: /yes", 0, True
objShell.Run "net use /delete u: /yes", 0, True
objShell.Run "net use /delete z: /yes", 0, True
objShell.Run "net use /delete o: /yes", 0, True
objShell.Run "net use /delete w: /yes", 0, True
objShell.Run "net use /delete q: /yes", 0, True
objShell.Run "net use /delete p: /yes", 0, True
objShell.Run "net use /delete y: /yes", 0, True
' Laufwerke mappen
objShell.Run "net use g: \\HM_srv02\Daten", 0, True
objShell.Run "net use i: \\HM_srv02\Daten2", 0, True
objShell.Run "net use k: \\HM_srv02\Daten3", 0, True
objShell.Run "net use t: \\HM_srv02\Tausch", 0, True
objShell.Run "net use z: \\HM_SRV02\zeiterfassung", 0, True
objShell.Run "net use o: \\Nas\Grafik_Stamm", 0, True
objShell.Run "net use w: \\Nas\intern", 0, True
objShell.Run "net use q: \\Nas\GrafikArchiv", 0, True
objShell.Run "net use v: \\Nas\Verwaltung", 0, True
objShell.Run "net use p: \\Nas\Produktion", 0, True
objShell.Run "net use u: \\Farbserver\GMG_Daten", 0, True
' Homverzeichnis des Users(Ordner=Benutzername)
objShell.Run "net use Y: \\HM_srv02\Tausch\" & objNetwork.Username , 0, True

' Zusammenfassung erstellen
iDisplayTimeout=20 ' Nachricht schließt sich nach 20 Sekunden
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 & "Verbindung zu Netzlaufwerk(en):" & vbcrlf

If objDrives.Count = 0 Then
strMsg = strMsg & CRLF & _
"Kein Netzlaufwerk ist verbunden." & CRLF
Else
For i = 0 to objDrives.Count - 1 Step 2
strMsg=strMsg & "Laufwerk " & objDrives.Item(i) & "=" & objDrives.Item(i+1) & vbcrlf
Next
strMsg=strMsg & vbcrlf
End if


' Zusammenfassung zeigen
If strMsg<>"" Then objShell.Popup strMsg,iDisplayTimeout,Company,vbOKOnly+vbInformation

' Ende des Haupscripts

' Benötigte Funktionen
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="Passwort läuft ab in: " & vbCrLf & 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

Sub 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 & Err.Description
objShell.Popup strMsg,iErrorTimeOut,"Error",vbOKOnly+vbExclamation
Err.Clear
End If
End Sub

Du packst das in ne Textdatei und speicherst sie als .vbs
Vorher die Pfade alle anpassen und den Zeitserver eintragen
Mitglied: 60730
60730 May 14, 2009 at 12:36:36 (UTC)
Goto Top
Moin,

definiere "einfach" mal ganz genau face-wink

Einfach ist ein Script, das "logisch alles abarbeitet.

Einfach ist, wenn ein User die Abteilung wechselt, den User lediglich in eine andere Gruppe zu schieben und nicht auch noch daran denken zu müssen, sein loginscript umzubiegen face-wink

Kixscript:

IF INGROUP ("domain\Verwaltung")   
	use m:"\\servername\Abteilungen$\Verwaltung"  
endif

usw. Wenn du Kixtart nicht nehmen willst - besorg dir das reskit von 2003 und nimm ifmember - aber das nur als Ausnahme - Kix "kann" nicht nur Gruppen abfragen, sondern auch Regkeys usw. usf.

Gruß

edit @ Nappermän - jau ein vbs ist ja natürlich gleich viel viel besser und kostet auch kaum Zeit bei der täglichen Anmeldung - und "kurz" ist es auch noch face-wink /edit
wo hab ich heute nur meine Ironie versteckt?

Immer frei nach dem Motto, kaum meldet sich jemand, mit einer guten Idee, gleich eine schlechte hinterherwerfen face-wink

btw: ob es ein Net Use * /delete nicht auch tun würde?
Du packst das in ne Textdatei
...und du nicht in Code Blöcke - warum war eigentlich keine Zeit - dein Script zu Antonymisieren drin face-wink

Jetzt weiß alle Welt, das Ihr als Fileserver ein NAS habt - ich hätt ja wenigstens das noch in SAN geändert face-wink
Member: Cometcola
Cometcola May 14, 2009 at 12:41:03 (UTC)
Goto Top
danke für Eure Hilfe.
Werde das mal ausprobieren.

Mfg

Cometcola