www.IT-Visions.de-Diskussionsforen (Version 2.1)
(Diese Seite wurde noch nicht auf das neue Layout umgestellt!)


Diese Foren stehen den Lesern unserer Bücher und allen anderen registrieren Benutzern dieser Website zur Verfügung. Wir würden uns freuen, wenn viele Nutzer dieser Website hier nicht nur Fragen stellen, sondern auch die Fragen anderer Nutzer beantworten. Diese Foren sind ein ehrenamtlicher, nicht-kommerzieller, unmoderierter Community-Dienst von www.IT-Visions.de. Wenn Sie kommerzielle Unterstützung für .NET/Scripting/PowerShell suchen, schauen Sie bitte auf unser Support-Angebot und unsere Schulungsangebote für Scripting und Schulungsangebote für .NET.



Beliebig viele ACE-Objekte verarbeiten
Autor:  MichaelKenntenich
E-mail:  Antworten bitte nur in das Forum!
Datum:  06.11.2005 10:23:10
Subject:  Beliebig viele ACE-Objekte verarbeiten
Bezug zum Buch:  Windows Scripting, 4. Auflage
Message:  Hallo Herr Dr. Schwichtenberg,

ich möchte per WMI/VB-Skript alle Freigaben der lokalen Maschine sichern, samt Berechtigungen und später genau diese Freigaben auf einer anderen Maschine lokal wieder anlegen und die Berechtigungen dabei übernehmen. Soweit tut das Skript bereits seinen Dienst.

Das Problem liegt bei den Berechtigungen. Auf Seite 672 kann ich zwar sehen, wie ich eine ACL zusammenbaue und der Freigabe beim Anlegen den SecurityDescriptor zuweise, aber ich möchte die Möglichkeit nutzen, aus einer Datei, in der ich zuvor mit GetSecurityDescriptor die wichtigen Bestandteile des SD in einer Datei gespeichert habe, die Infos einzulesen und mir den SD neu zusammenzusetzen.

Die Freigaben, mit denen ich zu tun habe, sind nicht standardisiert. Mal hat JEDER Vollzugriff, mal gibt es 2 ACEs, mal mehr, mal weniger. In dem Beispielskript auf S. 672 werden die benötigten ACE-Objekte explicit angelegt (Dim oACE1, oACE2, oACE3) und dann mit MakeACE einzeln befüllt.

Wie aber kann ich es handhaben, wenn ich vorher nicht weiß, wieviele ACEs genau anzulegen sind? Kann ich Objekte dynamisch erzeugen, quasi oACE(i) oder ähnlich? Haben Sie einen guten Ansatz für diese Thematik?

Alternativ habe ich mich auch mit dem tollen SDDL-Format für die Berechtigungen beschäftigt, das alle Infos in nur einer Zeile speichert.

Wenn ich nun mit der Methode GetSecurityDescriptor einen SD schon im Format SDDL holen und speichern könnte, um ihn dann ebenfalls in diesem Format mit SetSecurityDescriptor zu setzen, dann wäre das oben beschriebene Problem umgangen. Allerdings leuchtet mir aus der Dokumentation der Methoden nicht ein, ob und wenn ja, wie ich dieses Format einsetzen kann. Haben Sie dazu eine Idee?

Zusatzinfo: ich kenne das Tool permcopy.exe, kann es aber nicht benutzen, weil die Ursprungsmaschine offline ist, wenn die Freigaben angelegt werden sollen (Failover-Fall). Ich kenne RMTSHARE und kann es ebenfalls nicht verwenden. Als Workaround habe ich derzeit eine Lösung mit SetACL.exe implementiert, die funktioniert. Aber ich möchte gern eine komplette VBS-Lösung.

Vielen Dank für alle guten Ideen und Ansätze!




Antworten

  Zurück zum Forum



 Klassische Programmierung (Scripting, COM) -- Windows Scripting, VBScript, VB6, u.a.
 Beliebig viele ACE-Objekte verarbeiten von MichaelKenntenich  am 6.11.2005 10:23:10 AM


www.IT-Visions.de - Dr. Holger Schwichtenberg / 1998-2019