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-Key: 86529

Url: https://administrator.de/contentid/86529

Printed on: April 19, 2024 at 12:04 o'clock

Mitglied: 60730
60730 Apr 28, 2008 at 08:51:24 (UTC)
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.
Member: Iceman75
Iceman75 Apr 28, 2008 at 08:56:20 (UTC)
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.
Mitglied: 60730
60730 Apr 28, 2008 at 09:17:48 (UTC)
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
Member: Iceman75
Iceman75 Apr 28, 2008 at 09:57:10 (UTC)
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
Mitglied: 60730
60730 Apr 28, 2008 at 10:06:49 (UTC)
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.
Member: Iceman75
Iceman75 Apr 28, 2008 at 11:48:31 (UTC)
Goto Top
läuft das auch mit der PowerShell????
Mitglied: 60730
60730 Apr 28, 2008 at 12:03:04 (UTC)
Goto Top
läuft das auch mit der PowerShell????

Mit .vbs funktioniert es.
Und obs mit dem anderen Nachbarn auch klappt...
Member: Iceman75
Iceman75 Apr 28, 2008 at 14:14:34 (UTC)
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  
Member: TuXHunt3R
TuXHunt3R Apr 28, 2008 at 21:39:19 (UTC)
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.......