Cappuccino 10 Geschrieben 19. April 2004 Melden Teilen Geschrieben 19. April 2004 Liebe Leute, Ich möchte mit KiXtart ein Login Script erstellen und möchte einen Ordner für den User auf dem Server erstellen + mappen , falls er nicht vorhanden ist. Kann mir da bitte jemand helfen... Gruß Cappuccino :wink2: Zitieren Link zu diesem Kommentar
zuschauer 10 Geschrieben 19. April 2004 Melden Teilen Geschrieben 19. April 2004 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 ! ;) Zitieren Link zu diesem Kommentar
himbidas 10 Geschrieben 19. April 2004 Melden Teilen Geschrieben 19. April 2004 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 Zitieren Link zu diesem Kommentar
zuschauer 10 Geschrieben 19. April 2004 Melden Teilen Geschrieben 19. April 2004 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. Zitieren Link zu diesem Kommentar
Cappuccino 10 Geschrieben 20. April 2004 Autor Melden Teilen Geschrieben 20. April 2004 :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! Zitieren Link zu diesem Kommentar
himbidas 10 Geschrieben 20. April 2004 Melden Teilen Geschrieben 20. April 2004 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 Zitieren Link zu diesem Kommentar
himbidas 10 Geschrieben 20. April 2004 Melden Teilen Geschrieben 20. April 2004 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 Zitieren Link zu diesem Kommentar
zuschauer 10 Geschrieben 20. April 2004 Melden Teilen Geschrieben 20. April 2004 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 ? Zitieren Link zu diesem Kommentar
Cappuccino 10 Geschrieben 21. April 2004 Autor Melden Teilen Geschrieben 21. April 2004 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? Gruß Cappuccino Zitieren Link zu diesem Kommentar
zuschauer 10 Geschrieben 21. April 2004 Melden Teilen Geschrieben 21. April 2004 Nein, das kannst Du einfacher lösen. Wenn der Kix-Befehl md einen Fehler zurückgibt (= Das Homverzeichnis existiert schon), kannst Du aus der Routine rausspringen. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.