Witajcie!

Mam następujący program, chce się połączyć za pomocą skryptu z innym komputerem w domenie.
Interesuje mnie czy ma włączonego messengera, czy nie. I w skrypcie chcę dostać informację wzrotną w postaci np "Running", "Stopped" .

Aby lokalnie zczytać pozycję status messengera należy użyć kodu:

"psexec.exe" \\nazwa_kompa -u domena\konto -c "
FOR /F "tokens=4 delims= " %%A IN ('SC query messenger ^| FIND "STATE"') DO SET status=%%A"
echo status jest %status%
pause

Żeby zczytać informację o messengerze należy użyć:

"psexec.exe" \\nazwa_kompa -u domena\konto -s SC query messenger
pause

Dostajemy coś takiego :

SERVICE_NAME: messenger
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
SC exited on nazwa_kompa with error code 0.

Cały widz polega na wykroleniu z tego wartości pola status i przypisania do zmiennej powiedzmy %x%.

Zatem jak znaeźć tylko pozycję status ?? ...
Mój kod nie działa :

"psexec.exe" \\nazwa_kompa -u domena\konto -c "
FOR /F "tokens=4 delims= " %%A IN ('SC query messenger ^| FIND "STATE"') DO SET status=%%A"
echo status jest %status%
pause

Zatem co należy w nim zmienić ??