Jump to content
Sign in to follow this  
FalscherProphet

Benutzergruppen anlegen / Remote freigabe

Recommended Posts

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ß

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

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"

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...