vbs通过WMI修改文件文件夹的NTFS权限

  次阅读 作者:智能小宝 来源:互联网 2016-01-26 10:06 我要评论(0)

使用WMI修改文件文件夹的NTFS权限实现方法,需要的朋友可以参考下

使用WMI修改文件文件夹的NTFS权限, 代码

复制代码 代码如下:

strUser = "guests"

strPath = "D:abc.txt"

RetVal = AddPermission(strUser,strPath,"R",True)

'-------------------------------------------------------------------------

'用于给文件和文件夹添加一条权限设置.返回值: 0-成功,1-账户不存在,2-路径不存在

'strUser表示用户名或组名

'strPath表示文件夹路径或文件路径

'strAccess表示允许权限设置的字符串,字符串中带有相应字母表示允许相应权限: R-读,C-读写,F-完全控制

'blInherit表示是否继承父目录权限.True为继承,False为不继承

Function AddPermission(strUser,strPath,strAccess,blInherit)

Set objWMIService = GetObject("winmgmts:.rootCimv2")

Set fso = CreateObject("Scripting.FileSystemObject")

'得到Win32_SID并判断用户/组/内置账户是否存在

Set colUsers = objWMIService.ExecQuery("SELECT * FROM Win32_Account WHERE Name='"&strUser&"'")

If colUsers.count<>0 Then

For Each objUser In colUsers

strSID = objUser.SID

Next

Else

AddPermission = 1

Exit Function

End If

Set objSID = objWMIService.Get("Win32_SID.SID='"&strSID&"'")

'判断文件/文件夹是否存在

pathType = ""

If fso.fileExists(strPath) Then pathType = "FILE"

If fso.folderExists(strPath) Then pathType = "FOLDER"

If pathType = "" Then

AddPermission = 2

Exit Function

End If

'设置Trustee

Set objTrustee = objWMIService.Get("Win32_Trustee").SpawnInstance_()

objTrustee.Domain = objSID.ReferencedDomainName

objTrustee.Name = objSID.AccountName

objTrustee.SID = objSID.BinaryRepresentation

objTrustee.SidLength = objSID.SidLength

objTrustee.SIDString = objSID.Sid

'设置ACE

Set objNewACE = objWMIService.Get("Win32_ACE").SpawnInstance_()

objNewACE.Trustee = objTrustee

objNewACE.AceType = 0

If InStr(UCase(strAccess),"R") > 0 Then objNewACE.AccessMask = 1179817

If InStr(UCase(strAccess),"C") > 0 Then objNewACE.AccessMask = 1245631

If InStr(UCase(strAccess),"F") > 0 Then objNewACE.AccessMask = 2032127

If pathType = "FILE" And blInherit = True Then objNewACE.AceFlags = 16

If pathType = "FILE" And blInherit = False Then objNewACE.AceFlags = 0

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...