Remote Actions

Zdalne uruchamanie zadań dla klientów Configuration Manager 2007

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

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

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.

Rysunek 2. Domy?lne okno PolicySpy.

Rysunek 2. Domyślne okno PolicySpy.

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

Rysunek 3. Wybieramy interesujący nas komputer.

Rysunek 3. Wybieramy interesujący nas komputer.

Następnie odczytujemy Meesage GUID.

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

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

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

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

Rysunek 5. Message 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ówniez to samo zrobić na maszynie zdalnej używając komendy sendschedule /L [Nazwa komputera].

Rysunek 6. Dostępne Message GUID.

Rysunek 6. 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} 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.log.

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

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

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 Exlorer. W sekcji Hardware
> Workstation Status
są zapisane informacje o czasie ostatniego skanowania Hardware Inventory.

Rysunek 8. W Hardware Status są zapisane informacje o wykonaniu skanowania Hardware Inventory.

Rysunek 8. W Hardware Status są zapisane informacje o wykonaniu skanowania Hardware Inventory.

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.

2012 © Jacek Doktór. Wszelkie prawa zastrzeżone.