mr-hanky
Goto Top

Bei Nutzeranmeldung Domänengruppen auslesen und Batch starten

Moin,

brauch Hilfe bei folgender Problemstellung:

Ich möchte unsere Domäne so einrichten, dass Nutzer passend zu Ihrer jeweiligen Gruppenzugehörigkeit Netzwerklaufwerke verbunden bekommen.

Wie muss eine Batch-Datei oder ein VBS-Script aussehen, dass beim Anmelden eines Nutzers dessen Gruppenzugehörigkeit ausließt und dann passend dazu Batches mit den net use Befehlen lädt?


Danke schon mal im Vorraus und Gruß

Daniel

Content-Key: 148949

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

Printed on: April 24, 2024 at 06:04 o'clock

Member: Pjordorf
Pjordorf Aug 13, 2010 at 12:39:57 (UTC)
Goto Top
Hallo Daniel,

Zitat von @mr-hanky:
Ich möchte unsere Domäne so einrichten, dass Nutzer passend zu Ihrer jeweiligen Gruppenzugehörigkeit
Netzwerklaufwerke verbunden bekommen.
Dazu gibt es das IfMember. Ist eine EXE Datei. http://www.microsoft.com/downloads/details.aspx?FamilyID=07C2F6D7-815E- ...
Zu IFMember gibt es auch ganz vile im Netz zu lesen.

Peter
Member: DerWoWusste
DerWoWusste Aug 13, 2010 at 12:40:33 (UTC)
Goto Top
Moin.
Wenn die Clients xp oder höher sind, macht man das mit GPPs. Dazu muss auf den Clients (wenn xp oder Vista, bei win7 unnötig) zunächst MS kb973429 installiert werden. Weitere Anleitung in eben diesem KB-Artikel.

Alternativ nutzt man die ifmember.exe, die man bei MS runterladen kann.
Member: TheToxic
TheToxic Aug 17, 2010 at 12:21:48 (UTC)
Goto Top
Schau dir mal diese Anleitung an
Laufwerkszuordnung per Gruppenrichtlinien

Vielleicht hilft dir diese das ganze Problem mit dem Auslesen der Gruppenzugehörigkeit etc. zu "umgehen".
Member: mr-hanky
mr-hanky Aug 18, 2010 at 16:33:55 (UTC)
Goto Top
Danke für die Vorschläge... zusätzliche Installationen sind leider so nich möglich (sehr hohe IT-Sicherheitsanforderungen von meinem Arbeitgeber).

Die Anleitung von TheTocix is auch cool aber ich habe diese Einstellung noch nie unter Windows Server 2003 gesehen, weshalb ich mal (die Grafik hat dazu beigetragen) vermute, dass es diese Möglichkeit erst ab Windows Server 2008 gibt.

Allerdings habe ich jetzt via VB-Script eine Lösung implementiert, die wirklich super gut funktioniert.
Member: DerWoWusste
DerWoWusste Aug 18, 2010 at 18:40:50 (UTC)
Goto Top
Diese Möglichkeit gibt es ab Windows 2000 Server. Jedoch müsste der Server dafür über RSAT von einem Client mit Vista oder höher gemanaged werden. Nativ erst ab 2008, das ist richtig.
Member: manuwj
manuwj Apr 27, 2011 at 13:24:35 (UTC)
Goto Top
Zitat von @mr-hanky:
Danke für die Vorschläge... zusätzliche Installationen sind leider so nich möglich (sehr hohe
IT-Sicherheitsanforderungen von meinem Arbeitgeber).

Die Anleitung von TheTocix is auch cool aber ich habe diese Einstellung noch nie unter Windows Server 2003 gesehen, weshalb ich
mal (die Grafik hat dazu beigetragen) vermute, dass es diese Möglichkeit erst ab Windows Server 2008 gibt.

Allerdings habe ich jetzt via VB-Script eine Lösung implementiert, die wirklich super gut funktioniert.

Hallo mr-hanky,

wäre noch interessant zu sehen welche Lösung du nun implementiert hast. Da ich auch gerade an diesem Punkt bin, wäre ich um einen Vorschlag Froh face-smile

Danke, Manu
Member: mr-hanky
mr-hanky Apr 28, 2011 at 10:38:27 (UTC)
Goto Top
Zitat von @manuwj:
Hallo mr-hanky,

wäre noch interessant zu sehen welche Lösung du nun implementiert hast. Da ich auch gerade an diesem Punkt bin,
wäre ich um einen Vorschlag Froh face-smile


hi,

kein problem. speicher folgenden Quelltext in einer datei mit der endung .vbs und lass diese via GPO bei jeder Nutzeranmeldung ausführen:

Dim strComputerName
Dim strUserName
Dim strDomainName

Dim objADSysInfo
Dim wshNetwork
Dim WshShell
Dim WshSysEnv
Dim oShell
Dim oShFolder
Dim objUser
Dim objOU
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")  

FileServer = "SERVERNAME1"  
WeitererServer = "SERVERNAME2"  

'Warten bis der Anmeldename des Users ermittelt wurde  
Do While wshNetwork.username = ""  
   WScript.Sleep 250
Loop

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

Call subdrivemap 'Aufruf der Subroutine zum Laufwerkmappen  

Sub subdrivemap()

' ### ADSI abfragen  
adspath = "WinNT://" & strDomainName & "/" & strUserName  

Set adsobj = GetObject( adspath )

'##### vorhandene Laufwerke löschen  

On Error Resume Next
wshNetwork.RemoveNetworkDrive "T:", True, True  
wshNetwork.RemoveNetworkDrive "Z:", True, True  


'##### für jeden gültige Laufwerke mappen  
wshNetwork.MapNetworkDrive "T:", "\\SERVER\FREIGABE1"  
wshNetwork.MapNetworkDrive "Z:", "\\SERVER\FREIGABE2"  


'##### Gruppenabhängige Laufwerke mappen  

For Each prop In adsobj.groups

'* ACHTUNG! Gruppennamen immer GROSS schreiben  
Select Case UCase(prop.name)

Case "AD-GRUPPE1"  
  wshNetwork.MapNetworkDrive "G:", "\\SERVER\FREIGABE3"  

Case "AD-GRUPPE2"  
  wshNetwork.MapNetworkDrive "H:", "\\SERVER\FREIGABE4"  

Case "AD-GRUPPE3"  
  wshNetwork.MapNetworkDrive "I:", "\\SERVER\FREIGABE5"  
  wshNetwork.MapNetworkDrive "J:", "\\SERVER\FREIGABE6"  

End Select

Next

End Sub

Brauchst nur AD-GRUPPE durch die deinen Nutzern zugeordnete Gruppe (so wie sie im Active Directory steht) ersetzen, die Laufwerksbuchstaben anpassen und die Serverfreigabe angeben. Vorteil: Hast du AD-Gruppen denen jeweils min. ein laufwerk zugeordneten werden soll, die aber nie zusammen einem benutzer zugeordnet werden, kannst du den gleichen laufwerksbuchstaben mehrmals verwenden.

bei fragen einfach schreiben...

gruß daniel