sol17-3.vbs

来自「Apress - Managing Enterprise Systems Wit」· VBS 代码 · 共 37 行

VBS
37
字号
Const OBJECT_INHERIT_ACE = 1
Const CONTAINER_INHERIT_ACE = 2
Const INHERIT_ONLY_ACE = 8 
Const ACETYPE_ACCESS_ALLOWED = 0

'file access types
Const FILE_GENERIC_READ = &H120089
Const FILE_GENERIC_WRITE = &H120116
Const FILE_GENERIC_EXECUTE = &H1200A0
Dim objDACL, objNewAce, objACE, objNewAce2
Dim objSecurity, objSD, strTrustee
Set objSecurity = CreateObject("ADsSecurity") 
Set objSD = objSecurity.GetSecurityDescriptor("FILE://d:\data")
Set objDACL = objSD.DiscretionaryAcl 
Set objNewAce = CreateObject("AccessControlEntry")
strTrustee = "Acme\Freds"
'set file access to directory so any FredS can 
'read existing file in the directory.
Set objNewAce = CreateObject("AccessControlEntry")
objNewAce.Trustee = strTrustee 
objNewAce.AccessMask = FILE_GENERIC_READ Or FILE_GENERIC_EXECUTE
objNewAce.AceType = ACETYPE_ACCESS_ALLOWED
'permissions are to be inherited to any new files in the directory
objNewAce.AceFlags = INHERIT_ONLY_ACE Or OBJECT_INHERIT_ACE
objDACL.AddAce objNewAce

'set directory permissions so FredS can add files
Set objNewAce2 = CreateObject("AccessControlEntry")
objNewAce2.Trustee = strTrustee
objNewAce2.AccessMask = FILE_GENERIC_READ Or _
                        FILE_GENERIC_EXECUTE Or FILE_GENERIC_WRITE
objNewAce2.AceType = ACETYPE_ACCESS_ALLOWED
objNewAce2.AceFlags = CONTAINER_INHERIT_ACE
objDACL.AddAce objNewAce2 
objSD.DiscretionaryAcl = objDACL
objSecurity.SetSecurityDescriptor objSD

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?