無意中逛到 聖哥的資訊站 看到這篇文章,原問題內容:
-------------------------------- b8442030 發表於: 星期五 九月 26, 2008 11:53 pm
聖哥您好....
我想要撰寫SCRIPT....
透過SCHEDULE JOB去執行SCRIPT....
SCRIPT內容是去CHECK本機電腦所分享的資料夾中....
是否有分享資料夾有EVERYONE FULL CONTROL的權限....
如果有就寫記錄到DATABASE.... 這部分該怎麼撰寫??
回答如下:
------------------------------- cheneyen 發表於: 星期六 九月 27, 2008 9:21 am
這應該是你要的...
我想你搞不好下一步是被要求怎樣變更預設分享權限...
好像看到有人再走我們以前走的路@@"
代碼:
Set objWMIService = GetObject("winmgmts:_
{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colShare= objWMIService.ExecQuery("Select * from _
Win32_Share where _
name<>'print$' and type='0'")
For Each oSh in colShare
Set objShareSecs = objWMIService.ExecQuery("Select * From _
Win32_LogicalShareSecuritySetting Where_
Name='" & oSh.Name & "'")
For Each oShareSec in objShareSecs strShareName = oSh.Name
strSharePath = oSh.Path
RetVal = oShareSec.GetSecurityDescriptor(strShareName)
oDACL = strShareName.DACL
For Each oACE in oDACL
Set Trustee = oACE.Trustee
Select Case oACE.AccessMask
Case 1179817,1966313,1179785
strUserRight = "read"
Case 1245631
strUserRight = "change"
Case 2032127
strUserRight = "FULL_CONTROL"
Case Else
strUserRight = oACE.AccessMask
End Select
Next
Next
Next
PS.
- 有上顏色的部份,代表還需要確認的地方。
- 內容應該先有一Database,尚未確認是哪種資料庫和結構。
- 不知道有沒有比較好的處理"程式代碼"的方式?這樣貼上很難觀看
沒有留言:
張貼留言