Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

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


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

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


Забыл указать ещё одно условие - скрипт должен выполняться из под учётной записи с правами пользователя, папка к которой применяются права по умолчанию имеет доступ full control для этого пользователя.
Ни одна из утилит не даёт возможность сделать это. Остаётся только GUI поэтому написал autoit скрипт:
Код: Выделить весь код
;Запрещение пользователю создавать папки на рабочем столе
;copywrite by V0f41k
;Win2ksp4 EN

;скрыть в системной панели индикатор AutoIt
;AutoItSetOption("TrayIconHide", 1)

;Отображать текущую строку сценария с помощью индикатора системной панели в режиме отладки.
;AutoItSetOption("TrayIconDebug", 1)
;AutoItSetOption("SendKeyDelay", 15)

;запускаем инсталлятор
FileChangeDir($CmdLine[2])
Send("{LWIN}R")
WinWaitActive('Run','Type the name of a program')
ControlSetText('Run','','Edit1',$CmdLine[2])
ControlClick('Run','OK','Button2')
;название окна содержит %username% - полный путь может не быть в настройках свойств папки
WinWaitActive($CmdLine[2],$CmdLine[3])
Send('D')
Send("{APPSKEY}")
Send('R')
WinWaitActive('Desktop Properties','File Folder')
Send('+{TAB 2}')
Send('{RIGHT 2}')
ControlClick('Desktop Properties','Ad&vanced...','Button16')
WinWaitActive('Access Control Settings for Desktop','Permission En&tries') 
ControlClick('Access Control Settings for Desktop','A&dd...','Button1')
WinWaitActive('Select User, Computer, or Group','&Look in') 
Sleep(500)
Send('+{TAB 2}')
Send('{UP 2}')
Sleep(100)
ControlSetText('Select User','&Look in','Edit1','Users')
Sleep(200)
ControlClick('Select User','OK','Button1')
WinWaitActive('Permission Entry','Apply &onto') 
ControlClick('Permission Entry','Deny Create Folders / Append Data','Button13')
ControlClick('Permission Entry','OK','Button30')
WinWaitActive('Access Control Settings for Desktop','Permission En&tries') 
ControlClick('Access Control Settings for Desktop','OK','Button7')
;окно появляется только первый раз
WinWaitActive('Security','Do you wish to continue',1) 
ControlClick('Security','&Yes','Button1')
WinWaitActive('Desktop Properties','&Permissions')
ControlClick('Desktop Properties','OK','Button18')
WinWaitActive($CmdLine[2],$CmdLine[3])
Send("!{F4}")
батник запускающий его
Код: Выделить весь код
@rem Запрещение пользователю создавать папки на рабочем столе
@rem copywrite by V0f41k
set AutoItPath=o:\scripts
@rem запускаем autoit script
%AutoItPath%\Autoit3.exe "Desktop Permitions.au3" /p "%userprofile%" "%username%"

Отправлено: 13:37, 22-10-2008 | #9