Guest User

Untitled

a guest
May 3rd, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ' Verify all Required input is given and sanity checked '
  2.  
  3.  
  4. Set WshShell = WScript.CreateObject("WScript.Shell")
  5. Set args = WScript.Arguments.Named
  6. iNumberOfArguments = WScript.Arguments.Count
  7.  
  8. strUsage = "Usage: /UName:<username> /Perms:<permission> /Folder:<foldername> [
  9.  
  10. /Owner:<NewOwner>(Default= administrator), /Recursive:[y,n](Default = y)],
  11.  
  12. /Mode:[e(dit),o(verwrite)](Default = edit)"
  13.  
  14. StrPermUse = "Valid /Perm Values are: R(ead), C(hange/Write), F(ull Control). Default =
  15.  
  16. C(hange)"
  17.  
  18. If args.Exists("Help") Then
  19.  Wscript.Echo strUsage
  20.  wscript.Echo strPermUse
  21.  WScript.Quit
  22. End If
  23.  
  24.  
  25. ' Debug info
  26. 'wscript.Echo args.Item("UName") & " " & args.Item("Perms") & " " & args.Item("Folder")
  27.  
  28.  
  29. If Not args.Exists("UName") AND Not args.Exists("Perms") AND Not args.Exists("Folder")  Then
  30.  Wscript.Echo strUsage & " Mecha Panda"
  31.  wscript.Echo strPermUse
  32.  Wscript.Quit
  33. ElseIf iNumberOfArguments > 5 Or iNumberOfArguments < 3 Then
  34.  Wscript.Echo strUsage & " Panda"
  35.  wscript.Echo strPermUse
  36.  Wscript.Quit
  37.  
  38.  
  39. End If
  40.  
  41. strUName    = args.Item("UName")
  42. strPerms    = args.Item("Perms")
  43. strFolder   = args.Item("Folder")
  44.  
  45.  
  46.  
  47. If Not args.Exists("Owner") Then
  48.  strOwner = "administrator"
  49.  
  50. Else
  51.  strOwner       = args.Item("Owner")
  52. End If
  53.  
  54.  
  55. If Not args.Exists("Recursive") Then
  56.  strRecursive = " /T "
  57.  
  58. Elseif StrComp( args.Item("Recursive"), "n", 1) Then
  59.  strRecursive = " "
  60.  
  61. Else
  62.  strRecursive = " /T "
  63. End If
  64.  
  65. wscript.Echo args.Item("Mode")
  66.  
  67. If Not args.Exists("Mode") Then
  68.  strMode = " /E "
  69.  
  70. Elseif StrComp( args.Item("Mode"), "a", 1) = 0 Then
  71.  strMode = " /G "
  72.  
  73. Elseif StrComp( args.Item("Mode"), "o", 1) = 0 Then
  74.  strMode = " /P "
  75.  
  76. Else
  77.  strMode = " /E "
  78. End If
  79.  
  80.  
  81. if StrComp( strPerms, "f", 1) Then
  82.  strPerms = ":F"
  83.  
  84. Elseif StrComp(strPerms, "m", 1) Then
  85.  strPerms = ":M"
  86.  
  87. Elseif StrCompt(strPerms, "x", 1) Then
  88.  strPerms = ":X"
  89.  
  90. Elseif StrCompt(strPerms, "l", 1) Then
  91.  strPerms = ":L"
  92.  
  93. Elseif StrCompt(strPerms, "r", 1) Then
  94.  strPerms = ":R"
  95.  
  96. Elseif StrCompt(strPerms, "w", 1) Then
  97.  strPerms = ":W"
  98.  
  99. Else
  100.  strPerms = ":C"
  101.  
  102. End If
  103.  
  104.  
  105.  
  106.  
  107. ' Set the String for SubinACL command'
  108.  
  109.     strSubin = " /subdirectories " & strFolder & " /setowner=" & strOwner
  110. wsh.Echo strSubin
  111. WshShell.Run ("subinacl" & strSubin)
  112.  
  113. ' Set Stringer for XCacls Command - May want to add another one to make sure Administrtor has
  114.  
  115. Full controler after taking ownership'
  116.  
  117.     strXcacls = " " & strFolder & strRecursive & strMode & chr(34) & strUName & chr(34) &
  118.  
  119. strPerms & " /F /S"
  120. '   strXadmin = " " & strFolder & strRecursice & "/g " & chr(34) & "administrators" &
  121.  
  122. chr(34) & " /F /S"
  123. WshShell.Run ("xcacls.vbs" & strXadmin)
  124.  
  125. wsh.Echo strXcacls
  126.  
  127.  
  128.  
  129. WshShell.Run ("xcacls.vbs" & strXcacls)
Add Comment
Please, Sign In to add comment