Agent ConfigMgr swoje zadania wykonuje na podstawie wpisów w polisie, która pobiera z Management Point-a.  Są jednak sytuacje kiedy potrzebujemy uruchomić zadania poza ustalonym harmonogramem. Możemy to zrobić na zakładce Configuration Manager -> Actions.

Remote_Actions_001

Rysunek 1. Zakładka Actions służąca do uruchamiania zadań wykonywanych przez agenta ConfigMgr.

Sposób ten wymaga wykonania go lokalnie na stacji. W przypadku niewielkiej liczby komputerów sposób ten jest mało uciążliwy. Co jednak gdy musimy wykonać operację bez fizycznego dostępu do komputera, lub na większej liczbie komputerów ? Potrzebujemy do tego pakietu ConfigMgr 2007 Toolkit V2.

Posłużymy się dwoma programami z tego pakietu:

  • PolicySpy  –  program pozwala odczytać ustawienia polisy agenta ConfigMgr.
  • Send Schedule  –  program pozwala na zdalne wysłanie do agenta ConfigMgr polecenia wykonania zadania.

Zaczynamy od odczytania polisy agenta ConfigMgr. Uruchamiamy PolicySpy.

Remote_Actions_002

Rysunek 2. Domyślne okno PolicySpy.

Wybieramy komputer, do którego chcemy się podłączyć.

Remote_Actions_003

Rysunek 3. Wybieramy interesujący nas komputer.

Następnie odczytujemy Message GUID.

Remote_Actions_004

Rysunek 4. PoliySpy podłączony do zdalnego komputera.

W sekcji Machine > Settings > CCM_Scheduler_ScheduleMessage są zapisane Message GUID, jakimi posłużymy się do uruchomienia poszczególnych zadań.

Remote_Actions_005

Rysunek 5.  Meesage GUID dotyczący zadania Hardvare Inventory.

Teraz musimy poznać, które Message GUID wywołują jakie zadania. Do tego użyjemy programu sendschedule.exe. Wykonując polecenie sendschedule /L otrzymamy informację jakie Message GUID są dostępne na lokalnym agencie ConfigMgr. Możemy również to samo zrobić na maszynie zdalnej używając komendy sendschedule /L [Nazwa komputera].

Remote_Actions_006

Rysunek 5. Dostępne Message GUID.

Poniższa zawiera zestawienie Message Guid wraz z opisem jaką akcję uruchamiają:
{00000000-0000-0000-0000-000000000001} Hardware inventory
{00000000-0000-0000-0000-000000000002} Software inventory
{00000000-0000-0000-0000-000000000003} Data Discovery Report
{00000000-0000-0000-0000-000000000010} File Collection
{00000000-0000-0000-0000-000000000021} Request machine assignments
{00000000-0000-0000-0000-000000000022} Evaluate machine policies
{00000000-0000-0000-0000-000000000023} Refresh default MP
{00000000-0000-0000-0000-000000000024} Refresh location services
{00000000-0000-0000-0000-000000000025} Request timeout value for tasks
{00000000-0000-0000-0000-000000000026} Request user assignments
{00000000-0000-0000-0000-000000000027} Evaluate user policies
{00000000-0000-0000-0000-000000000031} Generate software metering report
{00000000-0000-0000-0000-000000000032} Request software update source
{00000000-0000-0000-0000-000000000061} DP: Peer DP status report
{00000000-0000-0000-0000-000000000062} DP: Peer DP pending status check
{00000000-0000-0000-0000-000000000108} Evaluate software update assignment
{00000000-0000-0000-0000-000000000111} Send unset state messages
{00000000-0000-0000-0000-000000000112} Clean state message cache
{00000000-0000-0000-0000-000000000113} Scan for available updates
{00000000-0000-0000-0000-000000000114} Refresh update status
{00000000-0000-0000-0000-000000000120} Out-Of-Band management scheduled event


Już wiemy, który Message GUID jest skojarzony z jaką akcją. Gdy potrzebujemy uruchomić np. skanowanie Hardware Inventory należy wykonać następującą komendę: sendschedule {00000000-0000-0000-0000-000000000001} [Nazwa komputera]. Wysyłamy komende sendschedule {00000000-0000-0000-0000-000000000001} PX3-403. Pozostaje tylko sprawdzić czy komenda została wykonana. Uruchamiamy Trace32 i podłączamy się zdalnie do komputera PX-403, aby obejrzeć log InventoryAgent.

Remote_Actions_007

Rysunek 6. Informacje o wykonywanych zadaniach Hardware Inventory możemy obejrzeć w logu InevntoryAgent.

Wpis Inventory: Message Type is InevntoryAction świadczy o typie rozpoczętego zadania, natomiast Inventory: Opennig store for action {00000000-0000-0000-0000-000000000001} świadczy o tym, że nasz komunikat został przez agenta odebrany i zostanie przez niego wykonany.

Dla pewności sprawdźmy czy wyniki skanowania zapisały się w bazie. Uruchamiamy Resource Explorer. W sekcji Hardware > Workstation Status są zapisane informacje o czasie ostatniego skanowania Hardware Inventory.

Remote_Actions_008

Rysunek 7. Sprawdzenie zapisu skanowania w bazie danych ConfigMgr.

Wiedząc jak wywołać akcję na jednym prostym zadaniem będzie przygotować rozszerzenie konsoli serwera ConfigMgr, aby móc wykonywać zadania na komputerach z wybranej przez nas kolekcji.

Autor: Jacek Doktór