Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Windows

Как отлогинить всех пользователей на терминальном сервере : Windows

19.04.2024 8:41


19.08.2016 15:43
baggio
 
остановить службу удаленных рабочих столов?

net stop "...."
19.08.2016 15:46
BotMan
 
скорее всего не закроет запущенные приложения..
19.08.2016 15:48
OlegON
 
чревато... вдруг обратно не запустится... или ты сам окажешься в терминалке :)
19.08.2016 15:53
OlegON
 
Цитата:
sc stop TermService
[SC] ControlService: ошибка: 1051:

Команда остановки была отправлена службе, от которой зависят другие службы.
там еще перенаправитель портов... Может, через sc control можно что-то сказать, чтобы все сбросил?
19.08.2016 16:11
OlegON
 
дойдут руки - попробую
Цитата:
echo y | rwinsta rdp-tcp
по идее должно выбрасывать...
20.03.2023 19:37
OlegON
 
Пример на PowerShell
Код:
do {
Write-Host "-----------------------------"
Write-Host "Выберите пункт меню:"
Write-Host "1. Завершение сессий пользователей на server01" -ForegroundColor Yellow
Write-Host "2. Завершение сессий пользователей на server02" -ForegroundColor Yellow
Write-Host "3. Завершение сессий пользователей на server03" -ForegroundColor Yellow
Write-Host "4. Завершение сессий пользователей на server04" -ForegroundColor Yellow
Write-Host "5. Завершение сессий пользователей на server-term" -ForegroundColor Yellow
Write-Host "6. Завершение сессий пользователей на server-term-01" -ForegroundColor Yellow
Write-Host "7. Завершение сессий пользователей на всех RDS" -ForegroundColor Yellow
Write-Host "8. Exit" -ForegroundColor Yellow
Write-Host
$choice = Read-Host "Введите номер"
Switch($choice){
                    1{
                    $srv = "server01"
                    $sessions = Get-TSSession -ComputerName $srv
                    $users = $sessions.username
                    Write-Host "Завершенные сессии на $srv :" -ForegroundColor Yellow  
                    foreach($user in $users){
                    if($user -ne ""){
                    Get-TSSession -ComputerName $srv -UserName $user | Stop-TSSession -Force 
                    $user
                    }
                    }
                    Write-Host "Выполнено" -ForegroundColor Yellow  
                    }
                    2{
                    $srv = "server02"
                    $sessions = Get-TSSession -ComputerName $srv
                    $users = $sessions.username
                    Write-Host "Завершенные сессии на $srv :" -ForegroundColor Yellow  
                    foreach($user in $users){
                    if($user -ne ""){
                    Get-TSSession -ComputerName $srv -UserName $user | Stop-TSSession -Force 
                    $user
                    }
                    }
                    Write-Host "Выполнено" -ForegroundColor Yellow  
                    }
                    3{
                    $srv = "server03"
                    $sessions = Get-TSSession -ComputerName $srv
                    $users = $sessions.username
                    Write-Host "Завершенные сессии на $srv :" -ForegroundColor Yellow  
                    foreach($user in $users){
                    if($user -ne ""){
                    Get-TSSession -ComputerName $srv -UserName $user | Stop-TSSession -Force 
                    $user
                    }
                    }
                    Write-Host "Выполнено" -ForegroundColor Yellow  
                    }
                    4{
                    $srv = "server04"
                    $sessions = Get-TSSession -ComputerName $srv
                    $users = $sessions.username
                    Write-Host "Завершенные сессии на $srv :" -ForegroundColor Yellow  
                    foreach($user in $users){
                    if($user -ne ""){
                    Get-TSSession -ComputerName $srv -UserName $user | Stop-TSSession -Force 
                    $user
                    }
                    }
                    Write-Host "Выполнено" -ForegroundColor Yellow  
                    }
                    5{
                    $srv = "server-term"
                    $sessions = Get-TSSession -ComputerName $srv
                    $users = $sessions.username
                    Write-Host "Завершенные сессии на $srv :" -ForegroundColor Yellow  
                    foreach($user in $users){
                    if($user -ne ""){
                    Get-TSSession -ComputerName $srv -UserName $user | Stop-TSSession -Force 
                    $user
                    }
                    }
                    Write-Host "Выполнено" -ForegroundColor Yellow  
                    }
                    6{
                    $srv = "server-term-01"
                    $sessions = Get-TSSession -ComputerName $srv
                    $users = $sessions.username
                    Write-Host "Завершенные сессии на $srv :" -ForegroundColor Yellow  
                    foreach($user in $users){
                    if($user -ne ""){
                    Get-TSSession -ComputerName $srv -UserName $user | Stop-TSSession -Force 
                    $user
                    }
                    }
                    Write-Host "Выполнено" -ForegroundColor Yellow  
                    }
                    7{
                    $srvrs = "server01","server02","server03","server04","server-term","server-term-01"
                    foreach ($srv in $srvrs){
                            $sessions = Get-TSSession -ComputerName $srv
                            $users = $sessions.username
                            foreach($user in $users){
                            if($user -ne ""){
                            Get-TSSession -ComputerName $srv -UserName $user | Stop-TSSession -Force
                                             }
                                                     }
                    }
                    }
                    8{
                            Write-Host "Выход"; exit
                    }

                            default {Write-Host "Такого пункта нет" -ForegroundColor Red}
                    }


            } until ($choice -eq '8')
то есть, строка должна быть такой
Код:
PowerShell -Command "& {$srvrs = 'server01','server02','server03','server04','server-term','server-term-01'; foreach ($srv in $srvrs){$sessions = Get-TSSession -ComputerName $srv; $users = $sessions.username; foreach($user in $users){if($user -ne ''){Get-TSSession -ComputerName $srv -UserName $user | Stop-TSSession -Force}}}}"
21.03.2023 00:07
OlegON
 
Код:
setlocal enabledelayedexpansion
for %%a in (SRVIT01 SRVIT02 SRVIT03 SRVIT04 SRVIT-term SRVIT-term-01) do (
  for /f "skip=1 tokens=2," %%i in ('query session /server:%%a') do (
	logoff %%i /server:%%a
	)
)
endlocal
Часовой пояс GMT +3, время: 08:41.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.