NTFS Berechtigungen auf Remotesystem auslesen

28/02/2008 - 17:54 von Mel | Report spam
Hallo Freunde des WSH. Ich möchte per VBScript auf Ordner die NTFS
Berechtigungen auslesen um sie auf anderen Ordnern exakt so setzen zu können.
Das auslesen auf einem lokalen System klappt auch problemfrei. Nur was muss
ich tun, damit ich das auch auf einem entfernten System machen kann?
Hintergrund: wir lesen unsere DFS Links aus und wollen dann eine Liste der
Zielordner erstellen um dort die NTFS Rechte auszulesen und (im 1. Schritt)
zu überprüfen.
Hier mein script für lokal:

dateiname = "c:\test.txt"

Set wmi = GetObject("winmgmts:")
Set file = wmi.get("Win32_LogicalFileSecuritySetting='" & dateiname & "'")
retval = file.GetSecurityDescriptor(secdesc)

If retval = 0 Then
secinfo = secdesc.getobjectText_
WScript.Echo secinfo
End If

Wenn ich jetzt

dateiname = %Ein UNC_Pfad"
und/oder
Set wmi = GetObject("winmgmts://" & Servername)

versuche, klappt es nicht mehr. Ich bekomme immer die Meldung falsche Syntax.

Kann mir jemand einen Tipp geben? Ich glaub ich seh den Wald vor lauter
Bàumen nicht mehr.

Gruß und Danke

Mel
 

Lesen sie die antworten

#1 Pemo
14/03/2008 - 21:28 | Warnen spam
Hallo Mel,

Wahrscheinlich hast Du das Problem in der Zwischenzeit schon selber
gelöst (ich beim Googlen drauf gestoßen). Die Lösung besteht
(natürlich) darin, dass sich die WMI-Abfrage auf den Remote-Rechner
beziehen muss:

Dateiname = "c:\Zahlen.txt"
Comp = "<servername>"
User = "<benutzername>"
Pw = "<pw>"
Set WmiLoc = CreateObject("WBemScripting.SWBemLocator")
Set WMIService = WmiLoc.ConnectServer(Comp, "oot\cimv2",User, Pw)
Set file = WMIService.get("Win32_LogicalFileSecuritySetting='" &
dateiname & "'")
retval = file.GetSecurityDescriptor(secdesc)

usw.

Peter

On 28 Feb., 17:54, Mel wrote:
Hallo Freunde des WSH. Ich möchte per VBScript auf Ordner die NTFS
Berechtigungen auslesen um sie auf anderen Ordnern exakt so setzen zu können.
Das auslesen auf einem lokalen System klappt auch problemfrei. Nur was muss
ich tun, damit ich das auch auf einem entfernten System machen kann?
Hintergrund: wir lesen unsere DFS Links aus und wollen dann eine Liste der
Zielordner erstellen um dort die NTFS Rechte auszulesen und (im 1. Schritt)
zu überprüfen.
Hier mein script für lokal:

dateiname = "c:\test.txt"

Set wmi = GetObject("winmgmts:")
Set file = wmi.get("Win32_LogicalFileSecuritySetting='" & dateiname & "'")
retval = file.GetSecurityDescriptor(secdesc)

If retval = 0 Then
secinfo = secdesc.getobjectText_
WScript.Echo secinfo
End If

Wenn ich jetzt

dateiname = %Ein UNC_Pfad"
und/oder
Set wmi = GetObject("winmgmts://" & Servername)

versuche, klappt es nicht mehr. Ich bekomme immer die Meldung falsche Syntax.

Kann mir jemand einen Tipp geben? Ich glaub ich seh den Wald vor lauter
Bàumen nicht mehr.

Gruß und Danke

Mel

Ähnliche fragen