Aracılığıyla paylaş


SEDO-Enabled Nesnede Kilit Bırakma

SEDO Etkinleştirilmiş Nesnede Açık Kilit Serbest Bırakmak için

  1. WMI sınıfının bir örneğini SMS_ObjectLock oluşturma

  2. yöntemi için ReleaseLock yöntem parametreleri nesnesini alın.

  3. Kilidini açmak istediğiniz nesnenin nesne yolunu özelliğine atayın ObjectRelPath .

  4. Bir InvokeMethodOptions nesne örneği oluşturun. Context özelliğinde bir ad/değer çifti ekleyin. Adın "MachineName" olması ve değerin kilidi serbest bırakarak bilgisayarın adı olması gerekir. Daha fazla bilgi için bkz. SEDO-Enabled Nesnede Kilit Alma

  5. Örnekte InvokeMethod'ı çağırın SMS_ObjectLock .

  6. InvokeMethod bir SMS_ObjectLockRequest örnek döndürür. İsteğin RequestState başarısı veya başarısızlığı hakkında daha fazla bilgi edinmek için ve LockState özelliklerini denetleyin.

Örnek

Aşağıdaki örnek bir nesne örneğinde kilit SMS_ConfigurationItem bırakır.

class Program  
{  
    static void Main(string[] args)   
    {  
        ManagementScope scope = new ManagementScope(@"\siteservername\root\sms\site_ABC");  
        ReleaseLock(scope);   
    }  

    public static void ReleaseLock(ManagementScope scope)   
    {  
        ManagementPath path = new ManagementPath("SMS_ObjectLock");  
        ManagementClass objectLock = new ManagementClass(scope, path, null);   

        ManagementBaseObject inParams = objectLock.GetMethodParameters("ReleaseLock");  
        inParams["ObjectRelPath"] = "SMS_ConfigurationItem.CI_ID=30";  

        InvokeMethodOptions options = new InvokeMethodOptions();  
        options.Context.Add("MachineName", "RequestingComputer");   

        ManagementBaseObject result = objectLock.InvokeMethod("ReleaseLock", inParams, options);   

    }  
}  

SMS_ObjectLockRequest nesnesi aşağıdaki özellikleri içerir:

Özellik Açıklama
Requestıd İsteğin benzersiz tanımlayıcısı.
ObjectRelPath Kilidin istendiği nesnenin yolu.
RequestState İsteğin başarısını veya başarısızlığını gösterir.
LockState İstenen kilidin geçerli durumunu gösterir.
AssignedUser İstenen kilidin şu anda atanmış olan kullanıcısını gösterir.
AssignedObjectLockContext Kilidin şu anda atandığı ObjectLockContext öğesini gösterir.
AssignedMachine İstenen kilidin şu anda atanmış olan bilgisayarını gösterir.
AssignedSiteCode İstenen kilidin geçerli sitesini gösterir.
AssignedTimeUTC İstenen kilidin atandığı saati gösterir.

RequestState
Aşağıdaki tabloda olası istek durumu değerleri görüntülenir. İstek durumları Granted, GrantedAfterTimeout ve GrantedLockWasOrphaned başarılı bir isteği gösterir ve kullanıcı nesnede değişiklik yapabilir ve kaydedebilir. Diğer tüm istekler hataya işaret eder.

RequestStateID RequestStateName
0 Unknown
2 İstendi
3 RequestedCanceled
4 ResponseReceived
10 Verilen
11 GrantedAfterTimeout
12 GrantedLockWasOrphaned
20 DeniedLockAlreadyAssigned
21 DeniedInvalidObjectVersion
22 DeniedLockNotFound
23 DeniedLockNotLocal
24 DeniedRequestTimedOut
50 Error
52 ErrorRequestNotFound
53 ErrorRequestTimedOut

LockState
Aşağıdaki tabloda olası kilit durumu değerleri görüntülenir.

LockStateID LockStateName
0 Atanma -mış
1 Atanan
2 İstendi
3 PendingAssignment
4 Zaman Aşımı
5 NotFound

Kodu Derleme

C# örneği şunları gerektirir:

Ad alanları

Sistem

System.Management

Derleme

Sağlam Programlama

Hata işleme hakkında daha fazla bilgi için bkz. Configuration Manager Hataları Hakkında.

Ayrıca Bkz

Configuration Manager SEDO