Jump to content

ACLs von Netzwerkpfad anzeigen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo @ all,

 

ich möchte die Berechtigungen für Unterordner meines angegebenen Hauptordners ermitteln. Habe ein Script Beispiel von Technet, klappt auch soweit, aber nur mit lokalen Ordnern. Wenn ich einenn Netzwerkpfad angebe (habe volle Rechte), dann bekomme ich in VBS einen Abbruchfehler. Den Pfad den ich Remote auslesen möchte ist kein "normaler" Server, sondern eine NetApp. Hier steckt der Wurm drin:

 


strcomputer = "."
strpathname = "\\DFS\ordner"


'Calling Swbemservices Object:
'=============================

Set x = GetObject("winmgmts:\\" &strcomputer &"\root\cimv2")

Set folders =x.execquery("Associators of {Win32_Directory.Name='" & strpathname & "'} " _
       & "Where AssocClass = Win32_Subdirectory " _
           & "ResultRole = PartComponent")
		For Each subfolder In folders
			MsgBox subfolder
			Next



For Each subfolder In folders    #<=== Hier bricht das Skript ab!

   Getsubfolders strpathname

Next

 

Weiss jemand woran es liegt oder wie ich es lösen könnte?

 

Thx

bearbeitet von blob
Link zu diesem Kommentar

Das dachte ich mir auch irgendwie schon. Wenn ich mir den Pfad als ein Netzlaufwerk verbinde, dann klappt es. Nur ist es mühsehlig dauernd ein Laufwerk zu mappen wenn man mehrere Ordner hat.

 

Wie müsste dieser Scriptteil aussehen, damit ein Remote Computer (Server) angesprochen wird? Sorry bin nicht so fit mit VBS... ich kann mir nur herleiten, dass die Variable strComputer geändert werden muss auf den Namen des anderen Computers... aber alleine das reicht nicht, wie festgestellt habe : o )

Link zu diesem Kommentar

Du könntest Dir ja im Script ein festes Laufwerk (z.B. Y:) jeweils mappen, auslesen, Mapping wieder löschen...

 

also mal grob so:

Set wshnet = CreateObject("WScript.Network")
wshnet.MapNetworkDrive strLW, strPath
'... die Abfrage hier z.B. als Prozeduraufruf
wshnet.RemoveNetworkDrive strLW

 

Edit: Wenn Du einen Remotecomputer abfragen willst, muss der Pfad ein Pfad sein, den der Remotecomputer sieht (i.Allg. z.B. dessen Laufwerke)

Link zu diesem Kommentar
  • 3 Wochen später...

Hallo, ich wollte zu dem Thema jetzt mich nochmal schlau machen.

 

Mittlsl Rechtklick auf \\server\ordner kann ich mir ja die ACL anzeigen lassen. Da muss es doch auch möglich sein, die ACL über Netzwerkpfade mit VBS auszulesen?! Das obere Script kann man vergessen und einen neuen Ansatz finden. Oder evtl. ist das überhaupt nicht möglich?

 

Zur Not würde ich im VB Script die Abfrage der ACL über ein Drittanbieter Tool starten. AccessEnum.exe arbeitet aber leider nicht ohne die grafische Oberfläche (oder ich bin zu dumm um /? zu starten).

 

Danke im voraus.

Link zu diesem Kommentar

ähm, benötige doch nochmal kurz Hilfe...

 

warum kommt hier die Fehlermeldung, dass das System die angegebene Datei nicht gefunden hat?

 

et objShell = WScript.CreateObject("WScript.Shell") 
return = objShell.Run("c:\xcacls.exe  C:\TEST >>C:\log.txt")
Set objShell = Nothing

 

Ordner existiert, xcacls.exe funktioniert auch. Was mache ich falsch?

 

Merci im voraus.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...