WONDERED if those with more scripting knowledge than me can cast their eye over it and see if there is any REASON why this should nt work....
echo off setlocal for /f "Tokens=1" %%c in ('net view^|Find "\\"') do ( for /f "Tokens=1,2*" %%i in ('psloggedon -L %%c^|find "/"') do ( if /i "%%c" EQ "\\%ComputerName%" PsShutdown -s -c -t 60 -f %%c ) ) endlocal