好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > vbs通過WMI修改文件文件夾的NTFS權限

vbs通過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:\\.\root\Cimv2")
        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
        If pathType = "FOLDER" And blInherit = True Then objNewACE.AceFlags = 19
        If pathType = "FOLDER" And blInherit = False Then objNewACE.AceFlags = 3
        '設置SD
        Set objFileSecSetting = objWMIService.Get("Win32_LogicalFileSecuritySetting.Path='"strPath"'")
        Call objFileSecSetting.GetSecurityDescriptor(objSD)
        blSE_DACL_AUTO_INHERITED = True
        If (objSD.ControlFlags And H400) = 0 Then
                blSE_DACL_AUTO_INHERITED = False
                objSD.ControlFlags = (objSD.ControlFlags Or H400)               
    '自動繼承位置位,如果是剛創建的目錄或文件該位是不置位的,需要置位
        End If
        If blInherit = True Then
                objSD.ControlFlags = (objSD.ControlFlags And HEFFF)       
    '阻止繼承復位
        Else
                objSD.ControlFlags = (objSD.ControlFlags Or H1400)               
    '阻止繼承位置位,自動繼承位置位
        End If
        objOldDacl = objSD.Dacl
        ReDim objNewDacl(0)
        Set objNewDacl(0) = objNewACE
        If IsArray(objOldDacl) Then               
  '權限為空時objOldDacl不是集合不可遍歷
                For Each objACE In objOldDacl
                        If (blSE_DACL_AUTO_INHERITED=False And blInherit=True) Or ((objACE.AceFlags And 16)>0 And (blInherit=True) Or (LCase(objACE.Trustee.Name)=LCase(strUser))) Then
                                'Do nothing
                                '當自動繼承位置位為0時即使時繼承的權限也會顯示為非繼承,這時所有權限都不設置
                                '當自動繼承位置位為0時,在繼承父目錄權限的情況下不設置繼承的權限.賬戶和需要加權限的賬戶一樣時不設置權限
                        Else
                                Ubd = UBound(objNewDacl)
                                ReDim preserve objNewDacl(Ubd+1)
                                Set objNewDacl(Ubd+1) = objACE
                        End If
                Next
        End If

        objSD.Dacl = objNewDacl
        '提交設置修改
        Call objFileSecSetting.SetSecurityDescriptor(objSD)
        AddPermission = 0
        Set fso = Nothing
End Function

您可能感興趣的文章:
  • VB中使用WMI獲取系統硬件和軟件有關信息
  • VBS調用WMI遍歷搜索硬盤文件并計數的方法
  • WMI StdRegProv 通過wmi操作注冊表的vbscript實現代碼 (本地或遠程)
  • VBS通過WMI監視注冊表變動的代碼
  • VBS通過WMI獲取CPU使用率的代碼
  • 將WMI中的DateTime類型轉換成VBS時間的函數代碼
  • VBS調用WMI實現搜索硬盤mp3文件
  • Rcmd.vbs [Remote Cmd with wmi]遠程腳本
  • VBS調用WMI快速關閉IE的腳本
  • VBS腳本使用WMI操作注冊表的代碼
  • vbs wmi獲取電腦硬件信息實例
  • 初窺WMI_Vbs腳本編程簡明教程補充讀物
  • 使用WMI得到計算機的信息

標簽:海口 鶴壁 四平 銅川 文山 湖州 西安 邢臺

巨人網絡通訊聲明:本文標題《vbs通過WMI修改文件文件夾的NTFS權限》,本文關鍵詞  vbs,通過,WMI,修改,文件,文件夾,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《vbs通過WMI修改文件文件夾的NTFS權限》相關的同類信息!
  • 本頁收集關于vbs通過WMI修改文件文件夾的NTFS權限的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 一本大道久久A片免费播放 | 91网站| 聚宝群赚钱app下载| 欧美牲片Av| 天天噜日日噜夜夜噜| 宅宅韩国伦三级236| 亚洲S色大片在线观看播放| 一级大片在线观看| 男生用鸡鸡捅女生| 1024人妻一区二区三区| 乖巧爬到主人胯下清理干净| 岳?好舒服?快?免老女人| 日韩国产片| 中国黄色网页| 钟祥市| GOGO中日韩人体大胆高清专业| 教师白洁未删节版| 拨开岳两片肥嫩的肉| 亚洲一区二区三区在线影院| 欧美一a一片一级一片| 桃子视频在线官网观看| 日韩精品欧美高清区| 99精品少妇免费一区二区刘豆豆 | 国产福利小视频尤物98| 庆元县| 凹凸国产熟女精品视频国语| 男女被?到爽??流白浆软件| 亚洲国产精品张柏芝在线观看| 处女第一次朱莉| 波多野结衣vs黑人巨大| 偷窥沟厕女厕白嫩大屁股| 性生交大片免费播放在线播放| 操美女视频免费| 欧美同性同志videosbest刺激| 嫩草影院永久一二三入口| 国产?无码?成人免费| 无码人妻精品一区二区三区-电影 巜漂亮的女邻居又紧又爽三级 | 精品无码国色天香777免费Av| 果冻传媒杜鹃| 看免费5xxaaa| 欧洲少妇特黄毛片AAAA片|