Megosztás a következőn keresztül:


Zárolás feloldása SEDO-Enabled objektumon

Explicit zárolás feloldása SEDO-kompatibilis objektumon

  1. A WMI-osztály egy példányának SMS_ObjectLock létrehozása

  2. Kérje le a metódus metódusparaméter-objektumát ReleaseLock .

  3. Rendelje hozzá a feloldani kívánt objektum objektumútvonalát a ObjectRelPath tulajdonsághoz.

  4. Hozzon létre egy objektumpéldányt InvokeMethodOptions . A Context (Környezet) tulajdonságban adjon hozzá egy név/érték párot. A névnek "MachineName" értékűnek kell lennie, az értéknek pedig a zárolást feloldó számítógép nevének kell lennie. További információ: Zárolás beszerzése SEDO-Enabled objektumon

  5. Hívja meg az InvokeMethod metódust a SMS_ObjectLock példányon.

  6. Az InvokeMethod egy példányt SMS_ObjectLockRequest ad vissza. Ellenőrizze a és LockState a RequestState tulajdonságot, hogy további információt kapjon a kérés sikerességéről vagy sikertelenségéről.

Példa

Az alábbi példa egy objektumpéldány zárolását SMS_ConfigurationItem oldja fel.

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);   

    }  
}  

A SMS_ObjectLockRequest objektum a következő tulajdonságokat tartalmazza:

Tulajdonság Leírás
Kérelemazonosító A kérés egyedi azonosítója.
ObjectRelPath Annak az objektumnak az elérési útja, amelyhez a zárolást kérik.
RequestState A kérés sikerességét vagy sikertelenségét jelzi.
LockState A kért zárolás aktuális állapotát jelzi.
AssignedUser A kért zárolás aktuálisan hozzárendelt felhasználóját jelzi.
AssignedObjectLockContext Azt jelzi, hogy ObjectLockContext, amelyhez a zárolás jelenleg hozzá van rendelve.
AssignedMachine A kért zárolás aktuálisan hozzárendelt számítógépét jelzi.
AssignedSiteCode A kért zárolás aktuális helyét jelzi.
AssignedTimeUTC Azt az időpontot jelzi, amikor a kért zárolást hozzárendelték.

RequestState
Az alábbi táblázat a lehetséges kérelemállapot-értékeket jeleníti meg. A Kérés állapota: Granted, GrantedAfterTimeout és GrantedLockWasOrphaned, amely sikeres kérést jelez, és a felhasználó ezután módosításokat végezhet és menthet az objektumon. Minden más kérés hibát jelez.

RequestStateID RequestStateName
0 Ismeretlen
2 Kért
3 RequestedCanceled
4 ResponseReceived
10 Megadva
11 GrantedAfterTimeout
12 GrantedLockWasOrphaned
20 DeniedLockAlreadyAssigned
21 DeniedInvalidObjectVersion
22 DeniedLockNotFound
23 DeniedLockNotLocal
24 DeniedRequestTimedOut
50 Hiba
52 ErrorRequestNotFound
53 ErrorRequestTimedOut

LockState
Az alábbi táblázat a lehetséges zárolási állapotértékeket jeleníti meg.

LockStateID LockStateName
0 Nincs hozzárendelve
1 Hozzárendelt
2 Kért
3 Függőben lévő hozzárendelés
4 Időtúllépés
5 Nem megoldás

A kód fordítása

A C#-példához a következőre van szükség:

Névterek

Rendszer

System.Management

Összeszerelés

Robusztus programozás

A hibakezeléssel kapcsolatos további információkért lásd: A Configuration Manager hibák ismertetése.

Lásd még

Configuration Manager SEDO