Net user per script aus txt oder csv für FTP
Hallo Allerseits,
ich muss auf einem FTP-Server IIS auf Win 2012 R2 per Script 500 x 100 User inkl. KW aus csv oder txt anlegen.
Ein Traum wäre ein Traum wenn gleichzeitig auch das User Verzeichnis im "D:\ftproot\" identisch angelegt werden würde.
Es soll sich um local User, keine Domäne User handeln.
Für eine schnelle Hilfe wäre ich absolut dankbar, vielen Dank vorab.
Gruß
ich muss auf einem FTP-Server IIS auf Win 2012 R2 per Script 500 x 100 User inkl. KW aus csv oder txt anlegen.
Ein Traum wäre ein Traum wenn gleichzeitig auch das User Verzeichnis im "D:\ftproot\" identisch angelegt werden würde.
Es soll sich um local User, keine Domäne User handeln.
Für eine schnelle Hilfe wäre ich absolut dankbar, vielen Dank vorab.
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 336070
Url: https://administrator.de/contentid/336070
Ausgedruckt am: 24.11.2024 um 21:11 Uhr
15 Kommentare
Neuester Kommentar
Hola
und Berechtigungen
Gruß
ich muss auf einem FTP-Server IIS auf Win 2012 R2 per Script 500 x 100 User inkl. KW aus csv oder txt anlegen.
for /?
Ein Traum wäre ein Traum wenn ...
... ja wenn da nicht der Traum wäre gleichzeitig auch das User Verzeichnis im "D:\ftproot\" identisch angelegt werden würde.
md /?
und Berechtigungen
icacls /?
Es soll sich um local User, keine Domäne User handeln.
net user /add /?
Für eine schnelle Hilfe wäre ich absolut dankbar, vielen Dank vorab.
Bitte.Gruß
Aus /? geht das nicht hervor!!!
Doch wenn man sich die Mühe machen und es richtig lesen würde ...for /f "delims=" %%a in (c:\datei.txt) do (
echo User: %%a
Rem mach hier alles für den User ...
)
Btw. wieso hast du das unter der Kategorie "Java" abgelegt?
Machs doch gleich per Powershell, bei dem folgenden einfachen Beispiel sollte die CSV so aussehen:
Die Passwörter kann man natürlich bei Bedarf im Skript generieren und in die CSV zurückschreiben, da hat man freie Wahl was die Möglichkeiten angeht.
Machs doch gleich per Powershell, bei dem folgenden einfachen Beispiel sollte die CSV so aussehen:
"Username";"Password"
"maxmuster01";"Passw0rd1"
"maxmuster02";"Passw0rd2"
"maxmuster03";"Passw0rd3"
# Variables ---
$ftproot = 'C:\inetpub\ftproot'
$csv = 'C:\users.csv'
# -------------
$users = Import-CSV $csv -Delimiter ";"
$users | %{
try{
$userfolder = "$ftproot\$($_.Username)"
write-host "Creating user '$($_.Username)' and FTP-Home under '$userfolder'." -F Green
# add user
net user $_.Username "$($_.Password)" /add | out-null
# create folder
md $userfolder -Force | out-null
# add acl to folder
$acl = get-acl $userfolder
$ace = New-Object System.Security.AccessControl.FileSystemAccessRule ($_.Username,"Modify","ContainerInherit,ObjectInherit","none","Allow")
$acl.SetAccessRule($ace)
Set-ACL $userfolder $acl
}catch{
# something went wrong, tell the user
write-host $_.Exception.Message -F Red
}
}
Das gehört in ein Skript, nicht in die Konsole gepostet!
Und was soll das / sco ??
Das ist in meinem Skript nicht drin, ebenso wie diverse andere Änderungen von dir!!! Geht einwandfrei, und wurde getestet....
Pfeif dir erst mal die Powershell Grundlagen rein bevor du hier meckerst.
Und was soll das / sco ??
Das ist in meinem Skript nicht drin, ebenso wie diverse andere Änderungen von dir!!! Geht einwandfrei, und wurde getestet....
Pfeif dir erst mal die Powershell Grundlagen rein bevor du hier meckerst.
Zitat von @OlliPWS:
Danke, meinen Fehler habe ich gefunden, geht jetzt.
Noch eine kleine Randfrage; Müssen die Gänsefüßchen in der csv sein?
Ja wenn du z.B. Passwörter mit einem Semikolon darin hast ! Weil das Semikolon schon der Spaltentrenner ist.Danke, meinen Fehler habe ich gefunden, geht jetzt.
Noch eine kleine Randfrage; Müssen die Gänsefüßchen in der csv sein?
Wie kann ich die in Excel einfügen?
Brauchst du dich nicht drum kümmern das setzt Excel automatisch wenn Zeichen maskiert werden müssen.Es geht jetzt perfekt!!!!
Na dann bitte noch nen Haken dran.
Naja ein Bisschen musst du schon noch selber machen, die Anforderung stand ja oben nicht . Das ist ja wohl das kleinste Problem ... ->AppCmd
Pack sie in eine Gruppe und gut is
Pack sie in eine Gruppe und gut is
Google kaputt??
https://www.iis.net/configreference/system.ftpserver/security/authorizat ...
Abschnitt Sample-Code APPCMD.EXE
https://www.iis.net/configreference/system.ftpserver/security/authorizat ...
Abschnitt Sample-Code APPCMD.EXE
Falls du immer noch nicht auf den Trichter gekommen bist ...
und Tschüss.
Gruß
# Variables ---
$ftproot = 'C:\inetpub\ftproot'
$csv = 'C:\users.csv'
$group = 'myftpusers'
$ftpsitename = 'Demo-FTP'
# -------------
# Import userlist
$users = Import-CSV $csv -Delimiter ";"
# create local group for ftp users
net localgroup $group /add | out-null
# add group to ftp site's authorization rules with read write access
."$env:SystemRoot\system32\inetsrv\appcmd.exe" set config "$ftpsitename" "-section:system.ftpServer/security/authorization" "/+`"[accessType='Allow',roles='$group',permissions='Read,Write']`"" /commit:apphost
$users | %{
try{
$userfolder = "$ftproot\$($_.Username)"
write-host "Creating user '$($_.Username)' and FTP-Home under '$userfolder'." -F Green
# add user
net user $_.Username "$($_.Password)" /add | out-null
# add user to ftp group
net localgroup $group $_.Username /add | out-null
# create folder
md $userfolder -Force | out-null
# add acl to folder
$acl = get-acl $userfolder
$ace = New-Object System.Security.AccessControl.FileSystemAccessRule ($_.Username,"Modify","ContainerInherit,ObjectInherit","none","Allow")
$acl.SetAccessRule($ace)
Set-ACL $userfolder $acl
}catch{
# something went wrong, tell the user
write-host $_.Exception.Message -F Red
}
}
Gruß