Udostępnij za pośrednictwem


Jak usunąć skojarzenie obiektu z zakresem zabezpieczeń

Usunięcie zakresu zabezpieczeń z wystąpienia obiektu jest tak proste, jak usunięcie wystąpienia klasy Instrumentacja zarządzania windows (WMISMS_SecuredCategoryMembership ). Jednak wystąpienia obiektów muszą mieć skojarzony co najmniej jeden zakres zabezpieczeń. Nie można usunąć ostatniego wystąpienia obiektu. Każdy obiekt jest tworzony z zakresem Default zabezpieczeń, a jeśli wszystkie inne zakresy zabezpieczeń mają zostać usunięte z wystąpienia obiektu, Default należy dodać go do niego przed usunięciem.

Ważna

Musisz mieć uprawnienia administracyjne do zakresu i obiektu, z których go usuwasz. Jeśli nie masz odpowiednich uprawnień, usunięcie zakresu z tego wystąpienia obiektu zakończy się niepowodzeniem. Usunięcie ostatniego zakresu z obiektu zakończy się niepowodzeniem i zakończy się niepowodzeniem.

Porada

Aby usunąć wiele obiektów do zakresu, użyj metody RemoveMemberships w klasie SMS_SecuredCategoryMembership.

Aby usunąć zakres zabezpieczeń z obiektu

  1. Skonfiguruj połączenie z dostawcą programu SMS.

  2. Określ identyfikator właściwości klucza obiektu.

  3. Określ identyfikator typu obiektu.

  4. Określ identyfikator zakresu.

  5. Znajdź wystąpienie SMS_SecuredCategoryMembership klasy WMI zgodne z klasą .

  6. Usuń wystąpienie.

Przykład

Poniższy przykład kodu usuwa identyfikator zakresu z pakietu:

Sub RemoveObjectScope(connection, scopeId, objectKey, objectTypeId)  

    Dim assignment  

    ' Find the existing scope assignement that matches our parameters.  
    Set assignment = connection.Get("SMS_SecuredCategoryMembership.CategoryID='" & scopeId & "',ObjectKey='" & objectKey & "',ObjectTypeId=" & objectTypeId)  

    If (assignment Is Nothing) Then  
        Err.Raise 1, "RemoveObjectScope", "Unable to find matching scope, object, and object type."  
    Else  
        assignment.Delete_  
    End If  
End Sub  
public void RemoveObjectScope(WqlConnectionManager connection, string scopeId, string objectKey, int objectTypeId)  
{  
    // Find the existing scope assignement that matches our parameters.  
     IResultObject assignment = connection.GetInstance("SMS_SecuredCategoryMembership.CategoryID='" + scopeId + "',ObjectKey='" + objectKey + "',ObjectTypeID=" + objectTypeId.ToString());  

   // Make sure we found the scope.  
    if (assignment == null)  
        throw new System.Exception("Unable to find matching scope, object, and object type.");  
    else  
        assignment.Delete();  
}  

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

Parametr Wpisać Opis
connection -Zarządzane: WqlConnectionManager
- VBScript: SWbemServices
Prawidłowe połączenie z dostawcą programu SMS.
scopeId String Identyfikator zakresu zabezpieczeń.
objectKey String Wartość właściwości klucza obiektu.
objectTypeId Integer Identyfikator typu obiektu, do którego odwołuje się parametr objectKey .

Kompilowanie kodu

Przykład języka C# wymaga:

Obszary nazw

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Zestawu

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Zobacz też

SMS_SecuredCategoryMembership Server WMI Class
Jak utworzyć nowy zakres zabezpieczeń
Jak usunąć zakres zabezpieczeń
Jak skojarzyć obiekt z zakresem zabezpieczeń
SMS_SecuredCategory Server WMI Class