如何把自己變成電腦
把所有快樂儲存起來
將所有煩惱全部刪除
累的時候裝個不斷電
情緒不穩時加穩壓器
需要放空時就重開機
想重新出發請格式化
  C:> Set me = %ComputerName%  
  C:> Xcopy *.Happy %%Me  
  C:> Del *.Trouble  
  C:> If EXIST Tired Setup UPS  
  C:> If EXIST Swing Setup Stabilizer  
  C:> If EXIST Vent Reboot  
  C:> If ResetGame==True Format C:  

10.02.2008

如何撰寫SCRIPT確認分享檔案的權限?

無意中逛到 聖哥的資訊站 看到這篇文章,原問題內容:

-------------------------------- 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.

  1. 有上顏色的部份,代表還需要確認的地方。
  2. 內容應該先有一Database,尚未確認是哪種資料庫和結構。
  3. 不知道有沒有比較好的處理"程式代碼"的方式?這樣貼上很難觀看

沒有留言:

張貼留言