вторник, 24 апреля 2012 г.

Get DACL field of shared folder security descriptor using wmi C#


 var searcher = new ManagementObjectSearcher("\\\\.\\ROOT\\CIMV2", "SELECT * FROM Win32_LogicalShareSecuritySetting WHERE Name = \"Share\"");

                        var queryResult = searcher.Get();

                        foreach (ManagementObject findedItem in queryResult)
                        {
                            var caption = findedItem["Caption"];

                            InvokeMethodOptions options = new InvokeMethodOptions();

                            ManagementBaseObject outParamsMthd = findedItem.InvokeMethod("GetSecurityDescriptor", null, options);

                            ManagementBaseObject descriptor = outParamsMthd["Descriptor"] as ManagementBaseObject;

                            ManagementBaseObject[] dacl = descriptor["DACL"] as ManagementBaseObject[];

                            foreach (var baseObject in dacl)
                            {
                                var type = baseObject.Properties["AceType"].Value;
                                var mask = baseObject.Properties["AccessMask"].Value;
                                var flags = baseObject.Properties["AceFlags"].Value;
                            }

Комментариев нет:

Отправить комментарий