FalscherProphet 10 Geschrieben 5. Februar 2008 Melden Teilen Geschrieben 5. Februar 2008 Hallo zusammen, ich habe ein problem und konnte mit der sufu leider auch nichts finden. Zuerst mal im allgemeinen: ich soll ein script erstellen, dass einen ordner erstellt, diesen als share freigibt ( der dann über ein netzlaufwerk erreichbar sein soll), eine benutzergruppe anlegt, die auf diesen ordner zugriff hat. das ganze soll auf einem adminserver remote ausgeführt werden. das problem bei mir liegt im moment darin, dass ich nicht weiß wie genau ich die benutzergruppen erstellen kann. welche scriptsprache eignet sich am besten dafür ? ( vb, batch oder powershell wären gut ) hab leider auch beim googeln dazu nix gefunden. außerdem klappt die freigabe des ordners bei mir über script nur lokal leider nicht remote und ich weiß nicht woran es liegen kann ( an berechtigungen imho nicht). danke schonmal für eure hilfe gruß Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 5. Februar 2008 Melden Teilen Geschrieben 5. Februar 2008 Was hast du denn bis jetzt schon zusammen um den Ordner anzulegen, das Share einzurichten etc? Bei welchem Stand bist du aktuell? Poste doch mal deinen bisher schon vorhandenen Code. In welcher Sprache hast denn angefangen? Prinzipiell eignen die sich alle dafür... Zitieren Link zu diesem Kommentar
FalscherProphet 10 Geschrieben 5. Februar 2008 Autor Melden Teilen Geschrieben 5. Februar 2008 also die freigabe an sich habe ich schon(powershell) läuft wenn ichs lokal freigebe aber sobald ich es remote ausführe macht ers net ( kleine anmerkung : das script schlummert seit 2 monaten vor sich hin und ist seit heute erst wieder aktuell geworden bin also auch nochnicht so auf der höhe ^^ ) hier mein bisheriger powershell code : $strPfad = "\\evo00257\c$\daten\900_directory_name" $Freigabedoll = "$" $Comment = "Hier koennte ihre werbung stehen" $strFreigabename ="900_directory_name$" $Access = $Null new-item $strPfad -Type "Directory" $objFreigabe = [WmiClass]'Win32_Share' $objErg = $objFreigabe.Create( $strPfad, $strFreigabename, 0, 10, $Comment,"",$Access ) write-output $strFreigabename write-output $objErg write-output "ENDE" Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 5. Februar 2008 Melden Teilen Geschrieben 5. Februar 2008 Hmpf.... schade, falsche Fuß... bei mir schlummert seit Monaten die Powershell :D Zitieren Link zu diesem Kommentar
FalscherProphet 10 Geschrieben 6. Februar 2008 Autor Melden Teilen Geschrieben 6. Februar 2008 wie gesagt bin auch gern für anderes offen wenn sie eine effektivere lösung kennen Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 6. Februar 2008 Melden Teilen Geschrieben 6. Februar 2008 Hallo, ich mache das mit "DOS"-Befehlen in einer Batch, ausgeführt wird die auf dem 1.DC der Domäne. set filename=%1 set filename=%filename:"=% set EduGroup=%filename:~15,-4% for /f "tokens=1 delims=\" %%i in ("%EduGroup%") do set Edu=%%i for /f "tokens=2 delims=\" %%i in ("%EduGroup%") do set Group=%%i set domain=DC=1Lubeca,DC=loc :create OU for Education dsadd OU "OU=%Edu%,%domain%" :create OU for Group dsadd OU "OU=%Group%,OU=%Edu%,%domain%" :create sec Group for Education dsadd Group "CN=%Edu%,OU=%Edu%,%domain%" :create sec Group for user dsadd Group "CN=%Group%,OU=%Group%,OU=%Edu%,%domain%" dsmod group "CN=%Edu%,OU=%Edu%,%domain%" -addmbr "CN=%Group%,OU=%Group%,OU=%Edu%,%domain%" set ProfilDrive=e: set HomeDrive=e: :GroupHome set GroupHome=%HomeDrive%\%Edu%\%Group% if not exist %GroupHome% md %GroupHome% net share %Group%=%GroupHome% /grant:Jeder,full cacls %GroupHome% /e /g %Group%:f cacls %GroupHome% /e /g Dozenten:f rem pause if not exist %GroupHome%\1Aufgaben md %GroupHome%\1Aufgaben cacls %GroupHome%\1Aufgaben /e /r %Group% cacls %GroupHome%\1Aufgaben /e /g %Group%:r cacls %GroupHome%\1Aufgaben /e /g Dozenten:f rem pause if not exist %GroupHome%\1Austausch md %GroupHome%\1Austausch cacls %GroupHome%\1Austausch /e /g %Group%:f cacls %GroupHome%\1Austausch /e /g Dozenten:f rem pause :loop set /a skip+=1 echo %skip% call :testeof call :works goto loop :testeof for /f "tokens=1 skip=%skip% delims=;" %%a in (%filename%) do set end=%%a & goto out :out if %end% equ Dateiende pause & exit goto :eof :works call :fetchline call :CreateCanditateName call :CreateUserFolder call :CreateUser call :Credentials rem pause goto :eof :fetchline for /f "tokens=1-3 skip=%skip% delims=;- " %%a in (%filename%) do ( set firstname=%%a set surname=%%b set password=%%c rem pause goto :eof ) :CreateCanditateName set firstname=%firstname:ß=ss% set firstname=%firstname:ä=ae% set firstname=%firstname:ü=ue% set firstname=%firstname:ö=oe% set firstname=%firstname:Ä=Ae% set firstname=%firstname:Ü=Ue% set firstname=%firstname:Ö=Oe% set firstname=%firstname: =% set surname=%surname:ß=ss% set surname=%surname:ä=ae% set surname=%surname:ü=ue% set surname=%surname:ö=oe% set surname=%surname:Ä=Ae% set surname=%surname:Ü=Ue% set surname=%surname:Ö=Oe% set surname=%surname: =% set password=%password:ß=ss% set password=%password:ä=ae% set password=%password:ü=ue% set password=%password:ö=oe% set password=%password:Ä=Ae% set password=%password:Ü=Ue% set password=%password:Ö=oe% set username=%surname%%firstname:~0,1% set Candidate=%username: =% set password=%password: =% set password=%firstname% rem for /f "tokens=*" %%a in ('dsquery user -name %candidate% -o rdn') do if %%~a equ %candidate% set candidate=%candidate%1 set candidate=%candidate: =% rem echo %candidate% rem pause goto :eof :CreateUserFolder set UserProfil=%ProfilDrive%\%Edu%\%Group%\%Candidate%Profil set UserHome=%HomeDrive%\%Edu%\%Group%\%Candidate%Home if not exist %UserProfil% md %UserProfil% if not exist %UserHome% md %UserHome% rem pause goto :eof Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 6. Februar 2008 Melden Teilen Geschrieben 6. Februar 2008 Das gehört auch noch dazu. :CreateUser set UserString=CN=%Candidate%,OU=%Group%,OU=%Edu%,%domain% dsadd user %UserString% dsmod user %UserString% -pwd %password% dsmod user %UserString% -fn %firstname% dsmod user %UserString% -ln %surname% dsmod user %UserString% -display %surname%,%firstname% dsmod user %UserString% -disabled no dsmod user %UserString% -pwdneverexpires yes dsmod user %UserString% -profile \\%computername%\%Group%\%Candidate%Profil dsmod user %UserString% -loscr login dsmod user %UserString% -hmdir "" dsmod user %UserString% -hmdrv "" dsmod user %UserString% -canchpwd yes dsmod user %UserString% -mustchpwd yes set SecGroupString="CN=%Group%,OU=%Group%,OU=%Edu%,%domain%" dsmod group %SecGroupString% -addmbr %UserString% rem pause goto :eof :Credentials cacls %UserProfil% /e /g %Candidate%:f cacls %UserHome% /e /g %Candidate%:f cacls %UserProfil%\* /e /g %Candidate%:f cacls %UserHome%\* /e /g %Candidate%:f cacls %UserProfil% /e /g Dozenten:f cacls %UserHome% /e /g Dozenten:f cacls %UserProfil%\* /e /g Dozenten:f cacls %UserHome%\* /e /g Dozenten:f cacls %UserProfil% /e /r %Group% cacls %UserHome% /e /r %Group% cacls %UserProfil%\* /e /r %Group% cacls %UserHome%\* /e /r %Group% cacls %UserProfil% /e /r Jeder cacls %UserHome% /e /r Jeder subinacl /subdirectories %UserProfil% /setowner=%Candidate% subinacl /subdirectories %UserHome% /setowner=%Candidate% rem pause goto :eof 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.