使用ASP更改 NTFS 分区中 文件夹的 读写等权限
来源:互联网 发布:python linix开发工具 编辑:程序博客网 时间:2024/06/09 17:00
'====================================================================
'SetPerms.vbs
'====================================================================
'Variable Declarations
Dim sec
Dim sd
Dim Dacl
Dim ace
Dim ace1
Dim ace2
Dim oSid
Dim sidHex
'Option Explicit
'Flags: Specifies Inheritance
const ADS_ACEFLAG_INHERIT_ACE = &h2
const ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE = &h4
const ADS_ACEFLAG_INHERIT_ONLY_ACE = &h8
const ADS_ACEFLAG_INHERITED_ACE = &h10
const ADS_ACEFLAG_VALID_INHERIT_FLAGS = &h1f
const ADS_ACEFLAG_SUCCESSFUL_ACCESS = &h40
const ADS_ACEFLAG_FAILED_ACCESS = &h80
'Permission Type: Allow or Deny
const ADS_ACETYPE_ACCESS_ALLOWED = &h0
const ADS_ACETYPE_ACCESS_DENIED = &h1
'Permissions: Read, Write, FullControl
const ADS_RIGHT_GENERIC_READ = &h80000000
const ADS_RIGHT_GENERIC_WRITE = &h40000000
const ADS_RIGHT_GENERIC_EXECUTE = &h20000000
const ADS_RIGHT_GENERIC_ALL = &h10000000
const ADS_SID_RAW = 0
const ADS_SID_HEXSTRING = 1
const ADS_SID_SAM = 2
const ADS_SID_UPN = 3
const ADS_SID_SDDL = 4
const ADS_SID_WINNT_PATH = 5
const ADS_SID_ACTIVE_DIRECTORY_PATH = 6
const ADS_SID_SID_BINDING = 7
const fldname = "C:/test2 " ' <----Change this to the top folder name
const usrname = "Domain/User " ' <---Change this to the user you want to add permissions for
Dim fso, fldr, fc, f1 ', fldname, usrname
' Get instance of FileSystemObject.
Set fso = CreateObject( "Scripting.FileSystemObject ")
Call ApplyPerms (fldname)
Set fldr = fso.GetFolder(fldname)
Recurse fldr ',usrname
Set fldr = Nothing
Set fso = Nothing
wscript.echo "done "
Wscript.Quit
Public Sub Recurse( ByRef fldr) ', ByRef usrname )
dim subfolders,files,folder,file
Set subfolders = fldr.SubFolders
Set files = fldr.Files
'Display the path and all of the folders.
Wscript.Echo " "
Wscript.Echo fldr.Path
For Each folder in subfolders
Wscript.Echo folder.Name
Call ApplyPerms (folder.path) ', usrname)
Next
'Display all of the files.
For Each file in files
wscript.echo file.name
Call ApplyPerms (file.path) ', usrname)
Next
'Recurse all of the subfolders.
For Each folder in subfolders
Recurse folder ', usrname
Next
Set subfolders = Nothing
Set files = Nothing
End Sub
Sub ApplyPerms(ByRef path) ' , Byref usrname)
Set sec = CreateObject( "AdsSecurity ")
Set sd = sec.GetSecurityDescriptor( "FILE:// " & path)
Set Dacl = sd.DiscretionaryAcl
Set oSid = CreateObject( "AdsSid ")
oSid.SetAs ADS_SID_SAM, Cstr(usrname)
sidHex = oSid.GetAs(ADS_SID_SDDL)
Wscript.Echo sidHex
'----Add a new ACE so User has Full Control on Files.
Set ace1 = CreateObject ( "AccessControlEntry ")
ace1.Trustee = sidHex
ace1.AccessMask = ADS_RIGHT_GENERIC_ALL
ace1.AceType = ADS_ACETYPE_ACCESS_ALLOWED
ace1.AceFlags = ADS_ACEFLAG_INHERIT_ACE Or ADS_ACEFLAG_INHERIT_ONLY_ACE Or 1
dacl.AddAce ace1
'----Add a new ACE so User has Full Control on Folders.
Set ace2 = CreateObject ( "AccessControlEntry ")
ace2.Trustee = sidHex
ace2.AccessMask = ADS_RIGHT_GENERIC_ALL
ace2.AceType = ADS_ACETYPE_ACCESS_ALLOWED
ace2.AceFlags = ADS_ACEFLAG_INHERIT_ACE Or 1
dacl.AddAce ace2
sd.DiscretionaryAcl = dacl
sec.SetSecurityDescriptor sd
End Sub
- 使用ASP更改 NTFS 分区中 文件夹的 读写等权限
- XP NTFS分区 中文件夹访问权限的设置
- 查看与更改NTFS文件夹权限
- linux更改文件夹所有者和读写权限
- linux更改文件夹所有者和读写权限
- android更改system文件夹读写权限
- asp.net文件夹读写权限出错的解决方法
- 设置NTFS的文件/文件夹安全权限
- 创建并设置文件夹的NTFS权限
- Linux 更改文件夹的权限
- Gentoo Linux下读写NTFS格式分区(ntfs-3g解决NTFS只读不可写的问题)
- WindowsXP文件夹权限设置:xp更改文件夹权限的方法?在XP中,怎么实现文件或文件夹的权限?
- OSX: 内置读写NTFS分区
- CentOS6.4 读写NTFS分区
- CentOS 读写硬盘NTFS分区
- 在NTFS分区中复制文件而不丢失权限
- 15 Linux更改权限解决新建用户不能读写创建文件/文件夹的问题
- Linux环境下实现NTFS分区完全读写的方法
- 哈佛有一个著名的理论
- spring中的ref标签
- TCP/IP 详解 卷1:协议
- 标准C函数的一些字符串与整型、浮点型的转换
- Wince 系统内存
- 使用ASP更改 NTFS 分区中 文件夹的 读写等权限
- UNIX 高手的重大秘密
- SSH2+Crystal Report,重复行
- 非常有用的网站-职场
- 关于const char *的使用方法
- glBlendFunc()的参数
- 设计模式之 templatemethod
- C基础网络编程(能用CL编译)
- string : undeclared identifier 出错原因