Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 11.08.2014
Сообщений: 3

Автоматическая раздача прав на папки

11.08.2014, 14:17. Показов 3432. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе времени суток. Есть скрипт который по заготовке выдирает из csv файла имя пользователя и его непосредственного руководителя и создаёт папку с именем пользователя и даёт права доступа на папку руководителю и пользователю. ниже код. сделано топорно, но работает.
PowerShell
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
$ppl = Import-Csv -Header a,b,c,d,e,f C:\people_orgstructure.csv
$basepath = "C:\test"
foreach ($man in $ppl) {
 
    
$TARGETDIR = $basepath + "" +$man.a.ToLower()
echo "test path"
if(!(Test-Path -Path $TARGETDIR )){
    New-Item -ItemType directory -Path $TARGETDIR
}
 
echo "Права владельца папки"
$acl = Get-Acl $TARGETDIR
$acl.access | Foreach { $Acl.RemoveAccessRule($_) }
$permission = "nvk.ru\$($man.a)","Modify","ContainerInherit, ObjectInherit", "None","Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($accessRule)
$acl | Set-Acl $TARGETDIR
 
if ($man.b) {
echo "Права начальников 1"
$acl = Get-Acl $TARGETDIR
$permission = "nvk.ru\$($man.b)","ReadAndExecute","ContainerInherit, ObjectInherit", "None","Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($accessRule)
$acl | Set-Acl $TARGETDIR
}
 
if ($man.c) {
echo "Права начальников 2"
$acl = Get-Acl $TARGETDIR
$permission = "nvk.ru\$($man.c)","ReadAndExecute","ContainerInherit, ObjectInherit", "None","Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($accessRule)
$acl | Set-Acl $TARGETDIR
}
 
if ($man.d) {
echo "Права начальников 3"
$acl = Get-Acl $TARGETDIR
$permission = "nvk.ru\$($man.d)","ReadAndExecute","ContainerInherit, ObjectInherit", "None","Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($accessRule)
$acl | Set-Acl $TARGETDIR
}
 
if ($man.e) {
echo "Права начальников 4"
$acl = Get-Acl $TARGETDIR
$permission = "nvk.ru\$($man.e)","ReadAndExecute","ContainerInherit, ObjectInherit", "None","Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($accessRule)
$acl | Set-Acl $TARGETDIR
}
 
if ($man.f) {
echo "Права начальников 5"
$acl = Get-Acl $TARGETDIR
$permission = "nvk.ru\$($man.f)","ReadAndExecute","ContainerInherit, ObjectInherit", "None","Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($accessRule)
$acl | Set-Acl $TARGETDIR
}
 
}
echo "Готово..."
}
Проблема вот в чём. Нужно сделать папки отделов где более 5 человек и писать для каждого заголовок не получиться так как их огромное количество. Затык произошёл в том что бы перенести csv файл в двумерный массив.
и подсунуть его уже в эту конструкцию.
Заранее благодарю за ответ.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.08.2014, 14:17
Ответы с готовыми решениями:

Раздача прав на папки по определённому критерию
помогите написать скрипт, который бы раздавал права на папки по следующему критерию: есть несколько папок пользователей и одноименные...

Windows ХР раздача прав локальным пользователям
Предисловие: Стояла винда (ХР), под ней работало 2 пользователя с административными правами, и на логических дисках (в том числе и в...

Изменение прав доступа для папки
Доброго дня . подскажите, возможно не до конца понял функцию назначения прав в Моем случае, в корне диска С: есть папка Temp ...

4
 Аватар для borne
88 / 88 / 37
Регистрация: 28.11.2012
Сообщений: 309
11.08.2014, 15:12
а есть файл для примера? и откуда он берется?
0
0 / 0 / 0
Регистрация: 11.08.2014
Сообщений: 3
11.08.2014, 15:30  [ТС]
Не нашёл как прикрепить файл. Фрагмент файла ниже.

Code
1
"ГК ГорКапСтрой":,osapronov,abogdanov,vkovaleva,dstarovoytov,vdanilova,lartemova,etihonova,ezhelnova,msemenovih,ekaygorodova,enaumenkov,arusenkov,akochetov,akharlanov,nbelozyorov,ndanilov,vroslyakov,ialiev,eulyanov,sannenkov,eribakov,aponomarev,isvischev,ashcherbinovsky,ashishov,oshabin,avorobyov,amitin,smulin,mshamshur,otolmachev,irastorguev,dtumanov,atyaglov,eprovorov,vbutuzov,sgaar,evnukov,aprusakov,agrigoryev,aklimenok,iyagupov,egrachev,okonyahina,dyakovlev,dmalahov,astovbun,asavkin,yusuhina,nbogoslovskaya,sspiridonov,tbarinova,mkravchenko,spyatin,idenisov,vkadzaev,akozlova,yugolavleva,kafanasyev,vgershtanskaya,mkoritskiy,aantonov,vgorbanev,epereslavtseva,esapozhnikov,eryzhkova,yubrel,rbogdanova,eshchelkunova,vbobykin,taleksahina,tchakina,yevsyutina,imalinkovskaya,akrivosheina,tpetrakova,lkhan,tkornilova,vskibina,sshipilova,sbayanova,egavrilyuk,nmitichkina,isadykova,izhidkih,nluppo,nsilkina,vsapronova,nkulbeda,okozlova,lnasibullina,nnefedova,lsarkisova,ilynskaya,ogudovskaya,enikitina,nblyndu,oburceva,dpolicin,vscherbakov,vfedorishev,rtishkevich,vkuznecov,sberegovoj,mtrohimec,amelkumyan,anovikov,vnistratov,abelozerov,ashabalin,rsterhov,gsalihova,ftelkov,nbryuhoveckaya,mkrivonogova,esizykh,mzubkov,vchernishov,dgolubev,ialekseev,dborodin,vlutsenko,estepanchenko,esolohin,ebiryukov,oabanina,asinitsyn,SAndrievskiy,dnechaev,dismailov,acvetkov,OSannikova,agoryev,apopov,agulyaev,aiskandarov,dmusin,fzhiharev,apodyablonskiy,etravkina,nshurkalov,Akotov,tbelova,orazina,asabitov,dbelenkiy,inogtikova,ngepke,aantipov,epolyakov,vseregin,gkotenko,echistyakova,MLAGUTIN,aandrosenko,mmelnikov,rspiridonov,ksamohin,rpevnev,dtoropkina,asibiryakov,ntaltanova,delutina,epahomova,yashabanova,dzaharov,divanov,spanarin,skrasov,ireutov,vsonina,ovolkova,evsurkov,ederevyagin,apenkovskiy,lnushtaeva,dfedotkin,pverhov,aminin,vpanshin,skruglov,aafanasyev,dborovkov,gkukushkin,ekozynceva,yasmolenskaya,iuderiugina,vpotapichev,vpotapov,yukravchenko,dshavrin,gkrasnikov,esoldatov,dkrylov,anikishina,akozelskiy,omaleeva,rsayushev,smakarenko,sbichkov,ademkin,asidorenkov,mkomova,sstukalov,dvaclon,dkarasev,dlapatin,agaivoronskaya,darhipova,oadodina,mkozilovka,ahardin,nbutakova,Vstupina,kerofeevsky,avolgushev,dvasilyev,sdavydov,ashutko,vmedvedev,esulik,myudchits,amakarenkov,eshutko,atrofimova,vguglev,nbasalai,sbelyi,agoncharenko,tkulikova,astolyarova,mkalosha,efateeva,ezinkevich,kkozlov,aberman,nvolkova,inazarov,ososnovskaya,svoloschenko,rdzyuba,akovalenko,esurkov,juerohina,ehezin,skurganova,mkukarsky,srogacheva,skovalinskiy,kkuzmina,vveselov,klunev,egolova,tkarapetyan,ekrylova,nsherbina,ekapralova,arakhmanov,rabishev,eturlanova,martyushevskaya,evyshimirskaya,ashestakov,amusatova,rdrygin,akorotkov,tarhipova,narnautov,akryuchkov,rdasaeva,alaptev,ozhigalkina,ebutenko,vnushtaev,smihailov,dmatsievskiy,kberegovskaya,omihailova,nsadchikova,rismailov,omironova,vstepanenko,TTemruk,agermanenko,dsaraev,ovanyushina,elavlinskaya,dlevchenko,savilov,dbelov,aaksenov,avasina,azhuzhzhalov,mboycova,asidorenko,nbelkin,isivoy,kkobozev,pzubal,dislamgaliev,azimin,tPotankina,apimenov,dkondratovich,vpodyachev,rbaranova,mbulychkina,skechaev,yuborzenko,dbarannikov,nzimina,vgehtman,egorovd,nsavina,eposuiko,dnovoseltsev,akulikov,lzubkova,tkomardina,jugilenok,vnovikov,ikiseleva,okudryashova,ekochergina,dzvyagin,dshayhutdinova,vrobova,aovchinnikov,vpaschenko,amamontov,apavlovichev,oshevchenko,ezolotyh,ysnimschikova,vnnistratov,SMojaeva,vkolosov,alovkin,vmusatov,edamdinova,knovikov,ifedoryak,agavrilov,szaharchenya,apolyakov,npotehina,sminakov,degorov,vvoronova,avodin,yatimashova,ekazanenkova,ibelyaeva,etorovik,aborzenko,omaksimova,ngalichenko,aukleikina,dmikhalev,torlova,sdolgih,ashevchenko,kgevorgyan,rpafnutov,tserebryakova,ibadyul,mknyajetskiy,vtrifonov,obalchunas,agorelov,ekoryakina,npreobrazhenskaya,psergeeva,asamoylov,ejuschenkova,murbanskaya,bpushkin,gpershko,mnesterova,otaranyuk,vezhov,nrostovshchikov,svalkov,adenisenkov,tpankova,slebedev,tfilimonova,vlevakov,agolubeva,npanina,tmarushko,vtrubin,mbarsukov
ГК ГорКапСтрой это название папки остальные пользователи. ну и таких папок куча.
0
 Аватар для borne
88 / 88 / 37
Регистрация: 28.11.2012
Сообщений: 309
12.08.2014, 08:47
Лучший ответ Сообщение было отмечено grund как решение

Решение

А как определяется какому пользователю какие права раздать на папку? то есть кто из вашего списка владелец,пользователь,начальник и тд и тп..
пока у меня такие мысли, если файл имеет строки вида "папка":юзеры
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
cls
gc 'c:\temp\people_orgstructure\people_orgstructure.csv'|%{
$row=$_ -split ':'
$folder=$row[0] -replace """"
$users=$row[1] -split ','
$basepath = "c:\temp\people_orgstructure"
$TARGETDIR = $basepath + "" +$folder
echo "test path"
    if(!(Test-Path -Path $TARGETDIR )){
      New-Item -ItemType directory -Path $TARGETDIR
    }
    
foreach ($user in $users){"раздача прав паке $folder"}   
}
1
0 / 0 / 0
Регистрация: 11.08.2014
Сообщений: 3
13.08.2014, 08:58  [ТС]
В этом случае это папка отдела. поэтому в неё могу записывать все пользователи. так что ваш вариант думаю подойдёт. пошёл тестировать отпишу по результату.

Добавлено через 23 часа 51 минуту
Спасибо тему можно закрывать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.08.2014, 08:58
Помогаю со студенческими работами здесь

Отключить функцию наследования прав в свойствах папки
Приветствую Вас, уважаемые коллеги и участники форума. Задался, значит, такой целью: максимально защитить пользовательские ПК от...

Создание папки и изменение прав доступа к ней
Здравствуйте! Пытаюсь реализовать создание одноимённой папки пользователя при его (пользователя) создании, изменение её владельца и...

Массовая раздача прав "Full Access" и "Send As" на почтовые ящики для конкертных пользователей
Есть задача, в рамках которой нужно пяти юзерам дать доступ на 96 почтовых ящиков. Подскажите, как реализовать? Добавлено через 1...

Раздача прав
Пишу в в PL/SQL к примеру: grant create procedure to HP Никаких изменений не происходит. Почему?

Раздача прав
У меня стоит задача, суть ее такова - Имеется дерево каталогов, каталоги вложенные и один файл, нужно раздать права. k1 - Владелец...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru