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

Frage Entwicklung VB for Applications

Rechte per script ändern

Mitglied: sisa2002

sisa2002 (Level 1) - Jetzt verbinden

09.12.2007 um 18:28 Uhr, 6011 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 10
Script mit administrativen Rechten ausführen
gelöst Frage von schneerunzelWindows 109 Kommentare

Moin Moin zusammen, Ich bin gerade dabei Windows 10 für die automatische Verteilung fertig zumachen. Image und alles ist ...

Batch & Shell
Mit welchen Rechten wird ein Startup Script ausgeführt?
gelöst Frage von vessevBatch & Shell3 Kommentare

Hallo, ich habe hier ein Startup Script das über GPO ausgelöst werden soll. Computer Configuration -> Policies -> Windows ...

Batch & Shell
Variablen in bash-script ändern
gelöst Frage von cptkrabbeBatch & Shell3 Kommentare

Hallo! Ich stehe mal wieder auf allen verfügbaren Schläuchen, vielleicht könnt Ihr mir helfen. Ich habe ein Script (script.sh) ...

Batch & Shell
Rechter aller Unterordner mit dem selben Namen ändern
Frage von ManuelefBatch & Shell1 Kommentar

Hallo zusammen, ich hab eine Anfrage bei der ich die Rechte sehr vieler Unterordner mit dem selben Namen ändern ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit29 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

SAN, NAS, DAS
Hilfe beim Einrichten eines Storages (SAN)
gelöst Frage von Vader666SAN, NAS, DAS15 Kommentare

Hallo Admins! Ich bin in einer kleineren Firma und hatte bisher mit dem Thema SAN nur in meiner Ausbildung ...

Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...