Завершение работы всех пользователей (logoff all users)

Требуется завершить работу всех пользователей на терминальном сервере в автоматическом режиме для проведения архивации. При решении простой на первый взгляд задачи проявилось столько нюансов, что решил оформить ее в виде форума.

Форумы: 

ну у меня получилось, вот

ну у меня получилось, вот содержимое моего bat-файла:

query user >user.txt
for /f "skip=1 tokens=2," %%i in (user.txt) DO logoff %%i

т.е. он завершает или RDP-TCP# или код ID(там где пользователь отключен (disconnect))
единственный момент, в именах пользователей не должно быть пробелов(я их заменил на _) иначе неотработает.

небольшая доработка


$nameproc = "1cv8s.exe","1cv8c.exe","1cv8.exe"
foreach ($name in $nameproc)
{
$1cv8 = Get-WMIObject win32_process | where {$_.ProcessName -eq $name}
if ($1cv8)
{
foreach ($proc in $1cv8)
{
logoff $proc.SessionID
}
}
}