Jump to content

Ordner über Login mit KiXtart erstellen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hi Cappuccino und Willkommen im Board !

 

Bevor wir hier anfangen zu scripten erstmal ein paar Fragen:

 

Das hört sich so an, als wenn Du über ein LoginScript einem neuen User eine Homelaufwerk anlegen lassen und dieses ihm freigeben willst.

 

Wenn dem so ist, solltest Du bedenken, daß dieser User dann Domain-AdminRechte haben muß, da das Script mit UserRechten abläuft.

 

Mit KixtArt ist das sicherlich machbar, aber im Netzwerk nicht sinnvoll, wenn jeder Domain-AdminRechte hat !

 

Bevor jetzt also die Doc rausgekramt wird, wär es nett, wenn Du schreibst, was Du erreichen willst ! ;)

Link zu diesem Kommentar

Tut mir leid, da widersprechen zu müssen. Aber der User braucht wohl keine Adminrechte, um auf einem Server einen Ordner zu erstellen. Ich praktiziere das schon eine Weile und meine User haben definitiv keine Adminrechte (NT4).

Zum Anfrage von Cappuccino:

Wie unter Kix ein Ordner angelegt wird -> mal das Manual lesen. Hab noch nix damit gecodet.

Das Problem, das du auf jeden Fall bekommen wirst, ist das Mappen.

Mal angenommen, du hast auf deinem Server eine Partition H:, dort ein lokales Verzeichnis "home" -> k:\home .

Das Ganze hast du freigegeben als \\server\home$

Die versteckte Freigabe ($) würde ich auf jeden Fall bevorzugen. Dann sieht das Teil nicht gleich jeder.

Jetzt kommst du mit deinem Script und prüfst, ob der User hier schon ein Verzeichnis hat -> if exist \\server\home$\%USERNAME%\nul goto sonstwas

Je nach dem, ob der Ordner existiert oder nicht, springst du verschiedene Ziele an usw.

Im Falle, das der Ordner %USERNAME% nicht existiert, legst du ihn an -> md \\server\home$\%USERNAME%

Danach müsste das Mappen erfolgen -> net use H: \\server\home$\%USERNAME%

Und das geht nach meinen bisherigen Erfahrungen in die Hose. Das Mappen mittels "net use" geht eben nur auf die Freigabe selbst (hier \\server\home$ ), nicht aber auf einen Unterordner.

Da das so nicht zu gehen scheint, liefere ich dem User sein HOME per subst

-> subst h: /d 1>nul #löscht ein evtl. vorher gesubstes H:, gibt sonst Probleme

-> subst h: \\server\home$\%USERNAME% #"mappt" dem User sein HOME

 

Das Ganze müsstest du jetzt nur noch "ein-kiksen" ;)

Thomas

Link zu diesem Kommentar

Hi himbidas !

Ok - gehen wir ans Eingemachte !

 

Für meine Geschmack hat dann für Dein Szenario "Jeder" zuviele Rechte auf home$, wenn er dort ein neues HomeLaufwerk erstellen kann (ok - ist Geschmacksache) . Eine domainweite Freigabe mit Freigaberechten darf nur ein Domain-Admin erstellen.

Der subst-Befehl funktioniert einwandfrei unter NT und XP - aber nicht unter w2k - darum ging es in dem Thread (zumindest funktioniert bei mir subst unter w2k definitiv nicht korrekt. Das Laufwerk wird zwar gemappt, aber es kann nicht drauf zugegriffen werden.

 

Weiterhin ist mir nicht klar, wie Du die Vererbungsrechte auf home$ organisierst (NTFS), damit der neue User dort nur sein Homelaufwerk findet und nicht auch alle anderen - das Schema ist ja für alle User das gleiche - die vererbten Rechte also auch - oder ?

 

Wenn ich in einem Netzwerk ein persönliches Homelaufwerk zugewiesen bekommen, möchte ich auch davon ausgehen können, daß es außer mir auch nur die DomainAdmins lesen können.

Link zu diesem Kommentar

:wink2: Hallöchen,

 

der User hat in dem Verzeichnis (NTFS/W2k-Server) Änderungs-Rechte. In diesem Verzeichnis soll er über das LoginScript einen Ordner anlegen. Der Ordner soll die Bezeichnung des %Username% haben. Rechte folgen...

 

if not exist \\Server\Verzeichnis$\%username%

md \\Server\Verzeichnis$\%username%

use u: \\Server\Verzeichnis$\%username%

endif

 

Ich weis nicht ob da so richtig ist !

oder:

 

if exist \\Server\Verzeichnis$\%username% \nul goto x:

x:

md \\Server\Verzeichnis$\%username%

use u: \\Server\Verzeichnis$\%username%

endif

 

Danach soll der User-Ordner Administrator Vollzugriff und der User das Recht zu Ändern bekommen. Ich dachte das könnte das einfach mit Xcalcs machen?!

 

xcalcs <Verzeichnis><Parameter>

xcalcs \\Server\Verzeichnis$\%username% /y/t/c/g %username%:c Administratoren:f

 

Ich habe das Problem meine ganzen Internet-Infos richtig auf die Reihe zu bekommen...

Vielen Dank schon mal für Eure Hilfe!

Link zu diesem Kommentar

Hi zuschauer

hast mich (tlw.) erwischt ;) Dass es unter W2K Probleme mit subst gibt, ist mir nicht bekannt (sorry, arbeite nicht damit).

Ansonsten muss ich dir tlw. Recht geben. Die Geschichte mit der Rechtevererbung ist schon knifflig.

Habe das bei mir so gelöst (vielleicht reicht das ja für Cappuccino auch):

Die betreffenden User stecken in einer globalen Gruppe gruppe. Der lokale Ordner home auf K: (wir bleiben mal bei K:, hatte da etwas mistig gepostet) hat folgende lokalen NTFS-Rechte:

Domänen-Administrator - Vollzugriff

System - Vollzugriff

Sicherungsoperatoren - Vollzugriff

Ersteller-Besitzer - Vollzugriff

gruppe - Hinzufügen und Lesen

 

Freigegeben (natürlich durch den Admin) ist k:\home als \\server\home$.

Die Rechte der Freigabe wären:

Domänen-Administratoren - Vollzugriff

System - Vollzugriff

gruppe - Vollzugriff

 

Kommt jetzt ein User und legt sein HOME neu an, hat dieser neue Ordner die lokalen Rechte wie oben.

Zusätzlich dazu noch %USERNAME% mit (RWXD)(nicht angegeben). D.h. wohl, auf Verzeichnisebene - Vollzugriff, Dateiberechtigung - nicht angegeben. Da er aber gleichzeitig Ersteller-Besitzer ist, hat er Vollzugriff auf den Ordner und seinen Inhalt.

 

Wie du aber bereits angesprochen hast, hat die ganze Geschichte den Schönheitsfehler, dass quasi Mitglieder von gruppe de facto (bei Kenntnis der anderen Logins) wenigstens lesend auf andere Home's zugreifen könnten.

 

Deshalb hatte ich versucht über cacls die Gruppe gruppe für den neu erstellten Ordner %USERNAME% zu verweigern. Leider scheitert dass immer mit "Zugriff verweigert" bzw. "Access denied". (Wobei mir noch unklar ist, warum das mal in deutsch und mal in Englisch kommt)

 

Jedenfalls konnte ich das so bisher recht simpel "automatisieren".

Wie gesagt, ein net use H: \\server\freigabe$\%USERNAME% geht nicht, da das net use nur auf die Freigabe direkt (\\server\freigabe$), aber nicht auf den Unterordner %USERNAME% geht. Deshalb hab ich das SUBST eingesetzt.

 

Falls bessere und sicherere Möglichkeiten existieren. Immer her damit :D

 

Thomas

Link zu diesem Kommentar
Original geschrieben von Cappuccino

if exist \\Server\Verzeichnis$\%username% \nul goto x:

x:

md \\Server\Verzeichnis$\%username%

use u: \\Server\Verzeichnis$\%username%

endif

Aha, Kix benutzt wohl use für net use.

Falls es kein Tippfehler ist, muss das Leerzeichen zwischen %username% und \nul raus. Das reservierte Device NUL existiert quasi in jedem Ordner, ist hier also wie eine Datei zu behandeln. (Man kannst aber auch ohne NUL checken). Jedenfalls daher ->

if exist \\Server\Verzeichnis$\%username%\nul goto allesklar

:: hier geht's nur hin, wenn o.g. Bedigung nicht zutrifft, d.h. Ordner existiert nicht

md \\Server\Verzeichnis$\%username%

use u: \\Server\Verzeichnis$\%username%       # das klappt eben bei mir nicht (normales Windows-net-use auf Freigabe+Ordner)

:allesklar

:: HOME ist bereits da, also muss nix mehr gemacht werden

 

Thomas

Link zu diesem Kommentar

Hi Cappuccino !

Original geschrieben von Cappuccino

:

Danach soll der User-Ordner Administrator Vollzugriff und der User das Recht zu Ändern bekommen. Ich dachte das könnte das einfach mit Xcalcs machen?!

 

xcalcs <Verzeichnis><Parameter>

xcalcs \\Server\Verzeichnis$\%username% /y/t/c/g %username%:c Administratoren:f

Das ist dann der Teil des Scriptes, der nicht funktionieren würde, da der User keinen Vollzugriff hat, sondern nur "Ändern"-Rechte. Er kann die Rechte nicht delegieren.

 

ABER: Wenn die Admins auf Verzeichnis$ Vollzugriff haben, brauchst Du keine Rechte neu eintragen, da diese Rechte genauso auf den neuen Ordner vererbt werden. Das Problem bei Deiner Lösung ist, alle User haben Änderrechte auf alle Unterverzeichnisse (auch die der anderen User).

 

Zu Deinem ScriptProblem:

if not exist \\Server\Verzeichnis$\%username%
md \\Server\Verzeichnis$\%username%
use u: \\Server\Verzeichnis$\%username%
endif

... sollte besser heißen:

if not exist ("\\SERVER\VERZEICHNIS$\"+UCASE(@USERID))
md "\\SERVER\VERZEICHNIS$\"+UCASE(@USERID)
endif
use u: "\\SERVER\VERZEICHNIS$\"+UCASE(@USERID)

-> @USERID gibt den Usernamen wieder( entspricht %username" im Batch),

-> UCASE() wandelt alle Zeichen der Zeichenkette in Großbuchstaben um,

-> Server und Freigabe-Bezeichnungen am besten immer in Großbuchstaben angeben !

-> "EXIST" ist in Kixt eine Funktion, der Funktionswerte übergeben werden müssen, also Klammern drum setzen,

-> USE und MD erwarten eine Zeichenkette als Parameter ;)

 

Ist Dein Ziel nun eigentlich, Homelaufwerke für die einzelnen User per Script zu erstellen - oder hab ich das was hineininterpretiert ?

Link zu diesem Kommentar

Hallo zusammen,

 

ja genau! Der User soll, nachdem ich ihn manuell im ADS (W2k-Server) eingetragen habe, sich über ein Script (KiXart) ein Homelaufwerke erstellen mit Rechten: Admin + UserName.

 

Aber ich merke schon ich verrenne mich da! Der User kann natürlich keine Admin-Rechte vergeben! :rolleyes:

 

Ich denke es wäre wohl besser das Script gleich nach dem Anlegen der User mauell als Admin zu starten...

 

Dazu müsste ich wohl die ADS auslesen, bzw mir mit Hilfe von vielleicht "DumpSec"ein User-Report erstellen und die einzelnen User abfragen, ob sie den HomeOrdner schon haben oder nicht....ohje!

 

Hat schon einer Erfahrung mit DumpSec? :cry:

 

Gruß Cappuccino

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...