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

Rechte per script ändern

Mitglied: sisa2002

sisa2002 (Level 1) - Jetzt verbinden

09.12.2007 um 18:28 Uhr, 6056 Aufrufe

Hallo,

ich habe mit unten angegebenem Code die Rechte einer Datei per script geändert. Das funktioniert auch soweit. Leider werden nachdem ich das Script habe laufen lassen die geänderten Rechte nicht unter den Dateieigenschaften/Sicherheitseinstellungen angezeigt. Wenn ich aber ein Script zum auslesen der Dateirechte benutzte, wird bestätigt das die Rechte geändert wurden.

Hat jemand eine Idee was ich falsch gemacht habe, oder was ich tun muss das die geänderten Rechte angezeigt werden ?

Danke !


zielfile ="c:\TEST\1.txt"
01.
' Zugriff auf WMI
02.
Set wmi = GetObject("winmgmts:")
03.
' "Jeder" soll die Datei nur lesen dürfen, das Löschen wird explizit verboten
04.
' "Administrator" soll alle Rechte erhalten
05.
Set ACE1 = CreateACE(wmi, 1, 0, SetTrustee(wmi, "Benutzer"))
06.
Set ACE2 = CreateACE(wmi, 64, 1, SetTrustee(wmi, "Benutzer"))
07.
Set ACE3 = CreateACE(wmi, 2032127, 0, SetTrustee(wmi, "Administratoren"))
08.
Set ACE4 = CreateACE(wmi, 2032127, 0, SetTrustee(wmi, "test"))
09.

10.
' die beiden ACEs werden in einem Variablenfeld gespeichert
11.
newdacl = Array(ACE1, ACE2, ACE3, ACE4)
12.

13.
' die Datei, die diese Rechte erhalten soll, wird angesprochen
14.
Set fileinstance = GetFile(wmi,zielfile)
15.

16.
' der alte Security Descriptor wird geöffnet
17.
retval = fileinstance.getsecuritydescriptor(sec)
18.

19.
' die neue DACL ersetzt die alte DACL
20.
sec.Properties_.Item("dacl") = newdacl
21.

22.
' der geänderte Security Descriptor wird in die Datei zurückgeschrieben
23.
retval = fileinstance.setsecuritydescriptor(sec)
24.

25.

26.

27.
Function GetFile(wmi, filename)
28.
' öffnet eine Datei
29.
Set GetFile = wmi.Get("Win32_LogicalFileSecuritySetting='" & filename & "'")
30.
End Function
31.

32.

33.
Function CreateACE(wmi, AccessMask, AceType, objTrustee)
34.
' legt einen ACE an
35.
Set objAce = wmi.Get("Win32_Ace").SpawnInstance_
36.
objAce.Properties_.Item("AccessMask") = AccessMask
37.
objAce.Properties_.Item("AceFlags") = 3
38.
objAce.Properties_.Item("AceType") = AceType
39.
objAce.Properties_.Item("Trustee") = objTrustee
40.
Set CreateACE = objAce
41.
End Function
42.

43.

44.
Function SetTrustee(wmi, account)
45.
If Left(account,2) = "\\" Then
46.
konto = Mid(account, 3)
47.
Else
48.
konto = account
49.
End If
50.
infos = Split(konto, "\")
51.
If UBound(infos) = 0 Then
52.
'SYS: Windows Script Host Runtime Library
53.
Set wshnet = CreateObject("WScript.Network")
54.
UserName = infos(0)
55.
ComputerName = wshnet.ComputerName
56.
Else
57.
UserName = infos(1)
58.
ComputerName = infos(0)
59.
End If
60.

61.

62.
' legt ein Win32_Trustee-Objekt an
63.
Set objTrustee = wmi.Get("Win32_Trustee").SpawnInstance_
64.
objTrustee.Domain = ComputerName
65.
objTrustee.Name = UserName
66.

67.
objTrustee.Properties_.Item("SID") = GetBinarySID(ComputerName, UserName)
68.
Set SetTrustee = objTrustee
69.
End Function
70.

71.

72.
Function GetBinarySID(ComputerName, UserName)
73.
' ** ermittelt binäre SID eines Benutzerkontos
74.
On Error Resume Next
75.
Set wmi = GetObject("winmgmts:\\" & ComputerName)
76.
If Err.number<>0 Then
77.
MsgBox "Konnte \\" & ComputerName & " nicht erreichen!"
78.
WScript.Quit
79.
End If
80.
On Error Goto 0
81.

82.
wql = "select * from win32_account where name='" & UserName & "'"
83.
Set result = wmi.ExecQuery(wql)
84.
counter = 0
85.
For each entry in result
86.
counter = counter + 1
87.
sid = entry.SID
88.
Next
89.

90.

91.
Set obj = wmi.Get("Win32_SID.SID=""" & sid & """")
92.
GetBinarySID = obj.Properties_.Item("BinaryRepresentation").Value
93.
End Function
Ähnliche Inhalte
Windows Server
Recht Administrator
gelöst Frage von rudeboyWindows Server8 Kommentare

Hi! Kann mir jemand sagen wie ich das deuten soll? NTFS-Berechtigung Vollzugriff für den Admin aber trotzdem rot ausgekreuzt? ...

Backup

Veeam Backup and Replication Script Execution timed out

Frage von manuel1985Backup8 Kommentare

Hallo Leute, folgendes Problem erreicht mich gerade von einem Kunden: Der Kunde nutzt Veeam B&R Version 8 Patch 1 ...

Windows Server

Recht - Ordner Löschen verweigern - wird ignoriert

Frage von Der-PhilWindows Server7 Kommentare

Hallo! Ich möchte gerade folgendes umsetzen: Ordner c:\TEST\Subfolder auf einem Windows 2016 Server soll nicht gelöscht werden können. > ...

Exchange Server

"Senden als" recht verteilen Exchange Online

gelöst Frage von Ex0r2k16Exchange Server2 Kommentare

Hallo zusammen, ich muss ein Senden Als Recht so einfach wie möglich auf diverse Postfächer verteilen. Gibt es hier ...

Neue Wissensbeiträge
Windows 7

Windows 7 u. Server 2008 (R2) SHA-2-Update kommt am 12. März 2019

Information von kgborn vor 2 StundenWindows 72 Kommentare

Kleine Info für die Admins der oben genannten Maschinen. Ab Juli 2019 werden Updates von Microsoft nur noch mit ...

Firewall
PfSense 2.5.0 benötigt doch kein AES-NI
Information von ChriBo vor 1 TagFirewall2 Kommentare

Hallo, Wie sich einige hier erinnern werden hat Jim Thompson in diesem Aritkel beschrieben, daß ab Version 2.5.0 ein ...

Internet
Copyright-Reform: Upload-Filter
Information von Frank vor 3 TagenInternet1 Kommentar

Hallo, viele Menschen reden aktuell von Upload-Filtern. Sie reden darüber, als wären es eine Selbstverständlichkeit, das Upload-Filter den Seitenbetreibern ...

Google Android

Blokada: Tracking und Werbung unter Android unterbinden

Information von AnkhMorpork vor 3 TagenGoogle Android1 Kommentar

In Ergänzung zu meinem vorherigen Beitrag: Blokada efficiently blocks ads, tracking and malware. It saves your data plan, makes ...

Heiß diskutierte Inhalte
Backup
Wo installiert man Veeam bei SoHo?
Frage von EDVMan27Backup16 Kommentare

Hallo, nachdem ich die neue Veeam CE bei mir getestet habe, wollte ich es einmal bei einem Kunden testen. ...

Windows Server
DFSR - Dateireplikationseinstellung - Festplattenauslastung zu hoch - optimale Einstellungsfrage
Frage von Kamelle01Windows Server12 Kommentare

Hallo liebe Mitglieder, ich habe einen Windows Server 2016 mit 4TB 7200U 256MB SATA Festplatten in RAID10 und einem ...

CPU, RAM, Mainboards
Kann eine "virtuelle CPU" bei VMware die Leistung einer phys. CPU entsprechen ?
Frage von Troja71CPU, RAM, Mainboards11 Kommentare

Eine Software fordert im Betrieb 8 CPU mit x GHz Taktung. Verfügbar ist "nur" eine VM mit 8 vCPUs ...

SAN, NAS, DAS
Aktuelle Bauvorschläge für NAS
gelöst Frage von zuckelSAN, NAS, DAS9 Kommentare

Hallo zusammen, ich möchte gerne ein NAS. Ein NAS mit ZFS und FreeNAS und mehr als 4 Festplatten (auch ...