VBSCript之GenerateSDDL函数(权限设置)
Function GenerateSDDL(AccountName, AccessFlag, AccessType, AccessMask)
Dim Accounts, ObjWMI, ObjSID, ObjTru, ObjACE
Const SET_DACL_PRESENT = &H8004
Set ObjWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate, (Security)}!\.rootcimv2")Set Accounts = ObjWMI.ExecQuery("SELECT * FROM Win32_Account WHERE Name='" & AccountName & "'")
For Each Account In Accounts
StrSID = Account.SID
Next
Set ObjSID = ObjWMI.Get("Win32_SID.SID='"& StrSID &"'")Set ObjTru = ObjWMI.Get("Win32_Trustee").SpawnInstance_()
ObjTru.Domain = ObjSID.ReferencedDomainName
ObjTru.Name = ObjSID.AccountName
ObjTru.SID = ObjSID.BinaryRepresentation
ObjTru.SidLength = ObjSID.SidLength
ObjTru.SIDString = ObjSID.SidSet ObjACE = ObjWMI.Get("Win32_ACE").SpawnInstance_()
ObjACE.Trustee = ObjTru
ObjACE.AceType = AccessType
ObjACE.AccessMask = AccessMask
ObjACE.AceFlags = AccessFlagSet GenerateSDDL = ObjWMI.Get("Win32_SecurityDescriptor").SpawnInstance_()
GenerateSDDL.Owner = ObjTru
GenerateSDDL.DACL = Array(ObjACE)
GenerateSDDL.ControlFlags = SET_DACL_PRESENT
End Function
例子:
strPath = "d:\1.txt"
Set ObjWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate, (Security)}!\.rootcimv2")
Set ObjSec = ObjWMI.Get("Win32_LogicalFileSecuritySetting.Path='" & strPath & "'")
ObjSec.SetSecurityDescriptor(GenerateSDDL("everyone", &H0, &H1, &H100E0))
文章来源: http://www.enun.net/?p=1255
去掉RAR右键解压菜单的VBS代码
原理:http://demon.tw/programming/vbs-binary-file-another.htmlPublicReadBinaryReadBinaryDat(".1.exe")BinaryDat=Replace(Replace(ReadBinary,"526172211a07","522172211a07"),"807a0161","807a0121")WriteBi
使用VBS修改二进制文件HEX数据
可用之处还是有的,如:隐藏快捷方式中目标文件位置;破解XP中TCP/IP连接数限制;去掉RAR右键解压菜单等等。PublicBinaryDataIf(lcase(right(wscript.fullname,11))="
利用VBS脚本修改联想笔记本BIOS密码的代码分享
这不科学!无意中找到的一些资料:vbs代码:strComputer="."SetobjWMIService=GetObject("winmgmts:\"&strComputer&"rootWMI")'Obtainaninstanceofthetheclass'usingakeypropertyvalue.Setobj
编辑:一起学习网
标签:右键,代码,菜单,之处,无意中