Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/16: Рейтинг темы: голосов - 16, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 03.01.2011
Сообщений: 79

Дать пользователю права на каталог (NTFS) из скрипта

04.04.2012, 17:30. Показов 3433. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Так как же дать определенному пользователю права на запись в определенный каталог из скрипта (VBScript или JScript), то что надо использовать WMI - я примерно понял, но как...
Желательно с примером
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2012, 17:30
Ответы с готовыми решениями:

Как дать пользователю права администратора
Есть сервер (test), на нем есть администратор (adminname). Он может заводить пользователей и править конфигурацию сервера. Этот...

Дать пользователю права только на чтение
Создал 2-го пользователя "ta" в sql server через Management Studio. как в свойствах или в ролях запретить этому пользователю...

Дать пользователю user2 права пользователя user1
Нужно через команду chmod дать пользователю user2 права пользователя user1. Как это можно реализовать ?

1
1 / 1 / 0
Регистрация: 03.01.2011
Сообщений: 79
09.04.2012, 12:31  [ТС]
Разобрался сам 8) Спасибо всем, кто хотел помочь! Далее привожу кусок кода на VBScript который дает пользователю полный доступ к каталогу. Юзайте на здоровье, если кому понадобиться 8))!
Правда с обработкой ошибок тут совсем слабовато 8( Но на то и исходник!
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
Option Explicit
 
Public Function SetPermission(strUserName, strDomainName, strPath)
    dim objService
    dim objLocator
    dim objUserTrustee
 
    Set objLocator = CreateObject("WbemScripting.SWbemLocator")
    Set objService = objLocator.ConnectServer ("", "root/cimv2")
        
    'Retrieve user's Trustee
    dim objWMIService
    dim colItems
    dim item
    dim objFSO
    
    Set objWMIService = GetObject("winmgmts:\.
ootcimv2")
    Set colItems = objWMIService.ExecQuery ("Select * from Win32_Account Where Name = '" & strUserName & "' and Domain = '" & strDomainName & "'")
    If colItems.count = 1 Then
        For Each item in colItems
            set objUserTrustee = item
        Next
    End If
 
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    If objFSO.FolderExists(strPath) Then
        SetPermissionToFolder objService,strPath,objUserTrustee
    End If
End Function
 
 
Private Function SetPermissionToFolder(byref Service,strPath,byRef UserTrustee)
'Declares main variables
 
dim UserHasPermission
dim NewDACL()
 
' Init data
UserHasPermission = false
redim NewDACL(0)
 
'Retrieve security descriptor for the folder
dim wmiFileSecSetting
dim OldSD
dim retVal
dim DACL
dim wmiAce
dim Trustee
dim i
dim NewSD
i=0
Set wmiFileSecSetting = GetObject("winmgmts:Win32_LogicalFileSecuritySetting.path='" & strPath & "'")
retVal = wmiFileSecSetting.GetSecurityDescriptor(OldSD)
 
' Retrieve the DACL array of Win32_ACE objects.
DACL = OldSD.DACL
 
For each wmiAce in DACL
' Get Win32_Trustee object from ACE 
    Set Trustee = wmiAce.Trustee
    If (Trustee.SIDString = UserTrustee.SID) Then
        ConfigureACE wmiAce
        UserHasPermission = true
    End If
    redim preserve NewDACL(i)
    set NewDACL(i) = wmiAce
    i = i + 1
Next
If not UserHasPermission Then
    dim newACE
    set newACE = Service.Get("Win32_Ace").Spawninstance_()
    newACE.Trustee = UserTrustee
 
    ConfigureACE newACE
    i = ubound(NewDACL)+1
    redim preserve NewDACL(i)
    set NewDACL(i) = newACE
End If
 
OldSD.DACL = NewDACL
 
retVal = wmiFileSecSetting.SetSecurityDescriptor(OldSD)
End Function
 
Private Sub ConfigureACE (byref wmiAce)
    wmiAce.AccessMask = 2032127' Full control
    wmiAce.AceType  = 0' ALLOW
    wmiAce.AceFlags = 3' OBJECT_INHERIT_ACE + CONTAINER_INHERIT_ACE
End Sub
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.04.2012, 12:31
Помогаю со студенческими работами здесь

Программно дать права Администратора опытному пользователю
Здравствуйте! Ребята подскажите по такому вопросу. Можно ли как-нить назначить права Администратора опытному пользователю или как...

Как дать обычному пользователю права на установку шрифтов
Добрый день уважаемые пользователи. Возможно ли сделать так чтобы обычный пользователь без адм. привилегий смог установить шрифты? ...

Как дать права обычному пользователю, чтобы он смог добавлять правила в iptables?
Добрый день, ребят подскажите как дать права обычному пользователю что бы он смог добавлять правила в iptables. допустим есть пользователь...

Как дать права другому пользователю на "пользовательскую процедуру"
Добрый день, столкнулся с такой с такой проблемой. Есть пользователь User-1 и он создал процедуру "Procedure-1". При...

Как дать права обычному юзеру на запуск приложений, требующих права админа?
Суть такова.Есть приложения которые должны юзаться с обычной учетной пользователя от имени администратора без ввода пароля.Например,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru