Wykonywanie operacji uprzywilejowanych przy użyciu języka VBScript
Jeśli używasz interfejsu API obsługi skryptów dla usługi WMI, możesz ustawić określone uprawnienia zabezpieczeń. Można na przykład ustawić uprawnienia zabezpieczeń, aby zażądać zamknięcia systemu operacyjnego lub sprawdzić dziennik zdarzeń zabezpieczeń. Aby uzyskać więcej informacji, zobacz Running with Special Privileges (Uruchamianie z uprawnieniami specjalnymi).
Wystarczy ustawić uprawnienia tylko wtedy, gdy uzyskujesz dostęp do usługi WMI na komputerze. Gdy uzyskujesz dostęp do hosta zdalnego, RPC COM automatycznie ustawia uprawnienia. Aby określić wszystkie wymagane uprawnienia, zapoznaj się z dokumentacją dla określonych klas usługi WMI, do których chcesz uzyskać dostęp, takich jak Win32_OperatingSystem. Aby uzyskać więcej informacji, zobacz WbemPrivilegeEnum
W tym temacie omówiono następujące sekcje:
- ustawianie uprawnień z obiektu Security_
- Ustawienie uprawnienia jako część Monikera
- cofanie i resetowanie uprawnień
- Tematy pokrewne
Ustawianie uprawnień z obiektu Security_
Użyj poniższej procedury, aby ustawić uprawnienia zabezpieczeń w Visual Basic.
Aby ustawić uprawnienia w programie Visual Basic
Utwórz obiekt typu SWbemLocator.
Dodaj nowe uprawnienie do obiektu SWbemLocator.Security_.
Obiekt Security_ zawiera kolekcję SWbemObjectSet. Obiekty w zestawie to obiekty SWbemSecurity. Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu do kolekcji.
Zaloguj się do usługi WMI i pobierz obiekt SWbemServices.
Obiekt SWbemServices dziedziczy uprawnienia ustawione w poprzednim kroku.
Można również ustawić uprawnienie przy użyciu metody SWbemPrivilegeSet.AddAsString.
Ustawianie uprawnień w ramach moniker
Możesz ustawić uprawnienie jako część pseudonimu.
W poniższym przykładzie pokazano, jak dodać uprawnienie debugowania do monikera.
Set Service = GetObject("winmgmts:{impersonationLevel=impersonate, (Debug)}")
Odwołowanie i resetowanie uprawnień
W poniższym przykładzie pokazano, jak ustawić uprawnienia SeDebugPrivilege i odwołać uprawnienia SeRemoteShutdownPrivilege.
Set Service = GetObject("winmgmts:{impersonate,(Debug,!RemoteShutdown)}")
Tematy pokrewne