Привет, друзья! Неважно, администрируете ли вы единственный ПК у себя дома или работаете в сфере обслуживания компьютеров под управлением Windows — имя пользователя может понадобиться вам для настройки учётных записей, устранения проблем с доступом клиентских машин или выполнения команд в командной строке.
В этой статье мы рассмотрим несколько способов, как быстро и легко узнать computer username в Windows 11.
Самый простой и быстрый способ – это использование командной строки: Нажмите Win + R, введите cmd и нажмите Enter.
В появившемся окне командной строки введите команду:
whoami
Нажмите Enter.
Система отобразит имя пользователя в формате Имя_компьютера\Имя_пользователя.
Этот метод также работает через командную строку.
Откройте командную строку (Win + R, затем введите cmd и нажмите Enter).
Введите команду:
echo %USERNAME%
Нажмите Enter, и система выведет только имя пользователя.
Откройте «Диспетчер задач» комбинацией клавиш Ctrl + Shift + Esc.
Перейдите во вкладку Пользователи. В списке отобразятся все активные пользователи, включая текущего.
Откройте Параметры (Win + I). Перейдите в раздел Учетные записи.
В разделе Ваши данные будет указано имя учетной записи.
Netplwiz.exe — это интерфейс управления учётными записями пользователей, с его помощью можно просматривать и изменять имена пользователей.
В командной строке или в строке поиска введите Netplwiz.
Откройте PowerShell (Win + R, затем введите powershell и нажмите Enter).
Введите команду:
$env:UserName
Нажмите Enter, и система выведет имя пользователя.
Узнать имя пользователя в Windows 11 оказывается очень просто. Самый быстрый – через команду whoami в командной строке. Однако, если вам удобнее использовать графический интерфейс, вы можете проверить имя через «Параметры» или «Диспетчер задач». Выбирайте тот метод, который удобнее вам!
on October 28, 2010
In Windows OS, we can find the current logged in username from windows command line. The logged in user information is stored in environment variables. So just by printing the value in these environment variables we can get to know the login name.
To know the login name of the currently logged in user we can run the below command.
echo %username%
This works on all releases of Windows OS(Windows XP, Server 2003, Windows Vista and Windows 7).
There is another command whoami which tells us the domain name also.
whoami
Example:
c:\>whoami cmdline\administrator
Both of these options to find user name can be useful in batch files to write code in such a way that it works for every user. For example, if your batch file need to access a user specific folder, say Application data, then you can refer the directory as ‘C:\users\%username%\appdata‘.
One of the easiest ways to find your username is your login screen. Once you start your computer, you’ll see your username appear right at the beginning on top of the password box.
But, if you don’t want to restart your system just to find your username, then read along.
We’ve listed 7 other easy ways to find your username, regardless of the version you are using!
Use the Echo Command
In computing, the echo
command is used to display its arguments on the standard output. We can use this feature to display our username.
- Press Win + R to open the Run dialog box.
- Type
cmd
in the box next to open, and press Enter. - Type
echo %USERNAME%
and press Enter. - Your username will appear in the next line
Use the whoami Command
There is also another way to find your username from the command prompt. You simply need to type out another set of instructions.
- Press Win + R to open the run dialog box.
- Type
cmd
in the box next to open, and press Enter. - Type
whoami
and press Enter. - Your username will appear in the next line
Find Your Username from the Task Manager
In the Task manager, there is a tab called users from where you can find your username.
- Press Ctrl + Shift + Esc to open Task manager.
- If it appears in compact view, click on the arrow next to More details.
- Go to the Users tab.
- If you are a single user, only your username will be shown.
- If there are multiple accounts, your username will be at the top.
Run the Netplwiz Command
The Netplwiz.exe
is a part of the Microsoft Windows Operating System. It is like an advanced version of the user accounts control panel. You can use this to view and also change your username.
- In the search bar, type Netplwiz.
- From the dialog box that opens, click on Properties.
- Your windows username will be displayed and highlighted.
Open the Control Panel
You can also find your username from the Control Panel.
- Press Windows + R to open the Run dialog box.
- Type Control and press Enter.
- Go to User Accounts.
- Press on User Accounts again. Your username will appear right next to your display picture.
Go to the Account Information Center
The account information center is where you can find all the details about your user account, from your display picture, password, and obviously, your username.
- Press Ctrl + I to open Settings.
- Go to Accounts.
- Click on Your Info.
- Your username will be displayed in bold below the profile picture.
View Your Username from the Start Window
You can actually see your username by clicking on the start icon of your screen. However, if your PC is updated to the latest version, you might have to add a couple more steps.
- Click on the start button from your desktop.
- Hover on the profile picture at the left panel.
- Your username will appear there.
And there you have it! We hope you were able to find what your username on Windows is.
Довольно часто администратору нужно быстро узнать имя пользователя, который выполнил вход на удаленном компьютере Windows. В это статье мы рассмотрим несколько утилит и PowerShell скриптов, которые помогут вам узнать имена пользователей, залогиненых на удаленных компьютерах в сети.
Содержание:
- Утилиты PSLoggedOn и Qwinsta
- Получаем имя пользователя на удаленном компьютере через PowerShell
- PowerShell скрипт для проверки пользователей на удаленных компьютерах
Утилиты PSLoggedOn и Qwinsta
В комплекте утилит SysInternals PSTools от Microsoft есть консольная утилита PSLoggedOn.exe, которую можно использовать для получения имени пользователя, который вошел на удаленный компьютер, а также список подключенных к нему SMB сеансов.
Скачайте утилиту и запустите ее в формате:
psloggedon \\RemoteCompName
Как вы видите, утилита вернула имя залогиненного пользователя (Users logged on locally), а также список пользователей, которые по сети используют ресурсы с этого компьютера (Users logged on via resource shares).
Если нужно получить только имя пользователя, вошедшего локально, используйте опцию –l:
Psloggedon.exe \\wks215s1 –l
Утилита Psloggedon подключается к реестру и проверяет в нем имя пользователя, вошедшего локально. Для этого должна быть включена служба RemoteRegistry. Вы можете запустить ее и настроить автозапуск службы с помощью PowerShell:
Set-Service RemoteRegistry –startuptype automatic –passthru
Start-Service RemoteRegistry
Также можно получить список сессий на удаленном компьютере с помощью встроенной утилиты
qwinsta
. Эта утилита должна быть знакома любому администратору, управляющему терминальными серверами с Remote Desktop Services. Чтобы получить список сессий с удаленного компьютера, выполнит команду:
qwinsta /server:dc01
Утилита возвращает список всех сессий (активных и отключенных по таймауту) на RDS сервере или десктопной редакции Windows 10 (даже если вы разрешили к ней множественные RDP подключения).
Если при подключении к удаленному серверу через qwinsta вы получаете ошибку Error 5 Access Denied, проверьте что на удаленном компьютере разрешено удаленное управление пользователями через RPC. Включите, если нужно через реестр следующей командой или через GPO:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v "AllowRemoteRPC" /t "REG_DWORD" /d "1" /f
Получаем имя пользователя на удаленном компьютере через PowerShell
Вы можете получить имя пользователя, который залогинен на компьютере через WMI класс Win32_ComputerSystem. Откройте консоль PowerShell и выполните команду:
Get-WmiObject -class Win32_ComputerSystem | Format-List Username
Команда вернула имя пользователя, который выполнил вход на компьютер.
У командлета Get-WmiObject есть параметр –ComputerName, который можно использовать для получения доступа к WMI объектам на удаленном компьютере. Следующая команда вернет имя пользователя с удаленного компьютера:
(Get-WmiObject -class Win32_ComputerSystem –ComputerName wks215s1).Username
Данная команда показывает только пользователя, вошедшего на консоль (не через RDP).
Также для получения информации с удаленных компьютеров можно использовать PSRemoting с помощью командлета Invoke-Command.
Если нужно получить только имя пользователя на компьютере (без домена), воспользуетесь следующими командами:
$userinfo = Get-WmiObject -ComputerName 'wks215s1' -Class Win32_ComputerSystem
$user = $userinfo.UserName -split '\\'
$user[1]
В современных версиях PowerShell Core (pwsh.exe) вместо Get-WmiObject нужно использовать CIM командлет Get-CimInstance:
Get-CimInstance –ComputerName wks215s1 –ClassName Win32_ComputerSystem | Select-Object UserName
Или
(Get-CimInstance -ComputerName wks215s1 -ClassName Win32_ComputerSystem).CimInstanceProperties | where{$_.Name -like "UserName"}| select value
GetCiminstance использует WinRM для подключения к удаленным компьютерам, поэтому на них нужно включить и настроить WinRM через GPO или командой:
WinRM quickconfig
PowerShell скрипт для проверки пользователей на удаленных компьютерах
Если вам нужно собрать информацию о пользователях сразу с нескольких компьютерах, можете использовать следующую PowerShell функцию получить имена пользователей.
function Get-LoggedUser { [CmdletBinding()] param ( [string[]]$ComputerName ) foreach ($comp in $ComputerName) { $output = @{'Computer' = $comp } $output.UserName = (Get-WmiObject -Class win32_computersystem -ComputerName $comp).UserName [PSCustomObject]$output } }
На вход функции Get-LoggedUser нужно передать имена компьютеров, на которых нужно проверить имена пользователей:
Get-LoggedUser wks215s1,wks215s2,dc01
Если для какого-то компьютера функция вернула пустое имя пользователя, значит на компьютер никто не залогинен.
Можно получить имена пользователей, которые работают на компьютерах в домене Active Directory. Для получения списка компьютеров нужно использовать командлет Get-ADComputer. В следующем примере мы получим имена пользователей, которые работают за активными компьютерами в определенном OU домена. Чтобы скрипт работал быстрее перед тем, как обратится к обратится к удаленному компьютеру, я добавил проверку его доступности по сети через ICMP пинг с помощью командлета Test-NetConnection:
function Get-LoggedUser { [CmdletBinding()] param ( [string[]]$ComputerName ) foreach ($comp in $ComputerName) { if ((Test-NetConnection $comp -WarningAction SilentlyContinue).PingSucceeded -eq $true) { $output = @{'Computer' = $comp } $output.UserName = (Get-WmiObject -Class win32_computersystem -ComputerName $comp).UserName } else { $output = @{'Computer' = $comp } $output.UserName = "offline" } [PSCustomObject]$output } } $computers = (Get-AdComputer -Filter {enabled -eq "true"} -SearchBase 'OU=Kazan,DC=winitpro,DC=loc').Name Get-LoggedUser $computers |ft -AutoSize
Также обратите внимание, что вы можете хранить в свойствах компьютеров в AD имя пользователя, который выполнил вход. Для этого можно использовать логон скрипт, описанный в статье “Set-ADComputer: добавляем информацию о пользователе в свойства компьютеров AD”
После этого вам не нужно сканировать все компьютеры, чтобы найти где залогинен определенный пользователь. Можно найти компьютер пользователя простым запросом к Active Directory:
$user='dvpetrov'
$user_cn=(get-aduser $user -properties *).DistinguishedName
Get-ADComputer -Filter "ManagedBy -eq '$user_cn'" -properties *|select name,description,managedBy|ft