joshuarrtx
(JoshuaRRTX)
1
Description
If you have an application that runs in Remote App form, occasionally this application will crash. When it crashes the underlying terminal server session stays open. Then the application will not work till you go in there and log off a user. Or reset their Terminal server session.
This script can be used to reset a user, regardless of which server they are on in your farm. But the best part is, the user runs this script. You can create a shortcut to it on their desktop. So Self repair, self medicate.
For each server we create a txt file, then look for the user within text. If it is there, the reset session command is sent
*This assumes your remoteapp server is on the same domain as your station
*Windows 7 Client, 2008r2 Server
Source Code
@echo off
c:
cd\
cd %userprofile%
@query session %USERNAME% /server:server22 > 1.txt
@query session %USERNAME% /server:server23 > 2.txt
@query session %USERNAME% /server:server24 > 3.txt
@query session %USERNAME% /server:server26 > 4.txt
@query session %USERNAME% /server:server27 > 5.txt
@query session %USERNAME% /server:server28 > 6.txt
@query session %USERNAME% /server:server29 > 7.txt
for /f "skip=1 tokens=1-4" %%a in (1.txt) do (
echo --== Reseting Session on Server22 ==--
reset session %%a /server:server22
)
for /f "skip=1 tokens=1-4" %%b in (2.txt) do (
echo --== Reseting Session on Server23 ==--
reset session %%b /server:server23
)
for /f "skip=1 tokens=1-4" %%c in (3.txt) do (
echo --== Reseting Session on Server24 ==--
reset session %%c /server:server24
)
for /f "skip=1 tokens=1-4" %%d in (4.txt) do (
echo --== Reseting Session on Server26 ==--
reset session %%d /server:server26
)
for /f "skip=1 tokens=1-4" %%e in (5.txt) do (
echo --== Reseting Session on Server27 ==--
reset session %%e /server:server27
)
for /f "skip=1 tokens=1-4" %%e in (6.txt) do (
echo --== Reseting Session on Server28 ==--
reset session %%e /server:server28
)
for /f "skip=1 tokens=1-4" %%e in (7.txt) do (
echo --== Reseting Session on Server28 ==--
reset session %%e /server:server29
)
del 1.txt /q
del 2.txt /q
del 3.txt /q
del 4.txt /q
del 5.txt /q
del 6.txt /q
del 7.txt /q
1 Spice up
timlucas
(Tim with IT)
2
Thank you for this! I’m about to make some people very happy with this. Anyone know how to force it to query more than 1 at a time? We have 14 servers that this will be hitting and some are at different locations. One at a time takes awhile. If I could force the computer to search a couple at a time I think it would speed things up without being overly taxing.