找回密码
 加入
搜索
查看: 3982|回复: 11

[已解决]_Net_Share_ShareAdd有法设置只读共享吗?

[复制链接]
发表于 2009-5-10 12:08:59 | 显示全部楼层 |阅读模式
本帖最后由 jycel 于 2009-6-27 15:04 编辑

使用_Net_Share_ShareAdd做共享,$iType>共享权限,UDF中每个都试了下,要么是完全共享,要么无法设置权限!不会像批处理要借助三方软件才能设权限吧?牛人请指点下!
 楼主| 发表于 2009-5-10 12:32:22 | 显示全部楼层
刚问了下其它朋友,好像UDF的问题,建议牛人完善下!
http://www.cnblogs.com/wdhust/archive/2009/03/03/1264388.html有参照方法
UDF:NetShare.au3
发表于 2009-5-10 18:46:54 | 显示全部楼层
 楼主| 发表于 2009-5-10 21:32:20 | 显示全部楼层
本帖最后由 jycel 于 2009-5-10 21:37 编辑

那参考答案太深了还是C++~~别说论坛,网上都搜索过~~
我是想用AU3 来实现
发表于 2009-5-10 22:25:56 | 显示全部楼层
4# jycel

3楼给出的链接就是用au3实现的啊,4楼的代码。
你把其中的一句$tSid = _LookupAccountName(@UserName)改成:
$tSid = _LookupAccountName("everyone")就好了啊。
 楼主| 发表于 2009-5-10 23:09:07 | 显示全部楼层
权限一个都没勾用那代码
发表于 2009-6-24 23:35:43 | 显示全部楼层
本帖最后由 mhgd 于 2009-6-24 23:55 编辑

我也想知道,还是没有解决啊,
#include <WinAPI.au3>
CONST $FILE_CREATE_PIPE_INSTANCE = 4
CONST $GENERIC_ALL = 0x10000000
CONST $GENERIC_READ = 0x80000000
CONST $GENERIC_WRITE = 0x40000000
CONST $FILE_EXECUTE = 0x20
CONST $FILE_TRAVERSE = 0x20

$hHeap = _GetProcessHeap()
$pAcl = _HeapAlloc($hHeap, 0, 1024)
_InitializeAcl($pAcl, 1024)
$tSecurDesc = _InitializeSecurityDescriptor()
$pSecurDesc = DllStructGetPtr($tSecurDesc)
$tSid = _LookupAccountName(@UserName)
$pSid = DllStructGetPtr($tSid)
_AddAccessAllowedAce($pAcl, $pSid, $GENERIC_READ)
_SetSecurityDescriptorDacl($pSecurDesc, $pAcl)

红色是关键代码,但经查资料,应该是很正确的,但不知道为什么,运行的效果是什么都没选 ,如果改成完全共享的话_AddAccessAllowedAce($pAcl, $pSid, $GENERIC_ALL),又很正常。郁闷中。。。。
发表于 2009-6-24 23:55:31 | 显示全部楼层
#include <LocalSecurityAuthority.au3>

$sShareName = "MyShare"
$iAccessMask = 0x001200a9 ; Read only

$pAcl = _SetEntriesInAcl1("Everyone", $iAccessMask, 1, 0)
$iResult = _SetNamedSecurityInfo($sShareName, $SE_LMSHARE, 4, 0, 0, $pAcl, 0)
If $iResult Then
    Msgbox(0, 'Success', 'Done!')
Else
   Msgbox(0, 'Error', 'Error code:' & @ERROR)
EndIf
LocalSecurityAuthority.au3 - http://www.autoitx.com/forum.php?mod=viewthread&tid=7080
发表于 2009-6-25 01:04:48 | 显示全部楼层
多谢老大,终于成功了,
谢谢。。。。
发表于 2011-11-23 17:06:48 | 显示全部楼层
好东西啊,收藏
发表于 2011-11-23 17:10:14 | 显示全部楼层
我试了一下,怎么提示错误代码2310呢
发表于 2017-6-30 00:10:38 | 显示全部楼层
提示错误代码2310,为什么呢?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-24 10:48 , Processed in 0.071364 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表