53111
Goto Top

Automatisch Home Verzeichnis für Domain Nutzer anlegen

Hallo
ich möchte auf einem Win 2003 server automatisch home verzeichnisse für jeden neu angelegten Domain nutzer anlegen. ist sowas möglich und wie mache ich sowas. die verzeichnisse sollten den selben namen haben wie der bentzername und nur dem benutzer selbst volle zugriffsrechte geben.

gruß saibonaut

Content-Key: 68584

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

Printed on: April 23, 2024 at 12:04 o'clock

Member: Logan000
Logan000 Sep 13, 2007 at 09:44:35 (UTC)
Goto Top
Unter Basisordner trägst Du einfach ein:
Verbinden von H: mit \\Server\Home\%Username%
Mitglied: 53111
53111 Sep 13, 2007 at 09:56:25 (UTC)
Goto Top
hat so ein eintrag auswirkungen darauf wer auf den ordner zurgiffsrechte hat? kann ich nicht theoretisch als anderer nutzer auf \\Server\Home\%fremder_Username% zugreifen. ich möchte dass nur der nutzer zugriff hat bei dem der benutzername gleich dem ordnernamen ist.
Member: Logan000
Logan000 Sep 13, 2007 at 10:16:22 (UTC)
Goto Top
Der jeweilige User bekommt natürlich Vollzugriff.
Weitere Berechtigungen hängen von der Rechtevererbung des übergeordneten Verzeichnisses ab (hier Home).
Mitglied: 53111
53111 Sep 13, 2007 at 11:52:39 (UTC)
Goto Top
kann ich das auch irgendwie lösen ohne ein netzlaufwerk einhängen zu müssen. und wie würde ich das jetzt für mehrer nutzer machen. ich müsste ja jeden nutzer anklicken und ihm mitteilen welches sein homelaufwerk ist.


vielleicht auch als erweiterung zu meinem netzlaufwerkscript:

Dim netzobjekt, benutzername, laufwerkarray, arraylaenge, zaehler, g, h, i, j, k 
set netzobjekt=wscript.createobject("wscript.network")  
benutzername = netzobjekt.UserName
rechnername = netzobjekt.ComputerName
Set test = netzobjekt.EnumNetworkDrives
	
'Laufwerknamen + gewünschten Pfad hier einstellen:'  
laufwerkarray = Array(	"Z:",_  
			                  "\\Server2\Home\"&benutzername)  

If rechnername = "SERVER2" Then  

Else
    If test.Count <> 0 Then
          	For h = 0 to UBound(laufwerkarray) - 1 Step 2
            	 For g = 0 to test.Count - 1 Step 2
          		    If laufwerkarray(h) = test.Item(g) And laufwerkarray(h+1) = test.Item(g+1) Then
                  zaehler = zaehler + 1 
                  Else	
          		    End If
               Next
            Next
            
            If zaehler = (UBound(laufwerkarray) + 1) / 2 AND zaehler < 26  Then
            Else
                 call sublaufwerke 
            End If  
            
    Else
       call sublaufwerke 
    End If

End If


Sub sublaufwerke 


      	
      For i = 0 to test.Count - 1 Step 2
      	For j = 0 to UBound(laufwerkarray)			
      		If test.Item(i) = laufwerkarray(j) Then
              netzobjekt.RemoveNetworkDrive laufwerkarray(j), true, true				
      		End If
      	Next
      Next
      
      For k = 0 to (UBound(laufwerkarray)-1) 			
        netzobjekt.mapnetworkdrive laufwerkarray(k), laufwerkarray(k+1), true
      Next


End Sub 
Member: Logan000
Logan000 Sep 13, 2007 at 12:05:10 (UTC)
Goto Top
Must du nur noch an geeigneter stelle einbauen (vor dem verbinden).

path = "\\Server\Home\" & benutzername   
Set fso = CreateObject("Scripting.FileSystemObject")  
if not fso.FolderExists(Path) Then
	fso.createfolder Path		
end if
Mitglied: 53111
53111 Sep 13, 2007 at 12:18:34 (UTC)
Goto Top
dim datenobj
set datenobj=CreateObject("Scripting.FileSystemObject")  
datenobj.CreateFolder("\\Server2\Home\TEST2")  

werde mal testes ob das mit den rechten auch so funktioniert wie ich will
Mitglied: 53111
53111 Sep 13, 2007 at 12:25:39 (UTC)
Goto Top
leider geht es auf einem normalen benutzeraccount doch nicht. bei einem normalen nutzer kommt die meldung: erlaubnis verweigert. wenn ich nun die rechte des \\Server2\Home verzeichnisses so ändern würde das jeder nutzer darauf schreiben kann ist die ganze geschichte mit dem "PRIVAT" verzeichnis für jeden hinfällig, oder?
Mitglied: 53111
53111 Sep 13, 2007 at 12:37:42 (UTC)
Goto Top
Alos ich habe das jetzt getestet indem ich jedem nutzer schreibrechte auf //Server2/Home gegeben habe und das skript ausgeführt habe:


Dim netzobjekt, benutzername, laufwerkarray, arraylaenge, zaehler, g, h, i, j, k 
set netzobjekt=wscript.createobject("wscript.network")  
benutzername = netzobjekt.UserName
rechnername = netzobjekt.ComputerName

 dim datenobj
  set datenobj=CreateObject("Scripting.FileSystemObject")  
    'Vorsicht kein Test an schon bestehendem Nutzer ohne "2"'  
    if datenobj.FolderExists("\\Server2\Home\"& benutzername) Then  
  
    Else
        datenobj.CreateFolder("\\Server2\Home\"& benutzername)  
    End If    


Set test = netzobjekt.EnumNetworkDrives
	
'Laufwerknamen + gewünschten Pfad hier einstellen:'  
laufwerkarray = Array(	"Z:",_  
			                  "\\Server2\Home\"&benutzername)  

If rechnername = "SERVER2" Then  

Else
    If test.Count <> 0 Then
          	For h = 0 to UBound(laufwerkarray) - 1 Step 2
            	 For g = 0 to test.Count - 1 Step 2
          		    If laufwerkarray(h) = test.Item(g) And laufwerkarray(h+1) = test.Item(g+1) Then
                  zaehler = zaehler + 1 
                  Else	
          		    End If
               Next
            Next
            
            If zaehler = (UBound(laufwerkarray) + 1) / 2 AND zaehler < 26  Then
            Else
                 call sublaufwerke 
            End If  
            
    Else
       call sublaufwerke 
    End If

End If


Sub sublaufwerke 
    	
      For i = 0 to test.Count - 1 Step 2
      	For j = 0 to UBound(laufwerkarray)			
      		If test.Item(i) = laufwerkarray(j) Then
              netzobjekt.RemoveNetworkDrive laufwerkarray(j), true, true				
      		End If
      	Next
      Next
      
      For k = 0 to (UBound(laufwerkarray)-1) 			
        netzobjekt.mapnetworkdrive laufwerkarray(k), laufwerkarray(k+1), true
      Next


End Sub 


der ordner wird mit dem namen erstellt. allerdings haben auch andere nutzer im netzwerk zugriffsrechte auf den ordner (und nicht nur schreibrechte wie man vermuten könnte!) wie kann ich die rechte eines ordners per vbs nun verstellen? der namen des neu erstellten ordners ist auch der name des nutzers der vollzugriff haben soll!