Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby zwolnić jawną blokadę obiektu z włączoną funkcją SEDO
Tworzenie wystąpienia
SMS_ObjectLockklasy WMIPobierz obiekt parametrów metody dla
ReleaseLockmetody .Przypisz ścieżkę obiektu, który chcesz odblokować do
ObjectRelPathwłaściwości .Utwórz wystąpienie obiektu
InvokeMethodOptions. We właściwości Kontekst dodaj parę nazwa/wartość. Nazwa musi być "MachineName", a wartość musi być nazwą komputera zwalniającego blokadę. Aby uzyskać więcej informacji, zobacz How to Acquire a Lock on a SEDO-Enabled Object (Jak uzyskać blokadę obiektu SEDO-Enabled)Wywołaj metodę InvokeMethod w wystąpieniu
SMS_ObjectLock.InvokeMethod zwróci wystąpienie
SMS_ObjectLockRequest. Sprawdź właściwości iLockState,RequestStateaby uzyskać więcej informacji na temat powodzenia lub niepowodzenia żądania.
Przykład
Poniższy przykład zwalnia blokadę wystąpienia obiektu SMS_ConfigurationItem .
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);
}
}
Obiekt SMS_ObjectLockRequest zawiera następujące właściwości:
| Własność | Opis |
|---|---|
| Identyfikator żądania | Unikatowy identyfikator żądania. |
| ObjectRelPath | Ścieżka obiektu, dla którego jest żądana blokada. |
| RequestState | Wskazuje powodzenie lub niepowodzenie żądania. |
| LockState | Wskazuje bieżący stan żądanej blokady. |
| AssignedUser | Wskazuje aktualnie przypisanego użytkownika żądanej blokady. |
| AssignedObjectLockContext | Wskazuje objectlockcontext blokady jest obecnie przypisany do. |
| AssignedMachine | Wskazuje aktualnie przypisany komputer żądanej blokady. |
| AssignedSiteCode | Wskazuje bieżącą witrynę żądanej blokady. |
| AssignedTimeUTC | Wskazuje czas przypisania żądanej blokady. |
RequestState Poniższa tabela zawiera możliwe wartości stanu żądania. Stany żądania Granted, GrantedAfterTimeout i GrantedLockWasOrphaned wskazują pomyślne żądanie, a użytkownik może następnie wprowadzić i zapisać modyfikacje obiektu. Wszystkie inne żądania wskazują błąd.
| RequestStateID | RequestStateName |
|---|---|
| 0 | Unknown |
| 2 | Zlecone |
| 3 | RequestedCanceled |
| 4 | OdpowiedźReceived |
| 10 | Przyznane |
| 11 | GrantedAfterTimeout |
| 12 | GrantedLockWasOrphaned |
| 20 | DeniedLockAlreadyAssigned |
| 21 | DeniedInvalidObjectVersion |
| 22 | DeniedLockNotFound |
| 23 | DeniedLockNotLocal |
| 24 | DeniedRequestTimedOut |
| 50 | Error |
| 52 | ErrorRequestNotFound |
| 53 | ErrorRequestTimedOut |
LockState Poniższa tabela zawiera możliwe wartości stanu blokady.
| LockStateID | LockStateName |
|---|---|
| 0 | Nieprzypisane |
| 1 | Przypisane |
| 2 | Zlecone |
| 3 | PendingAssignment |
| 4 | Limit czasu |
| 5 | NotFound |
Kompilowanie kodu
Przykład języka C# wymaga:
Przestrzenie nazw
System
System.Management
Montaż
Niezawodne programowanie
Aby uzyskać więcej informacji na temat obsługi błędów, zobacz Informacje o błędach Configuration Manager.