Ordner im netzwerk per batch freigeben

Dave-Brombacher

Cadet 3rd Year
Registriert
Jan. 2008
Beiträge
33
Hallo zusammen!

Mein persönliches Heimnetzwerk beseht aus meinem laptop und meinem Desktop PC. Beide haben WinXP Pro.

Zu synchronisations technischen Zwecken, muss ich die Ordner, die ich synchronisieren will, mit der Option "Netzwerkbenutzer dürfen Dateien verändern" freigeben.

Wenn ich mich dann in anderen Netzwerken befinde, muss ich diese freigaben wieder löschen, oder die o. g. Option wieder deaktivieren.

Nun die Frage, kann man das mit einer batch datei automatisieren? Sprich, das ich für jedes Netzwerk eine Batch habe, die die jeweiligen Freigaben definiert.

Den befehl:

Net share funktionier bei mir irgendwie nicht..habe das mal so versucht:

net share Test=C:\Test

das geht nicht, wenn @echo off weg ist, sehe ich den befehl wie er endlos über die Konsole rattert.

Um die Freigabe zu definieren, habe ich mir SubInAcl besorgt:

net share Test=C:\Test
C:\Programme\WindowsTools\subinacl /share test /perm
C:\Programme\WindowsTools\subinacl /share test /grant=User1=f /grant=User2=f

f steht für Vollzugriff

Allerdings passiert hier das gleiche wie oben, es kommt unendlich mal der 1. Befehl, zum nächsten befehl kommt er gar nicht.

Kann es sein, das irgendwo eine Windows einstellung fehlt?


Es müsste nicht unbedingt per batch sein, ein Programm mit denen Man Netzwerk Profile erstellen könnte, würde mir vollkommen reichen..kennt jemand so etwas?


Danke für eure Hilfe

Grüße
Dave
 
subinacl verändert doch nur die zugriffsrechte auf einer ntfs partition, soweit ich weiß, was überhaupt nichts mit zugriffsrechten von netzwerkfreigaben zu tun hat

gib mal net share /? ein

NET SHARE
sharename
sharename=drive:path [/GRANT:user,[READ | CHANGE | FULL]]

du müsstest also deinem net share befehl ein /grant mit parametern hinzufügen.

ungetestet, allerdings logisch nachvollziehbar :)

mfg
 
also bei mir funktioniert dein Befehl
Code:
net share Test=C:\Test

Das Verzeichnis wird für "Jeden User" freigegeben.
c:\Test muss natürlich existieren ;)
Ich habe Win XP Pro SP2.

Was passiert wenn du den Befehl in der DOS Box ausführst? Welche Fehlermeldung?
(Start -> Ausführen -> cmd -> ENTER)
 
"Test wurder erfolgreich freigegeben"


Ok, also der Ordner ist definitiv freigegeben, habe dies mit meinem anderen rechner überprüft. Was mich allerdings zuvor irriterit hat, ist, das es das Freigabe Symbol nicht hat...


Eine Frage noch..wie ist der Ordner jetzt freigegeben? Also jeder kann was daran verändern?

Die befehlserweiterung /grant listet es bei mir nicht auf, wenn ich net share /? eingebe. Wie kann ich die Zugriffsrechte definieren?
 
Kann ich bestätigen das der Befehl funktioniert.

Die Freigabe wieder löschen geht dann so:
Code:
net share Test /delete

Das Freigabesymbol hat der Ordner bei mir auch nicht.
 
Zuletzt bearbeitet:
Der Ordner wird mit
Code:
Net share Test=C:\Test
mit der Option "Netzwerkbenutzer dürfen Dateien veräandern" freigegeben.

Allerdings funktioniert dies nur über die Konsole, jedoch nicht, wenn ich den befehl in einen Batch schreibe.

Die 2. Sache wäre dann noch die Zugriffsrechte zu definieren


Danke für eure Hilfe :-)
 
Schau Dir mal den Befehl "cacls" an, damit kann man die Rechte bei Ordnern setzen.
Beispiel:
Code:
cacls c:\test /G Jeder:R /E /T

Damit darf jeder Benutzer lesend auf den Ordner zugreifen, den Du vorher mit net share freigegeben hast.
 
Super...

Die Rechte die ich jetzt aber geändert habe, gelten nur für Netzwerk benutzer oder? also hat das keine Auswirkung auf andere an diesem System angemeldete User?
 
Rechte für Ordner ändern bringt doch in diesem Fall nichts. Er will Berechtigung für die Freigaben setzen.

Mit folgendem Befehl geht das:

1) Lade dir das Kommandozeileprogramm RMTSHARE von Microsoft runter und entpacke es.
ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt40/i386/RMTSHAR.EXE

2) kopiere die Datei RMTSHARE.EXE in dein Arbeitsverzeichnis oder in eine PATH Freigabe.

Code:
@echo off
net share Test=c:\Test
rmtshare \\127.0.0.1\Test /REMOVE Jeder /GRANT User:F
pause

F = Vollzugriff
C = lesen, ändern
R = lesen

Der Ordner und User muss vorhanden sein.

PS: Netzwerkbenutzer?! Wie jetzt?
Wenn du keine Domäne hast, gibts keine "Netzwerkbenutzer".
Alle User die auf deine Freigabe zugreifen wollen, müssen auf dem Server (PC mit Freigabe) angelegt sein.
Erweiterte Datei-Freigabe muss aktiviert sein.
 
Zuletzt bearbeitet:
Also mein PC hat keine Domäne. Es ist ein einfachs Lokals Netzwerk, verbunden übern einen Switch. Die IP ist manuell verteit.

Die Datei- und Druckfreigabe ist aktiviert..gibt es da noch eine erweiterte Form?


Ich möchte einfach, das einmal wenn ich zu Hause bin, alle Ordner mit vollem Zugriff freigegeben sind, und sonst nur mit Leserechten.
 
Ahhh...ok

Also im Prinzip brauche ich da gar keine batch dazu, die Gruppe "Jeder" hat nur Lesezugriff, d.h. bin ich im Büro, haben diese nur Leserechte. Ich brauche jeetzt nur noch eine Gruppe, die meine PCs zu Hause umfasst, und der gebe ich dann Vollenzugriff. So würde das ja gehen oder?

Immoment möchte ich nur 1 PC meiner Heimbetzwerk Gruppe hinzufügen.

Kannst du mir noch erklären wie ich das anstellen muss?
 
Ähm..so geht das dann wohl doch nicht.

Ich kann bei Hinzufügen nur Lokale Benutzer wählen. Würde der gleiche auch auf meinem anderen PC mit dem gleichen PW sein, würde es gehen...aber so will ich das ja nicht.

Habe das hier mal gefunden:
http://www.supernature-forum.de/alles-rund-um-windows/69801-windows-netzwerkfreigaben-per-batch-skript-vergeben.html

Koenich hat das mit subinacl gemacht. Ist das Subinacl nur für die Lokale Freigabe oder auch für die im lokalen Netzwerk ?


Also mit einem Tool, womit man solche Profile erstellen könnte wäre mir vollkommen ausgeholfen :-)
 
Dave-Brombacher schrieb:
mein PC hat keine Domäne

Also hast du nur lokale User.


Lege verschiedene lokale User an und stecke sie in Gruppen. Dies kannst in der Computer Verwaltung machen. (z.B. direkt unter Start -> Ausführen -> lusrmgr.msc -> Enter)
Doppelklicke den User und gehe auf Mitgleidschaft. Dort stellst ein welcher Gruppe(n) er zugehörig ist.

Beim Schalter /GRANT kannst du auch anstelle von User Gruppen eintragen
z.B.
Code:
rmtshare \\127.0.0.1\Test /GRANT User:F /GRANT Gruppe:F

(Gehen auch mehrere /GRANT Schalter)

Die User und Gruppen musst du auf jedem PC installieren, auf dem was freigegeben werden soll. Anders gehts nicht.
Ausser du legst dir eine Domäne an. Dabei muss aber der DomänenController (DC) immer online sein. Sonst kann man sich nicht anmelden.
 
Also demnach her gibt es keinen Befehl, mit dem man einfach nur den Haken bei der Freigabbe Option "Netzwerkbenutzer dürfen Dateien verändern" rein oder raus machen kann..

hmm..kann ich mir zwar nicht vorstellen..aber nun gut.


Ein Tool für sowas, also wo man seine Freiaben kontrolieren kann und Profile erstellen kann...kennt niemand ?
 
Dave-Brombacher schrieb:
Also demnach her gibt es keinen Befehl, mit dem man einfach nur den Haken bei der Freigabbe Option "Netzwerkbenutzer dürfen Dateien verändern" rein oder raus machen kann

Hä?! :rolleyes:

Kommandozeilenprogramme sind nicht dafür da, mit der Maus Optionen anzuklicken!!!
Wie soll das gehen?!

Wenn du grafisch Berechtigungen setzen willst, dann sag das doch gleich.

In Post 1 von dir schreibst du:
Nun die Frage, kann man das mit einer batch datei automatisieren?

Wie jetzt?!

Grafisch geht das doch so dass du rechts auf den Ordner klickst und dann auf "Freigabe und Sicherheit..." -> freigeben -> Berechtigungen
 
Ich möchte einfach nur ganz komfortabel, 1 Klick machen müssen, und dann hab ich das Profil Büro oder das Profil zu Hause.

Das Profil umschließt die jeweiligen Ordner die ich freigeben möchte und mit welchen Rechten sprich die Option "Netzwrkbenutzer dürfen Dateien verändern" oder halt einfach nur Lese Rechte.



Ich will das so einfach haben, weil es mir auf die Nerven geht, immer alles von Hand mit der Maus über Rechtsklick Freigabe und Sicherheit zu machen.


Ich dachte hat, es gibt die Möglichkeit dies was man im Prinzip mit der Maus macht, das dies eine batch Datei machen könnte.

Das Freigeben mit allen Rechten geht ja mit net share

und ich dachte, es gibt noch einen, bei dem man die Nur die Leserechte setzt, so wie wenn ich halt keinen Haken in das Kästchen der Option mache..


was ist dadran so schwierig zu verstehen?? Wenn es diese Option nicht gibt, was ich mir nicht vorstellen kann..dann gehts so halt nicht.

Mir ist das auch egal ob ich was weiß ich wie viele erweiterungen dazubrauche. Aber eine die das kann, wenn es nicht schon so geht wird es ja wohl geben oder?
 
Warum machst Du es Dir so schwer, verbinde das Laufwerk oder den Ordner als Admin, dann hast Du doch vollen Zugriff auf die gesamte Platte.
Geh auf das Netzwerksymbol und mach eine Verbindung zu der Platte
\\Rechnername oder IP des Rechners\C$
Wenn der Rechner sich verbinden soll, musst Du das Administratorpasswort des Rechners eingeben oder den Benutzer mit Adminrechten anmelden. Am einfachsten ist es dann, den Benutzer des anderen Rechners (der zugreifen soll) mit Adminrechten auf den PC, auf den zugegriffen wird, anzulegen.
 
Zurück
Oben