|
|
|
Cетевые права доступа к папке в Foxpro 9.0
|
|||
|---|---|---|---|
|
#18+
Привет всем! Как определить сетевые права доступа к папке в Foxpro 9.0 ? Сервер Scripting (Microsoft Vizual Basic@Scripting Edition) похоже этого не может... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2007, 14:29 |
|
||
|
Cетевые права доступа к папке в Foxpro 9.0
|
|||
|---|---|---|---|
|
#18+
Т. е. речь идет о разрешениях к общему ресурсу ? Или имеется в виду что-то другое ? Вроде бы этим занимается Api ф-я SetFileSecurity. Попробую разобраться как она работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2007, 09:57 |
|
||
|
Cетевые права доступа к папке в Foxpro 9.0
|
|||
|---|---|---|---|
|
#18+
Да, речь идёт о сетевых ресурсах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 17:14 |
|
||
|
Cетевые права доступа к папке в Foxpro 9.0
|
|||
|---|---|---|---|
|
#18+
Права нужно давать при создании шары или для уже существующей ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 17:21 |
|
||
|
Cетевые права доступа к папке в Foxpro 9.0
|
|||
|---|---|---|---|
|
#18+
Права уже созданы админом. Надо их прочитать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2007, 12:08 |
|
||
|
Cетевые права доступа к папке в Foxpro 9.0
|
|||
|---|---|---|---|
|
#18+
Если прочитать тогда проще: LMEM_ZEROINIT=64 DECLARE LONG LocalAlloc IN win32api LONG uFlags,LONG uBytes DECLARE LONG LocalFree IN win32api LONG hMem hMem=LocalAlloc(LMEM_ZEROINIT,4096) pbuf=hMem DECLARE LONG NetShareGetInfo IN netapi32 STRING @servername,STRING @netname,LONG nlevel,INTEGER @pbuf DECLARE LONG NetApiBufferFree IN netapi32 INTEGER bufptr DECLARE INTEGER NetApiBufferSize IN netapi32 INTEGER lpBuffer,INTEGER @nSize servername=STRCONV(STRCONV(''+CHR(0),1),5) netname=STRCONV(STRCONV('2'+CHR(0),1),5) && зашарен каталог 'c:\2' STORE 0 TO pbuf,lnSize n=NetShareGetInfo(@servername,@netname,502,@pbuf) NetApiBufferSize(pbuf,@lnSize) bufptr=SYS(2600,pbuf,lnSize) NetApiBufferFree(pbuf) * здесь просто лень разбираться со структурой SHARE_INFO_502 DECLARE LONG IsValidSecurityDescriptor IN win32api STRING @pSecurityDescriptor FOR i=1 TO lnSize pSecurityDescriptor=SUBSTR(bufptr,i) IF IsValidSecurityDescriptor(@pSecurityDescriptor)=1 EXIT ENDIF ENDFOR DECLARE LONG GetSecurityDescriptorDacl IN win32api STRING pSecurityDescriptor,; INTEGER @lpbDaclPresent,LONG @pDacl,INTEGER @lpbDaclDefaulted STORE 1 TO lpbDaclPresent,lpbDaclDefaulted,pDacl GetSecurityDescriptorDacl(pSecurityDescriptor,@lpbDaclPresent,@pDacl,@lpbDaclDefaulted) pAcl=SYS(2600,pDacl,lnSize) nkolacl=CTOBIN(SUBSTR(pAcl,5,2),'2RS') && êîë-âî ACL DECLARE INTEGER GetAce IN win32api STRING @pAcl,INTEGER dwAceIndex,INTEGER @nAce DECLARE LONG LookupAccountSid IN win32api STRING @lpSystemName,STRING @Sid,; STRING @lpAccountName,LONG @cbName,STRING @ReferencedDomainName,LONG @cbReferencedDomainName,; STRING @peUse lpSystemName='' * у меня почему-то эти значения * по идее д.б. GENERIC_WRITE, GENERIC_READ и т.п. perm_read=1179817 perm_readwrite=1245631 perm_all=2032127 FOR i=0 TO nkolacl-1 nAce=0 GetAce(@pAcl,i,@nAce) pAce=SYS(2600,nAce,36) access_mask=CTOBIN(SUBSTR(pAce,5,4),'RS') Sid=RIGHT(pAce,28) STORE SPACE(255) TO lpAccountName,ReferencedDomainName,peUse STORE 255 TO cbName,cbReferencedDomainName LookupAccountSid(@lpSystemName,Sid,@lpAccountName,@cbName,; @ReferencedDomainName,@cbReferencedDomainName,@peUse) MESSAGEBOX(ALLTRIM(lpAccountName,' ',CHR(0))+' : '+; ICASE(access_mask=perm_all,'ALL',access_mask=perm_read,'READ',; access_mask=perm_readwrite,'READWRITE','íå îïðåäåëåíî')) ENDFOR LocalFree(hMem) CLEAR DLLS * Почти все содрано отсюда: * http://forum.foxclub.ru/read.php?29,270090,270853#msg-270853 * http://www.sql.ru/forum/actualthread.aspx?tid=139014 * http://www.news2news.com/vfp/?group=-1&function=1023 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2007, 16:08 |
|
||
|
Cетевые права доступа к папке в Foxpro 9.0
|
|||
|---|---|---|---|
|
#18+
Спасибо. Но сложно то как... А средствами Scripting.FileSystemObject не возможно? Есть ли где-то полная документация по объектам Scripting? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2007, 08:01 |
|
||
|
Cетевые права доступа к папке в Foxpro 9.0
|
|||
|---|---|---|---|
|
#18+
Нет, без апи тут не обойтись. FileSystemObject поддерживает простейшие операции - копирование, удаление, атрибуты и т. п. Ни js, ни vbs, ни wsh не поддерживают обращение к апи. В VB с этим проблем нет. Документацию ищи в c:\Program Files\Microsoft Office\OFFICE11\1049\VBSCRIP5.CHM или в инете по имени VBSCRIP5.CHM, JSCRIPT5.CHM, WSH.CHM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2007, 11:40 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34645321&tid=1589039]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
15ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 290ms |

| 0 / 0 |
