Returns resultant set of policy User Rights information for the logged-on user. This script contributed by Mike Stephens of Microsoft.

Visual Basic
Edit|Remove
Const FL_FORCE_CREATE_NAMESPACE = 4

strComputer = "."

Set locator = CreateObject("WbemScripting.SWbemLocator")
Set connection = locator.ConnectServer( strComputer, "root\rsop", null, null, null, null, 0, null)
Set provider = connection.Get("RsopLoggingModeProvider")
provider.RsopCreateSession FL_FORCE_CREATE_NAMESPACE, Null, namespaceLocation, hResult, eInfo

Set rsopProv = locator.ConnectServer _
    (strComputer, namespaceLocation & "\Computer", null, null, Null, Null, 0 , Null)

WScript.Echo "Security User Rights Settings"

Set colItems = rsopProv.ExecQuery("Select * from RSOP_UserPrivilegeRight")

For Each objItem in colItems
    WScript.Echo String(50, "=")
    Wscript.Echo "User Right: " & objItem.UserRight
    Wscript.Echo "Precedence: " & objItem.Precedence
    WScript.Echo "Account Lits:"
    For Each strAccountList in objItem.AccountList
        Wscript.Echo Space(5) & strAccountList
    Next
Next

provider.RsopDeleteSession namespaceLocation, hResult