iceman75
Goto Top

Netzwerkfreigabe mit der PowerShell

Hi,

ich soll für user aus einer .csv herraus auf einem Fileserver ein Verzeichniss (Home Verzeichniss) anlegen und es für den netzzugriff freigeben. Das Verzeichniss kann ich erstellen nur an der Freigabe hackt es:


Import-Csv D:\benutzer.csv | ForEach-Object { 
new-item  D:\Users\ -name $_.Name -type directory 
$1 = $_.Name

oder

net share $1=D:\Users\$_.Name Import-Csv D:\benutzer.csv | ForEach-Object { 
new-item  D:\Users\ -name $_.Name -type directory | out-file d:\log.txt -append
net share $_.Name=D:\Users\$_.Name | out-file d:\log.txt -append

einer ne Idee was ich falsch mache oder einen Vorschlag????

Gruss

Ice

Content-ID: 86529

Url: https://administrator.de/forum/netzwerkfreigabe-mit-der-powershell-86529.html

Ausgedruckt am: 04.04.2025 um 00:04 Uhr

60730
60730 28.04.2008 um 10:51:24 Uhr
Goto Top
Servus,

steinigt mich nicht - aber IMHO ist "Powershell" ja nur VBS *duck*

Ich versteh nicht, was du da vorhast....

"Normalerweise" gibt man eine "Struktur" für alle angemeldeten User frei z.b \\Server\User (freigabe)
Dann erstellt man unterhalb dieser Freigabe einen Userordner und dort gibt man dem Sicherungsadmin und dem User volle Rechte.

Ich nutze dazu Xcacls.
Iceman75
Iceman75 28.04.2008 um 10:56:20 Uhr
Goto Top
Also ich soll lokale User erstellen. Diese sind in einer.csv vorgegeben. User habe ich erstellt usw.

Jetzt soll auf einem Fileserver für jeden Benutzer ein Verzeichniss eingerichtet werden, dieses ist für den Netzwerjzugriff freizugeben. Zugriff auf das verzeichnis nur admin und User.
60730
60730 28.04.2008 um 11:17:48 Uhr
Goto Top
Servus,

kannst du das "manuell" machen?

Ich glaube nicht? (Außer die sind in einer gemeinasmen Arbeitsgruppe)

Wenn ich das richtig gelesen habe:

Du legst einen lokalen User an - der heißt z.B workstation1\user1
und der soll dann auf einem Server "Rechte" auf einen Unterordner bekommen?

Wenn du das "manuell" hinkriegst - dann gehts auch per Script.

Googel nach Xcacls.exe
Iceman75
Iceman75 28.04.2008 um 11:57:10 Uhr
Goto Top
manuell geht es. auch per script. aber halt für einzelne user:

zb: net share User=d:\User

aber soll ja aus einer csv die user nehmen und da habe ich ja Variablen.

zb: net share $_.Name=d:\Users\$_.Name

mit $_.Name Erstelle ich vorher erfolgreich den Ordner. Also an der Variable liegt es nicht
60730
60730 28.04.2008 um 12:06:49 Uhr
Goto Top
Guten Morgen.

"Normalerweise" gibt man eine "Struktur" für alle angemeldeten User frei z.b \\Server\User (freigabe)
Dann erstellt man unterhalb dieser Freigabe einen Userordner und dort gibt man dem Sicherungsadmin und dem User volle Rechte.

Ich nutze dazu Xcacls.


Googel nach Xcacls.exe

Nochmal zum mitlesen:

Wenn du den Server in die Knie zwingen willst, dann erstelle für jeden einzelnen User eine Freigabe. Und kümmere dich nicht darum, daß du mit Net Share keine Rechte vergeben kannst.

Wenn du es "richtig" machen willst, dann erstelle eine einzige Freigabe, vergebe dort die Rechte an alle User, und erstelle unterhalb der Freigabe einen Ordner, für den der einzelne user per Xcalcs dann die Berechtigungen bekommt.
Iceman75
Iceman75 28.04.2008 um 13:48:31 Uhr
Goto Top
läuft das auch mit der PowerShell????
60730
60730 28.04.2008 um 14:03:04 Uhr
Goto Top
läuft das auch mit der PowerShell????

Mit .vbs funktioniert es.
Und obs mit dem anderen Nachbarn auch klappt...
Iceman75
Iceman75 28.04.2008 um 16:14:34 Uhr
Goto Top
habe es jetzt so realisert

Import-Csv D:\benutzer.csv | ForEach-Object { 
new-item  D:\Users\ -name $_.Name -type directory | Out-File -FilePath $Logfile -Append
$net = ($_.Name)
net share $net=D:\Users\$net | Out-File -FilePath $Logfile -Append
$owner = (($_.Vorname).Substring(0,3) + ($_.Nachname).Substring(0,2))
rmtshare.exe \\pc007\$net /GRANT pc007\Administrator:F /GRANT "sypc007\$owner":F | Out-File -FilePath $Logfile -Append  
TuXHunt3R
TuXHunt3R 28.04.2008 um 23:39:19 Uhr
Goto Top
aber IMHO ist "Powershell" ja nur VBS *duck*

*Stein-werf*

Kann man mit VBS auf alle Objekte des .NET-Framework zugreifen?
Nein

Kann man bei VBS einfach so auf externe CMD-Tools zugreifen?
Nein, man muss einen Umweg über das Objekt "Wscript.Shell" machen.

Kann man bei VBS mit einem einfachen Befehl auf WMI zugreifen?
Nein, man darf eine ellenlange Codezeile schreiben, um nur schon mal den Inhalt des WMI-Objekts auszugeben. Mit PowerShell reicht ein "get-wmiobject <Class>"

Kann man bei VBS Befehle per Pipe weitergeben?
Nein


Du siehst also, es ist nicht ganz dasselbe.......