Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Пользователь


Сообщения: 144
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо. Но класс Win32_SecurityDescriptorHelper есть только с Windows Vista.
Решил другим немного способом:
1. Настраиваем безопасность для нужного OurNamespace через wmimgmt.msc (добавляем группу или пользователя).
2. Затем выполняем: wmic /namespace:\\root\OurNamespace /output:sd.txt path __systemsecurity call getSD
3. Из файла sd.txt забираем значение параметра SD и вставляем в скрипт powershell (предварительно удалив все пробелы из строки):
Код: Выделить весь код
            $SD = @(1,0,4,128,136,0,0,0,152,0,0,0,0,0,0,0,20,0,0,0,2,0,116,0,5,0,0,0,0,18,24,0,63,0,6,0,1,2,0,0,0,0,0,5,32,0,0,0,32,2,0,0,0,18,20,0,19,0,0,0,1,1,0,0,0,0,0,5,20,0,0,0,0,18,20,0,19,0,0,0,1,1,0,0,0,0,0,5,19,0,0,0,0,18,20,0,19,0,0,0,1,1,0,0,0,0,0,5,11,0,0,0,0,2,24,0,41,0,0,0,1,2,0,0,0,0,0,5,32,0,0,0,33,2,0,0,1,2,0,0,0,0,0,5,32,0,0,0,32,2,0,0,1,2,0,0,0,0,0,5,32,0,0,0,32,2,0,0)
            $Security = Get-WmiObject -Namespace "Root\OurNamespace" -Class __SystemSecurity -ErrorAction SilentlyContinue
            $SD = ,$SD
            $Result = $Security.PsBase.InvokeMethod('SetSD', $SD)

Отправлено: 10:32, 16-02-2017 | #3