Выходите другого пользователя в windows

Хотите узнать, кто вошел в систему на удаленном компьютере?

Иногда мы не рядом с этим, и другие могут использовать эти системы. Как работодателю, управляющему компанией, или руководителю компьютерной лаборатории, вам необходимо удаленно знать, кто вошел в систему.

Ниже я расскажу обо всех методах, так что читайте дальше!

Does anyone have any idea what I am misssing?

This is the original code.

function Get-RemoteSessions { [CmdletBinding()] param( [string[]]$ComputerName = 'localhost' ) foreach ($Computer in $ComputerName) { Write-Verbose "Getting session information for $Computer" # create an object to fill in later $obj = "" | Select-Object UserName, @{Name = 'ComputerName'; Expression = {$Computer}}, SessionName, ID, State, IdleTime, LogonTime, Error try { quser /server:$Computer 2>&1 | Select-Object -Skip 1 | ForEach-Object { $items = $_.Trim() -split '\s{2,}' $obj.UserName = $items[0].TrimStart(">") # If session is disconnected different fields will be selected if ($items[2] -like 'Disc*') { $obj.SessionName = $null $obj.Id = $items[1] $obj.State = $items[2] # IdleTime displays the number of minutes that have elapsed since the last keyboard or # mouse input from a session. Its format is number-of-days + hours:minutes $obj.IdleTime = $items[3] $obj.LogonTime = $items[4..($items.GetUpperBound(0))] -join ' ' } else { $obj.SessionName = $items[1] $obj.Id = $items[2] $obj.State = $items[3] $obj.IdleTime = $items[4] $obj.LogonTime = $items[5] } # reformat the IdleTime property $obj.IdleTime = '{0} days, {1} hours, {2} minutes' -f ([int[]]([regex]'^(?:(\d+)\+)?(\d+):(\d+)').Match($obj.IdleTime).Groups[1..3].Value | ForEach-Object { $_ }) # output the object $obj } } catch { $obj.Error = $_.Exception.Message $obj } }
}
## Clear Host Console
Clear-Host
$ExcludedServers = 'EXCLUDESRV01', 'EXCLUDESRV02', 'EXCLUDESRV03'
## Read the list of Servers excluding the ones in $ExcludedServers
$Servers = Get-Content -Path 'C:\Users\Desktop\Active or Disc users\Servers\Servers.txt' | Where-Object { $ExcludedServers -notcontains $_ }
# get all remote sessions on all servers
$allSessions = Get-RemoteSessions -ComputerName $Servers -Verbose
# filter the open sessions from the $allRemoteUsers
$openSessions = $allSessions| Where-Object {$_.Username -ne 'Administrator' -and $_.State -notlike 'Disc*'}
# and do the same for the disconnected sessions
$disconnected = $allSessions | Where-Object {$_.Username -ne 'Administrator' -and $_.State -like 'Disc*' }
## Define Path for the Out File and make sure the path for the output file exists
$reportPath = 'C:\Users\Desktop\Active or Disc users\Out'
$null = New-Item -Path $reportPath -ItemType Directory -Force
if (@($openSessions).Count) { # write a file for the open sessions $outFile = Join-Path -Path $reportPath -ChildPath ('RDP_Connected_Users_{0:yyyyMMdd}.csv' -f (Get-Date)) $openSessions | Export-Csv -Path $outFile -NoTypeInformation
}
else { Write-Host "No open user sessions found"
}
if (@($disconnected).Count) { # and another for the disconnected sessions $outFile = Join-Path -Path $reportPath -ChildPath ('RDP_DisConnected_Users_{0:yyyyMMdd}.csv' -f (Get-Date)) $disconnected | Export-Csv -Path $outFile -NoTypeInformation
}
else { Write-Host "No disconnected sessions found"
}

Как узнать, кто вошел в систему на удаленном компьютере?

Вот как отслеживать удаленные входы в систему:

:/>  Где в самсунговских шрифтах и ​​90+ удобных шрифтов для андроида с поддержкой кириллицы

Решение 01. Используйте командную строку или PowerShell.

Самый распространенный способ увидеть пользователя удаленного компьютера — использовать Командная строка or PowerShell.

Для командной строки

  1. Нажмите Windows + R клавиши, чтобы открыть окно «Выполнить».
  2. Тип CMD и нажмите Enter .
  3. Команда
    Командная строка инструмент откроется на экране.
  4. Вставьте любую из следующих команд и нажмите Enter. Вам необходимо ввести имя вашего удаленного компьютера вместо имя удаленного компьютера.quser /server:RemoteComputerNamequery user /server:RemoteComputerName
  5. Теперь вы сможете увидеть имя пользователя удаленного компьютера.

Для PowerShell

  1. Нажмите Windows + R , чтобы открыть Run пунктом.
  2. Тип PowerShell в поле и нажмите кнопку Enter .
  3. Вставьте любую из следующих команд и нажмите Enter. Вы должны ввести имя вашего удаленного компьютера вместо имя удаленного компьютера.quser /server:RemoteComputerNamequery user /server:RemoteComputerName
  4. Терминал PowerShell отобразит имя пользователя, использующего соответствующий удаленный компьютер.

Решение 02. Используйте диспетчер задач

Еще один способ идентифицировать пользователя удаленного компьютера — использовать Диспетчер задач утилита.

  1. Во-первых, вам нужно открыть приложение Диспетчер задач путем нажатия Ctrl + другой + Удалить or Ctrl + Shift + Esc.
  2. Вы также можете открыть его, нажав на значок Диспетчер задач в меню панели задач или меню «Пуск».
  3. Выберите Пользователи вкладка. В некоторых случаях вкладка может быть представлена ​​значком двух человек. Windows версий.
  4. Там вы сможете увидеть всех пользователей ваших локальных и удаленных компьютеров.

Решение 03. Используйте средство просмотра событий

Просмотр событий это инструмент Microsoft, входящий в состав ОС Windows. Отображает журнал сообщений системы и приложений. Вы также можете использовать его для проверки пользователей удаленного компьютера, выполнив следующие действия:

  1. Тип Просмотр событий в Поиск поле компьютера Windows.
  2. Нажмите на лучший результат соответствия, чтобы открыть этот инструмент.
  3. Теперь нажмите Действие И выберите Подключитесь к другому компьютеру…
  4. После подключения дважды щелкните значок Журналы Windows на левой панели, чтобы развернуть ее.
  5. Выберите Безопасность чтобы открыть список событий входа в систему.
  6. Выберите любое событие входа в систему (Успех аудита Event ID 4798в соответствии с Дата и время чтобы увидеть, кто вошел в систему в это время.
:/>  Проблемы с подключением базы данных | nanoCAD

Этот метод позволяет проверить, кто пользовался системой в конкретный момент времени.

Решение 04. Используйте удаленное взаимодействие PowerShell

PowerShell Remoting — это метод, позволяющий запускать команды Windows PowerShell на удаленных компьютерах. Если она включена на вашем удаленном компьютере, вы можете легко выполнить следующие шаги, чтобы узнать, кто вошел в систему.

  1. Открыть PowerShell на локальном компьютере, набрав PowerShell в поле поиска.
  2. Вам необходимо установить удаленный сеанс с вашей удаленной системой, используя следующую команду. Заменять имя удаленного компьютера с именем удаленного компьютера.Enter-PSSession -ComputerName RemoteComputerName
  3. После входа в удаленный сеанс используйте следующую Команда PowerShell чтобы узнать о вошедших в систему пользователях.Get-WmiObject -Class Win32_ComputerSystem | Select-Object -ExpandProperty UserName
  4. Кроме того, вы можете использовать quser or query user команды для поиска пользователей удаленной системы.

Решение 05. Используйте диспетчер служб удаленных рабочих столов.

Службы удаленных рабочих столов обеспечивают безопасный удаленный доступ к компьютеру. Вы также можете использовать его, чтобы узнать о пользователях удаленного компьютера, выполнив следующие действия:

  1. Откройте Менеджер удаленных рабочих столов.
  2. Перейдите в Службы удаленных рабочих столов.
  3. Теперь нажмите Коллекции , а затем Сессия Хозяин.
  4. Выберите подходящую коллекцию.
  5. Перейдите в Сеансы пользователей вкладка. Это отобразит активные пользовательские сеансы.

Решение 06. Используйте Sysinternals Suite

Sysinternals Suite — это набор утилит или инструментов для устранения неполадок. Если этот пакет установлен на вашем компьютере, вы можете использовать PsLoggedOn команду в PowerShell или командной строке. Вот как:

  1. Нажмите Windows + R клавиши на вашем компьютере с Windows, чтобы открыть Run пунктом.
  2. Введите cmd, чтобы открыть командную строку, или PowerShell, чтобы открыть PowerShell.
  3. Хит Enter .
  4. Когда появится экран, вставьте следующую команду. На месте имя удаленного компьютера, вам нужно ввести исходное имя удаленной системы.PsLoggedOn \\RemoteComputerName
  5. Теперь появятся имена вошедших в систему пользователей удаленной системы.
:/>  Активируйте Windows Server 2019 с помощью KMS или командной строки

Заключение

Знание об удаленных пользователях — важный способ обеспечить безопасность вашей системы, когда вы находитесь вдали от нее. С этого момента, когда бы вы ни захотели узнать, кто вошел в систему на принадлежащем вам удаленном компьютере, просто реализуйте любой из упомянутых выше подходов.

Также не забудьте поделиться в комментариях ниже, какой из этих методов оказался наиболее полезным.


Тамал Дас

Опытный блоггер и обозреватель программного обеспечения с публикациями MakeUseOf, AddictiveTips и AppleToolBox. Он все тестирует, прежде чем написать об этом.