Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ' Verify all Required input is given and sanity checked '
- Set WshShell = WScript.CreateObject("WScript.Shell")
- Set args = WScript.Arguments.Named
- iNumberOfArguments = WScript.Arguments.Count
- strUsage = "Usage: /UName:<username> /Perms:<permission> /Folder:<foldername> [
- /Owner:<NewOwner>(Default= administrator), /Recursive:[y,n](Default = y)],
- /Mode:[e(dit),o(verwrite)](Default = edit)"
- StrPermUse = "Valid /Perm Values are: R(ead), C(hange/Write), F(ull Control). Default =
- C(hange)"
- If args.Exists("Help") Then
- Wscript.Echo strUsage
- wscript.Echo strPermUse
- WScript.Quit
- End If
- ' Debug info
- 'wscript.Echo args.Item("UName") & " " & args.Item("Perms") & " " & args.Item("Folder")
- If Not args.Exists("UName") AND Not args.Exists("Perms") AND Not args.Exists("Folder") Then
- Wscript.Echo strUsage & " Mecha Panda"
- wscript.Echo strPermUse
- Wscript.Quit
- ElseIf iNumberOfArguments > 5 Or iNumberOfArguments < 3 Then
- Wscript.Echo strUsage & " Panda"
- wscript.Echo strPermUse
- Wscript.Quit
- End If
- strUName = args.Item("UName")
- strPerms = args.Item("Perms")
- strFolder = args.Item("Folder")
- If Not args.Exists("Owner") Then
- strOwner = "administrator"
- Else
- strOwner = args.Item("Owner")
- End If
- If Not args.Exists("Recursive") Then
- strRecursive = " /T "
- Elseif StrComp( args.Item("Recursive"), "n", 1) Then
- strRecursive = " "
- Else
- strRecursive = " /T "
- End If
- wscript.Echo args.Item("Mode")
- If Not args.Exists("Mode") Then
- strMode = " /E "
- Elseif StrComp( args.Item("Mode"), "a", 1) = 0 Then
- strMode = " /G "
- Elseif StrComp( args.Item("Mode"), "o", 1) = 0 Then
- strMode = " /P "
- Else
- strMode = " /E "
- End If
- if StrComp( strPerms, "f", 1) Then
- strPerms = ":F"
- Elseif StrComp(strPerms, "m", 1) Then
- strPerms = ":M"
- Elseif StrCompt(strPerms, "x", 1) Then
- strPerms = ":X"
- Elseif StrCompt(strPerms, "l", 1) Then
- strPerms = ":L"
- Elseif StrCompt(strPerms, "r", 1) Then
- strPerms = ":R"
- Elseif StrCompt(strPerms, "w", 1) Then
- strPerms = ":W"
- Else
- strPerms = ":C"
- End If
- ' Set the String for SubinACL command'
- strSubin = " /subdirectories " & strFolder & " /setowner=" & strOwner
- wsh.Echo strSubin
- WshShell.Run ("subinacl" & strSubin)
- ' Set Stringer for XCacls Command - May want to add another one to make sure Administrtor has
- Full controler after taking ownership'
- strXcacls = " " & strFolder & strRecursive & strMode & chr(34) & strUName & chr(34) &
- strPerms & " /F /S"
- ' strXadmin = " " & strFolder & strRecursice & "/g " & chr(34) & "administrators" &
- chr(34) & " /F /S"
- WshShell.Run ("xcacls.vbs" & strXadmin)
- wsh.Echo strXcacls
- WshShell.Run ("xcacls.vbs" & strXcacls)
Add Comment
Please, Sign In to add comment