Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Ordnerberechtigungen VBS CMD

Frage Entwicklung VB for Applications

Mitglied: koluschkiB

koluschkiB (Level 1) - Jetzt verbinden

28.05.2010 um 11:09 Uhr, 6192 Aufrufe, 6 Kommentare

Morgen Adminfreunde

hab ne frage zu meinem unten aufgeführten Script,

es ist eins script was User und Gruppen im AD anlegt, dazu erstellt er Benutzerdefinierte Ordner, die im Netzwerk freigegeben werden.

Nun zu meinem Problem was ich habe
Das Script läuft fehlerfrei durch ohne zu mucken, doch es scheitert an der Berechtigung für den Zugriff auf den Benutzerordner.

Der Administrator soll vollzugriff haben, gut kein Problem wird gesetzt.
Der Benutzer der diesesn Ordner nutzt soll Vollzugriff auf diesem Ordner haben.

Leider klappt es nicht so ganz, mit der Berechtigung für den Benutzer. In den Eigenschaften des Ordners nach dem er erstellt worden ist kann man einsehen wer was kann.

Administrator (TESTAD/ADMINSTRATOR) = Vollzugriff
Benutzer (TESTAD/BENUTZER) = Vollzugriff

dabei sollte es so aussehen (Der Benutzer Hans Maulwurf soll Zugriff haben, nicht Benutzer)

Administrator (TESTAD/ADMINSTRATOR) = Vollzugriff
Hans Maulwurf (HanMa@testAD.int) = Vollzugriff

Manuell kann man es problemlos eintragen, der Name wird aufgelöst und Angezeigt und man kann ihn wählen

01.
Option Explicit 
02.
 
03.
Dim OU, objDomain, objOU, objUser, objGroup, WsHShell, CMD 
04.
Dim fso, f, Zeile, Feld, Vorname, Nachname, Abteilung, i, Passwort, Abfall 
05.
Dim objFolder, strComputer, objWMIService, objNewShare, errReturn, PermL1 
06.
 
07.
OU = "cn=users,dc=testad,dc=int" 
08.
Set objOU = GetObject("LDAP://" & OU) 
09.
 
10.
Dim File_Share 
11.
File_Share = 0 
12.
Dim MAXIMUM_CONNECTIONS 
13.
MAXIMUM_CONNECTIONS = 25 
14.
 
15.
strComputer = "." 
16.
Set objWMIService = GetObject("winmgmts:" _ 
17.
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
18.
Set objNewShare = objWMIService.Get("Win32_Share") 
19.
 
20.
Set fso = CreateObject("Scripting.FileSystemObject") 
21.
Set f = fso.OpenTextFile("c:\user.csv",1,0) 
22.
 
23.
Abfall = f.Readline   ' also die 1. Zeile   
24.
Do while not f.AtEndOfStream       'statt AtEndOfLine 
25.
 
26.
Zeile = f.readLine  
27.
Feld = split(Zeile,";") 
28.
Vorname = Feld(0) 
29.
Nachname = Feld(1) 
30.
Abteilung = Feld(2) 
31.
'        Gruppen werden in Schleife direkt angesprochen 
32.
'        Gruppe1 = Feld(3) 
33.
'        Gruppe2 = Feld(4) 
34.
'        Gruppe3 = Feld(5) 
35.
'        Gruppe4 = Feld(6) 
36.
'        Gruppe5 = Feld(7) 
37.
 
38.
 
39.
Passwort = left(Vorname,3)&left(Nachname,2)&"1234%" 
40.
Passwort = LCase(passwort) 
41.
 
42.
Set objUser = objOU.Create("user", "CN=" & Vorname & " " & Nachname) 
43.
objUser.Put "sAMAccountName", Nachname 
44.
objUser.Put "displayName", Vorname & " " & Nachname 
45.
objUser.Put "givenName", Vorname 
46.
objUser.Put "sn", Nachname 
47.
objUser.Put "description", Abteilung 
48.
objUser.Put "userPrincipalName", left(Vorname,3) & left(nachname,2) & "@testAD.int" 
49.
objUser.SetInfo 
50.
objUser.SetPassword Passwort 
51.
objUser.Put "userAccountControl", 544 
52.
objUser.Put "pwdLastSet", 0 
53.
objUser.SetInfo 
54.
 
55.
For i = 3 To 7 'alle Gruppen bearbeiten 
56.
If Feld(i) <> "" Then 
57.
If GroupExists(Feld(i), objOU) Then 
58.
Set objGroup = GetObject("LDAP://cn=" & Feld(i) & "," & OU) 
59.
Else 
60.
Set objGroup = objOU.Create("Group", "cn=" & Feld(i)) 
61.
objGroup.Put "sAMAccountName", Feld(i) 
62.
objGroup.SetInfo 
63.
End If 
64.
objGroup.Add objUser.ADSPath 
65.
End If 
66.
Next 
67.
 
68.
'Ordner werden für denn Benutzer angelegt, dabei wird der Nachname als Ordnername verwendet 
69.
Set objFolder = fso.CreateFolder("C:\Freigaben\" & Nachname) 
70.
errReturn = objNewShare.Create _ 
71.
    ("C:\Freigaben\" & Nachname, ""&Nachname, File_Share, _ 
72.
    MAXIMUM_CONNECTIONS, "Benutzerordner") 
73.
 
74.
Set WshShell = WScript.CreateObject("WScript.Shell")    
75.
 
76.
PermL1 = "Administratoren:F " & "left(Vorname,3) & left(nachname,2) & @testAD.int" & ":C" 
77.
CMD = "cmd /c echo j|cacls \\" & "C:\Freigaben\" &Nachname & " /G " & PermL1 & " && " 
78.
WshShell.Run CMD, 0, 1 
79.
Loop 
80.
 
81.
Function GroupExists(Group, OU) 
82.
'OU wird als Objekt übergeben; es interessieren nur die enthaltenen Gruppen 
83.
OU.Filter = Array("group") 
84.
'Default: Gruppe noch nicht vorhanden 
85.
GroupExists = False 
86.
'Alle in der OU enthaltenen Gruppen durchgehen 
87.
For Each objGroup in OU 
88.
    'klein geschriebenen Gruppennamen der betrachteten Gruppe 
89.
    'mit klein geschriebenem übergebenen Gruppennamen vergleichen 
90.
    If LCase(objGroup.sAMAccountName) = LCase(Group) Then 
91.
        'bei Übereinstimmung gibt es die Gruppe bereits ... 
92.
        GroupExists = True 
93.
        '... und es müssen die weiteren Gruppen nicht mehr geprüft werden 
94.
        Exit For 
95.
    End If 
96.
Next 
97.
End Function
Irgendwo in der Zeile 76 muss der Fehler stecken. Ich versuche dabei eine Variable aus VBS in einen CMD befehl zu übernehmen. Meine vermutung ist, dass dort der fehler steckt

Nach dem der User im AD angelegt worden ist, kann man Manuell die Berechtigungen aus einer CMD problemlos setzen

01.
cacls c:\freigabe\Maulwurf /P Maulwurf:F Administrator:F
Die Berechtigungen kann man in denn Eigenschaften einsehen und alles klappt. nur eben nicht aus dem VBScript raus

hat einer von euch nen Tipp oder kann mir sagen wo der Fehler ist?

gruß und Danke

KoluschkiB
Mitglied: TsukiSan
28.05.2010 um 11:55 Uhr
Hallo KoluschkiB
versuche mal die Zeile 76
01.
PermL1 = "Administratoren:F " & "left(Vorname,3) & left(nachname,2) & @testAD.int" & ":C"
umzuändern in
01.
PermL1 = "Administratoren:F " &  left(Vorname,3) & left(nachname,2) & "@testAD.int" & ":C"
Gruss
Tsuki
Bitte warten ..
Mitglied: koluschkiB
28.05.2010 um 12:04 Uhr
Hey Tsuki

habs mal versucht, klappt leide rnicht. Die Einträge bleiben weiterhin so wie vorhin.
Hab auch mal geschaut, ob das Script icht evtl. die Berechtigungen für die Freigabe machen, aber dort ist Admin und Jeder eingetragen.

hab die Zeile auch noch umgebastelt um zu schauen, obs vielleicht anders klappt

01.
PermL1 = "Administratoren:F " & Nachname &":C"
also so gebastelt, dass er nur den Nachnamen verwendet. Wie man es zb Manuell in der CMD macht. brachte aber leider keinen Erfolg mit sich

gruß

koluschkiB
Bitte warten ..
Mitglied: koluschkiB
28.05.2010 um 12:40 Uhr
Kann mir jemand sagen wie das mit "Net SHare" ausschaut?

kann sein, dass ich das verwenden muss?
da ja der Ordne rim Netzwerk freigegeben wird

gruß und danke

koluschkiB
Bitte warten ..
Mitglied: bastla
28.05.2010 um 14:18 Uhr
Hallo koluschkiB!

"net share" wäre zum Erstellen von Freigaben zu verwenden ...
Versuch es mit folgenden Zeilen:
PermL1 = "Administratoren:F " & Nachname & ":C"  
CMD = "cmd /c echo j|cacls C:\Freigaben\" & Nachname & " /G " & PermL1
Grüße
bastla
Bitte warten ..
Mitglied: koluschkiB
28.05.2010 um 14:51 Uhr
Hey Bastla

kannst es sicherlich schon an meinem Grinsen erkennen
Es hat geklappt. ersetzt die Berechtigungen richtig.
Hab gedacht, dass der Fehler in der 1. Zeile ist, dabei musste ich eben beim vergleichen feststellen das es nicht so war
wenn ich das richtig erkannt habe lag es wohl nur an diesen zeichen in meinem script "\\" &"
Kleine Zeichen, große Wirkung

Gruß und Danke für die Hilfe

KoluschkiB
Bitte warten ..
Mitglied: koluschkiB
28.05.2010 um 15:06 Uhr
Hey Bastla,

ich hab da was gesehen, was ich mir selbst nicht erklären kann.

Ich nutze nen Win Server 2008, ich hab einen Ordner Manuell erstenne C:\freigaben. wenn ich in die EIgenschaften des Ordners gehe unter Registerkarte Freigabe
dort sind zwei schaltflächen 1. "Freigabe" und 2. "Erweiterte Freigabe", alles so weit ok.

Wenn ich aber mein Script ausführe, legt es in dem Ordner C:\freigaben die benutzer ordner an. Gehe ich dort in Die Eigenschaften Registerkarte Freigabe, ist die 1. Schlatfläche "Freigabe" nicht aktiviert, sozusagen. nur die 2. Erweiterete...

also ich vorhin bisschen rumgespeilt habe und geschaut habe, gingen beide problemlos. habs ja selbst gesehen.
hast du vielleicht ne erklärung dafür?

ansich ist es ja egal, der Ordner ist so oder so Freigegeben, abe rich kann es mir mit dieserSchaltfläche nicht erklären

danke und gruß

koluschkiB
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
VBS, Powershell,WSH oder doch noch CMD ???
gelöst Frage von Viper-BerlinBatch & Shell2 Kommentare

Servus Leute, hätte eine Frage ich hab bis jetzt CMD Skripte geschrieben und die Syntax ist eine Katastrophe genau ...

Windows 7
Ordnerberechtigungen von einem Ordner zu einem anderen Ordner kopieren via cmd-powershell
Frage von 121103Windows 71 Kommentar

Hi zusammen, ich habe folgendes Problem und zwar wird ein Ordner "XXX" benötigt in dem viele User nochmals einen ...

Batch & Shell
Verknüpfung aus CMD herraus erstellen (ohne VBS)
gelöst Frage von metal-shotBatch & Shell2 Kommentare

Hallo Ich versuche mich an einer batch zur Vorbereitung vieler PCs. Und zwar möchte ich diverse Portable Porgramme vom ...

SAN, NAS, DAS
QNAP - Ordnerberechtigungen
Frage von emeriksSAN, NAS, DAS7 Kommentare

Hi, ich will für zuhause ein QNAP TS-251 einrichten und bleibe schon bei der Einrichtung der Ordnerstruktur hängen. Ich ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 22 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement16 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...