Udostępnij za pośrednictwem


Jak sprawdzić, czy użytkownik ma uprawnienia do obiektu

W Configuration Manager możesz sprawdzić uprawnienia obiektu przy użyciu metody UserHasPermissions w klasie SMS_RbacSecuredObject.

Aby sprawdzić, czy użytkownik ma uprawnienia do obiektu

  1. Utwórz obiekt słownika, aby przekazać nazwę obiektu i uprawnienia do sprawdzania do metody UserHasPermissions w klasie SMS_RbacSecuredObject.

  2. Wywołaj metodę UserHasPermissions w klasie SMS_RbacSecuredObject, przekazując obiekt słownika.

  3. Metoda zwraca truewartość , jeśli użytkownik ma uprawnienia.

Przykład

Poniższy przykład sprawdza, czy użytkownik ma wskazane uprawnienia:

public static bool UserHasPermissions(ConnectionManagerBase connectionManager, string objectName, int permissions, out int currentPermissions)  
{  
    if (connectionManager == null)  
    {  
        throw new ArgumentNullException("connectionManager");  
    }  
    if (string.IsNullOrEmpty(objectName) == true)  
    {  
        throw new ArgumentException("The parameter 'objectName' cannot be null or an empty string", "objectName");  
    }  
    IResultObject outParams = null;  
    try  
    {  
        Dictionary<string, object> inParams = new Dictionary<string, object>();  
        inParams["ObjectPath"] = objectName;  
        inParams["Permissions"] = permissions;  
        outParams = connectionManager.ExecuteMethod("SMS_RbacSecuredObject", "UserHasPermissions", inParams);  
       if (outParams != null)  
       {  
            currentPermissions = outParams["Permissions"].IntegerValue;  
            return outParams["ReturnValue"].BooleanValue;  
       }  
    }  
    finally  
    {  
        if (outParams != null)  
        {  
            outParams.Dispose();  
        }  
    }  
    currentPermissions = 0;  
    return false;  
}  

Przykładowa metoda ma następujące parametry:

Parametr Wpisać Opis
connectionManager -Zarządzane: connectionManager Prawidłowe połączenie z dostawcą programu SMS.
objectName String Nazwa obiektu.
Uprawnienia Liczba całkowita Uprawnienia.
currentPermissions Liczba całkowita Bieżące uprawnienia.

Kompilowanie kodu

Przykład języka C# wymaga:

Obszary nazw

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

System

Zestawu

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Mscorlib

Niezawodne programowanie

Aby uzyskać więcej informacji na temat obsługi błędów, zobacz Informacje o błędach Configuration Manager.

Zobacz też

SMS_Admin Server WMI Class
SMS_Role Server WMI Class
SMS_SecuredCategory Server WMI Class