I thought it would be valuable to summarize and compare the given answers.
If you want to access the environment variable:
(easier/shorter/memorable option)
[Environment]::UserName
— @ThomasBratt$env:username
— @Eoinwhoami
— @galaktor
If you want to access the Windows access token:
(more dependable option)
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name
— @MarkSeemann
If you want the name of the logged in user
(rather than the name of the user running the PowerShell instance)
$(Get-WMIObject -class Win32_ComputerSystem | select username).username
— @TwonOfAn on this other forum
Comparison
@Kevin Panko’s comment on @Mark Seemann’s answer deals with choosing one of the categories over the other:
[The Windows access token approach] is the most secure answer, because $env:USERNAME can be altered by the user, but this will not be fooled by doing that.
In short, the environment variable option is more succinct, and the Windows access token option is more dependable.
I’ve had to use @Mark Seemann’s Windows access token approach in a PowerShell script that I was running from a C# application with impersonation.
The C# application is run with my user account, and it runs the PowerShell script as a service account. Because of a limitation of the way I’m running the PowerShell script from C#, the PowerShell instance uses my user account’s environment variables, even though it is run as the service account user.
In this setup, the environment variable options return my account name, and the Windows access token option returns the service account name (which is what I wanted), and the logged in user option returns my account name.
Testing
Also, if you want to compare the options yourself, here is a script you can use to run a script as another user. You need to use the Get-Credential cmdlet to get a credential object, and then run this script with the script to run as another user as argument 1, and the credential object as argument 2.
Usage:
$cred = Get-Credential UserTo.RunAs
Run-AsUser.ps1 "whoami; pause" $cred
Run-AsUser.ps1 "[System.Security.Principal.WindowsIdentity]::GetCurrent().Name; pause" $cred
Contents of Run-AsUser.ps1 script:
param(
[Parameter(Mandatory=$true)]
[string]$script,
[Parameter(Mandatory=$true)]
[System.Management.Automation.PsCredential]$cred
)
Start-Process -Credential $cred -FilePath 'powershell.exe' -ArgumentList 'noprofile','-Command',"$script"
(you may need a hyphen before noprofile
, like so)
Start-Process -Credential $cred -FilePath 'powershell.exe' -ArgumentList '-noprofile','-Command',"$script"
В операционной системе Windows и Windows Server можно выделить различные типы пользователей:
- пользователь, выполнивший вход в систему
- зарегистрированный владелец установленной ОС и имя зарегистрированного пользователя операционной системы
- имеющиеся учётные записи в данной ОС
Рассмотрим, как получить имя каждого вида пользователя.
Как узнать имя пользователя, выполнившего вход
Самым очевидным кажется способ обратиться к переменной окружения:
$env:UserName
Дополнительно могут заинтересовать ещё парочка переменных окружения. В следующей содержится имя компьютера или имя домена, если компьютер является частью домена.
$env:UserDomain
А эта команда выведет имя компьютера:
$env:ComputerName
Недостаток этого метода в том, что пользователь может подделать значение переменной окружения %UserName%.
Смотрите также: Работа с переменными окружения в PowerShell
Ещё одним недостатком может быть то, что, возможно, вам нужно имя пользователя вида «ДОМЕНПОЛЬЗОВАТЕЛЬ» или «КОМПЬЮТЕРПОЛЬЗОВАТЕЛЬ».
Этого недостатка лишена следующая команда, которая выведет полное имя пользователя, вместе с компьютером или доменом, к которому данный пользователь относится:
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name
Ещё одним способом получить имя пользователя в PowerShell является команда:
Get-ComputerInfo -Property CsUserName
Пример вывода:
CsUserName ---------- HACKWARE-WINDOWMiAl
Если вы хотите более компактный вывод, то используйте следующий синтаксис:
(Get-ComputerInfo).CsUserName
Пример вывода:
HACKWARE-WINDOWMiAl
Как вывести список всех пользователей Windows
Чтобы просмотреть список всех учётных записей, используйте командлет:
Get-LocalUser
Чтобы показать только имена, используйте синтаксис:
(Get-LocalUser).Name
Чтобы вывести только активные учётные записи, используйте команду:
Get-LocalUser | Where-Object {$_.Enabled -eq "True"}
Следующая команда покажет только имена активных учётных записей:
(Get-LocalUser | Where-Object {$_.Enabled -eq "True"}).Name
Владельцы и зарегистрированные пользователи Windows
Вы можете найти информацию о других видах пользователей:
Get-ComputerInfo -Property WindowsRegisteredOwner Get-ComputerInfo -Property CsPrimaryOwnerName Get-ComputerInfo -Property OsRegisteredUser
Значения следующие:
- WindowsRegisteredOwner — имя зарегистрированного владельца этой установки Windows из реестра Windows.
- CsPrimaryOwnerName — имя основного владельца системы
- OsRegisteredUser — имя зарегистрированного пользователя операционной системы
Справка по полям Get-ComputerInfo: https://docs.microsoft.com/en-us/dotnet/api/microsoft.powershell.commands.computerinfo
Универсальная команда whoami
Следующая команда покажет имя пользователя как в PowerShell, так и в CMD:
whoami
Имя пользователя она берёт из переменной окружения.
Варианты использования:
Write-Host "Текущий пользователь:" Write-Host $(whoami)
Ещё один пример:
Write-Host "Текущий пользователь: " -NoNewline; Write-Host $(whoami)
Смотрите также: Аналог echo в PowerShell
Довольно часто администратору нужно быстро узнать имя пользователя, который выполнил вход на удаленном компьютере 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_MACHINESYSTEMCurrentControlSetControlTerminal 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
Узнаём имя пользователя на Windows 10
Многие пользователи практикуют использование нескольких учётных записей на одном компьютере – например, в целях родительского контроля. Если аккаунтов много, может возникнуть путаница, поскольку не сразу понятно, под каким из них загружена система. Решить этот вопрос можно просмотром имени текущего пользователя, и сегодня мы хотим вас познакомить с методами совершения этой операции.
Как узнать имя пользователя
В более старых вариантах Виндовс псевдоним учётной записи отображался при вызове меню «Пуск», но разработчики отказались от этого в версии «окон» начиная с 8. В сборках «десятки» до 1803 эта возможность вернулась – имя можно было посмотреть через дополнительное меню «Пуска», доступное по нажатию кнопки с тремя полосками. Однако в 1803 и выше это убрали, и в новейшей сборке Windows 10 доступны иные варианты просмотра имени пользователя, приведём самые простые.
Способ 1: «Командная строка»
Множество манипуляций с системой можно совершить с помощью «Командной строки», в том числе и необходимую нам сегодня.
-
Откройте «Поиск» и начните набирать словосочетание командная строка. В меню отобразиться нужное приложение – кликните по нему.
К сожалению, никакого выделения текущего пользователя не предусмотрено, поэтому этот способ подходит только для компьютеров с 1-2 учётными записями.
Способ 2: Панель управления
Второй метод, с помощью которого можно узнать имя пользователя – инструмент «Панель управления».
-
Откройте «Поиск», наберите в строке панель управления и кликните по результату.
Режим отображения значков переключите в «Крупные» и воспользуйтесь пунктом «Учётные записи пользователей».
Щёлкните по ссылке «Управление другой учётной записью».
Такой способ удобнее, чем задействование «Командной строки», поскольку применять его можно на любой учётной записи, и информацию указанная оснастка отображает более наглядно.
Мы рассмотрели способы, которыми можно узнать имя пользователя компьютера на Windows 10.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Как найти и поменять имя пользователя в ОС Windows 10
Windows 10 является самой современной версией операционной системы от компании Microsoft и многими она по праву считается лучшей из всех. Она прекрасно совмещает в себе удобство полюбившейся всей семёрки, при этом учитывает все современные тенденции программирования. Многие производители техники и разработчики рекомендуют её для использования на ваших компьютерах и ноутбуках.
Использование нескольких аккаунтов позволяет разграничить права юзеров.
Для того чтобы компьютером могли пользоваться несколько человек со своими настройками и программами, можно создать несколько аккаунта. По сравнению с предыдущими версиями, в десятке этот механизм был несколько переработан, что стало одной из особенностей выпуска.
В этой статье мы разберём, как узнать, а также как изменить имя пользователя в Windows 10. Это может пригодиться, если вы вдруг забыли свой логин учётной записи либо же просто хотите поменять отображаемое название.
Типы учётной записи на Windows 10
Для начала определим, что, вообще, представляет собой учётная запись компьютера. Это профиль с отдельными настройками, благодаря чему системой могут пользоваться сразу несколько человек. Можно даже выставить права доступа, ограничив их так, чтобы больше никто ничего не мог сделать лишнего и сбить настройки.
Поскольку от того, какой тип аккаунта вы используете, будет зависеть процедура изменения имени пользователя. Она выбирается при установке операционной системы и их бывает два типа:
- Локальная — хранится только на компьютере, поэтому после переустановки системы вы безвозвратно теряете все свои настройки. В Windows 10 имеет ряд ограничений.
- Сетевая — имеет привязку к Microsoft, позволяющей пользоваться всеми онлайн-сервисами компании. Как минимум при первом подключении вам нужен будет интернет для подтверждения аккаунта на удалённом сервере. Главное преимущество заключается в том, что вы можете синхронизовать настройки между компьютерами или же быстро восстанавливать их при переустановке системы.
Не помешает и вспомнить, какие бывают типы аккаунтов по уровню предоставленных прав. Их может быть три:
- Администратор — профиль с максимальными правами. Он получает доступ ко всем параметрам и функциям, а также может руководить правами доступа других пользователей. Если вы единственный юзер ПК, вы являетесь администратором.
- Пользователь — имеет право доступа ко всем возможностям, кроме системных разделов и настроек. Можно настраивать права отдельно для каждого юзера.
- Гость — предоставлены самые минимальные права. Чаще всего создаётся для друзей и знакомых, которые разово хотят воспользоваться компьютером, а вы не хотите, чтобы они залезли не туда, куда надо.
Как узнать и поменять имя учётной записи
Самым простым способом просмотреть имя аккаунта Windows 10 — нажать кнопку Пуск, с правой стороны экрана вверху рамки нажать кнопку «Развернуть» в виде трёх горизонтальных полос, и вы увидите в нижнем углу пользователя компьютера, в данный момент авторизованного в системе. Как сменить имя? Достаточно нажать на него и выбрать «Изменить параметры учётной записи».
Дальнейшие шаги будут немного отличаться зависимо от типа аккаунта. Отметим, что для изменения сетевой учётки вы будете перенаправлены на специальную страницу изменения профиля Microsoft. Логично, что у вас должно быть активно интернет-соединение.
Локальная учётная запись
Вариант 1. Меню управления учётными записями
После нажатия на имя пользователя в меню Пуск и перехода в меню настроек, напротив имени своего профиля кликните «Изменение имени своей учётной записи», впишите новый никнейм и подтвердите кнопкой «Переименовать».
Вариант 2. Используя командную строку Windows
Кликните по кнопке Пуск правой кнопкой мыши, выберите пункт «Командная строка (администратор)», после чего напечатайте такую команду:
wmic useraccount where name=”Старое_Имя” rename “Новое_Имя”
Через буквально несколько секунд система переименует пользователя. Чтобы продолжить работу, просто закройте окно командной строки.
Сетевая учётная запись
В меню управления аккаунтами Windows 10 нажмите ссылку «Управление учётной записью Майкрософт». После этого вы будете перенаправлены на сайт компании, где сможете настроить свой аккаунт. Как это сделать?
С правой стороны страницы отображается ваша фотография и приветствие. Сразу же под ними вы увидите ссылку «Изменить имя». Пройдите по ней, напечатайте новое имя и фамилию, а также кнопку «Сохранить». Всё, через пару секунд вы увидите, что обновлённая информация отобразилась на ПК.
Заключение
Поменять имя пользователя компьютера на Windows 10 совершенно не сложно, вы лично в этом можете убедиться. Для этого не нужно обладать никакими специальными навыками. Если у вас ещё остались вопросы, как узнать имя пользователя или изменить его, задавайте их в комментариях.
Как можно узнать имя пользователя компьютера в Windows 10
На многих домашних компьютерах используется две и более учётных записей. Причём они бывают аналогичными по настройкам рабочей среды, но отличаются правами (обычный доступ, администратор) и рядом незначительных мелочей. Во избежание путаницы во время очередного переключения между аккаунтами порой появляется проблема: как узнать имя пользователя компьютера Windows 10?
Рассмотрим все существующие способы увидеть название текущего профиля в «Десятке», ведь с выходом Windows 8 оно перестало отображаться в Пуске.
Командная строка
Этот незаменимый инструмент может всё без исключения, если им уметь пользоваться.
2. После запуска введите и выполните команду « net user ».
Результатом будет перечень учётных записей, созданных в текущей ОС. В некоторых случаях этого достаточно, однако не всегда такой метод позволяет узнать название активного аккаунта.
Панель управления
Подходит только для ситуаций, когда вы обладаете администраторскими привилегиями. Обладает тем же недостатком, что и предыдущий метод – текущий аккаунт никак не обозначается в списке.
1. Запустите Панель управления (через поисковую строку, например).
2. Переключите вид её элементов на «Крупные значки».
4. Кликните «Управление другой учётной записью» (для выполнения действия нужны права администратора).
Диспетчер задач
1. Откройте утилиту, примером, через контекстное меню Пуска.
2. Переключите вид на подробные, если окно будет миниатюрным.
3. Кликните по вкладке «Пользователи» и увидите имя активного юзера.
Сведения о системе
Ещё один информационный инструмент, позволяющий решить проблему.
1. Выполните команду « msinfo32 » в поисковой строке.
2. Нужная информация содержится в строке «Имя пользователя».
PowerShell
1. Запустите PowerShell с привилегиями администратора (через поисковую строку).
2. Выполните « $env:UserName ».
Редактор реестра
1. Вызовите редактор реестра командой «regedit».
2. Разверните ветку «HKCU».
3. Кликните по подразделу «Volatile Environment».
Нужные сведения находятся в строке «USERNAME».
Также отобразить имя текущего аккаунта могут сторонние приложения.
Как получить Список всех учетных записей пользователей в Windows 10.
Если вам нужно посмотреть все существующие учетные записи пользователей, которые используют ваше устройство, в этом руководстве вы узнаете четыре способа сделать это в Windows 10.
В Windows 10, вы можете быстро проверить полную информацию обо всех учетных записях пользователей. Если более чем один человек использует ваш персональный компьютер или у вас есть более одного аккаунта пользователя, если есть необходимость проверить полную информацию о всех учетных записях пользователей, то эта статья поможет вам. Кроме того, в отдельных случаях вам также может понадобиться посмотреть скрытые учетные записи пользователей, доступные в вашей системе, такие как учетная запись администратора, которая по умолчанию отключена.
Чтобы посмотреть все существующие учетные записи в Windows 10 существует несколько способов просмотра этой информации с использованием встроенных инструментов и командной строки.
В этом руководстве вы узнаете четыре способа посмотреть список всех учетных записей, доступных в Windows 10.
- Как просмотреть все учетные записи с помощью приложения «Параметры»
- Как просмотреть все учетные записи с помощью консоли «Управление компьютером»
- Как просмотреть все учетные записи в Windows 10 с помощью командной строки
- Как просмотреть все учетные записи с помощью PowerShell
Как просмотреть все учетные записи Windows 10 с помощью приложения «Параметры».
Самый простой способ посмотреть учетные записи, доступные на вашем устройстве, – это приложение «Параметры»:
- Откройте приложение нажав клавиши Win I .
- Перейдите в группу настроек «Учетные записи».
- Нажмите раздел слева «Семья и другие пользователи».
На этой странице вы найдете существующие учетные записи пользователей, настроенные на вашем ПК, но эта страница имеет ограничения, поскольку она не содержит встроенных учетных записей пользователей, таких как встроенная учетная запись администратора .
Кроме того, вы заметите, что текущая учетная запись пользователя также не указана, но это потому, что эта информация отображается на странице «Ваши данные».
Как просмотреть все учетные записи с помощью консоли «Управление компьютером».
Если вы используете Windows 10 Pro, вы можете использовать консоль «Управление компьютером» для просмотра всех учетных записей, на вашем устройстве.
- Кликните правой кнопкой мыши на кнопке «Пуск» и выберите в меню «Управление компьютером».
- В консоли перейдите по следующему пути:
Локальные пользователи и группы → Пользователи
Вы увидите список всех учетных записей, созданных в Windows 10.
Как просмотреть все учетные записи Windows 10 с помощью командной строки
В Windows 10, вы можете быстро проверить полную информацию обо всех учетных записях пользователей, используя одну команду.
- Откройте командную строку, введите следующую команду и нажмите клавишу Enter .
Вы увидите следующие детали:
Самый первый аккаунт встроенная учетная запись администратора, учетная запись по умолчанию отключена – но вы можете включить эту скрытую учетную запись администратора, если у вас есть необходимость.
Второй аккаунт – Учетная запись пользователя управляемая системой, как указано в описании. Если вы используете Windows 10.
Третий аккаунт учетная запись гостя .
Последняя учетная запись пользователя, который используется для доступа к компьютеру. Если у вас есть несколько учетных записей пользователей, вы найдете их ниже одну за другой.
Есть несколько деталей, которые видны на экране командной строки. Вы увидите следующее:
- Тип аккаунта
- Описание
- Полное имя
- Дата установки
- Статус локальной учетной записи
- Lockout status
- Имя
- Пароль Изменяемый
- Пароль Истекает
- Требуется пароль или нет
- SID
- SID Тип
- Статус
AccountType = 512 указывает на то, что все учетные записи являются регулярными. Если ваш компьютер подключен к домену, вы можете увидеть другие значения, такие как 256 (Temp Duplicate Account), 2048 (Trust Account Interdomain), 4096 (Trust Account Workstation) или 8192 (Trust Account Server).
Disabled = FALSE / TRUE, указывает на то, активен или нет этот конкретный аккаунт. Если установлено значение FALSE, это означает, что ваша учетная запись не активна и наоборот.
PasswordChangable = TRUE / FALSE указывает на то, можно ли изменить пароль этой учетной записи или нет. Если установлено значение TRUE, то вы можете его изменить.
PasswordExpired = TRUE / FALSE сообщает срок действия пароля этой учетной записи пользователя после заданного промежутка времени.
Как просмотреть все учетные записи с помощью PowerShell
Кроме того, вы даже можете использовать одну команду в PowerShell для просмотра списка с подробной информацией о каждой учетной записи, доступной в Windows 10.
- Откройте PowerShell от имени администратора.
- Введите следующую команду, чтобы перечислить все существующие учетные записи и нажмите Enter :
- Вы увидите список всех учетных записей, настроенных на вашем устройстве, с их описанием, активностью.
Если вам нужно экспортировать список учетных записей в текстовый файл, вы можете добавить в командуследущее. Например:
Get-LocalUser > c:pathtooutputfolderlist.txt
В случае, если одна из учетных записей была создана с использованием учетной записи Microsoft, имя учетной записи будет содержать только первые пять букв адреса электронной почты.
Это основные вещи, которые нужно знать, чтобы понять детали всех учетных записей пользователей на компьютере Windows 10.
Я подумал, что было бы полезно обобщить и сравнить приведенные ответы.
Если вы хотите получить доступ к переменной окружения:
(проще/короче/запоминающийся вариант)
-
[Environment]::UserName
— @ThomasBratt -
$env:username
— @Eoin -
whoami
— @galaktor
Если вы хотите получить доступ к токену доступа Windows:
(более надежный вариант)
-
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name
— @MarkSeemann
Если вы хотите имя вошедшего в систему пользователя
(а не имя пользователя, на котором запущен экземпляр PowerShell)
-
$(Get-WMIObject -class Win32_ComputerSystem | select username).username
— @TwonOfAn на этом другом форуме
сравнение
Комментарий @Kevin Panko к ответу @Mark Seemann касается выбора одной из категорий над другой:
[Подход с использованием маркера доступа Windows] является наиболее безопасным ответом, поскольку пользователь может изменять $ env: USERNAME, но это не обманет.
Короче говоря, параметр переменной среды является более лаконичным, а параметр маркера доступа Windows — более надежным.
Мне пришлось использовать подход @Mark Seemann для Windows-маркеров доступа в скрипте PowerShell, который я запускал из приложения на С# с олицетворением.
Приложение С# запускается с моей учетной записью пользователя и запускает сценарий PowerShell в качестве учетной записи службы. Из-за ограничения способа запуска сценария PowerShell из С# экземпляр PowerShell использует переменные среды моей учетной записи пользователя, даже если он запускается как пользователь учетной записи службы.
В этой настройке параметры переменной среды возвращают имя моей учетной записи, а параметр маркера доступа Windows возвращает имя учетной записи службы (именно это я и хотел), а параметр зарегистрированного пользователя возвращает имя моей учетной записи.
тестирование
Также, если вы хотите сравнить параметры самостоятельно, вот скрипт, который вы можете использовать для запуска скрипта от имени другого пользователя. Вам нужно использовать командлет Get-Credential, чтобы получить объект учетных данных, а затем запустить этот сценарий со сценарием для запуска в качестве другого пользователя в качестве аргумента 1, а объект учетных данных в качестве аргумента 2.
Использование:
$cred = Get-Credential UserTo.RunAs
Run-AsUser.ps1 "whoami; pause" $cred
Run-AsUser.ps1 "[System.Security.Principal.WindowsIdentity]::GetCurrent().Name; pause" $cred
Содержимое скрипта Run-AsUser.ps1:
param(
[Parameter(Mandatory=$true)]
[string]$script,
[Parameter(Mandatory=$true)]
[System.Management.Automation.PsCredential]$cred
)
Start-Process -Credential $cred -FilePath 'powershell.exe' -ArgumentList 'noprofile','-Command',"$script"
Если на одном компьютере создано несколько учетных записей, может потребоваться выяснить, под каким аккаунтом работает операционная система Windows 10 в данный момент. Из этой статьи вы узнаете, где можно посмотреть имя текущего пользователя.
Узнаём имя пользователя в меню «Пуск»
Наиболее простой способ узнать имя пользователя — открыть меню «Пуск» и кликнуть на кнопку «Развернуть» — иконку с тремя горизонтальными полосками. Ниже Вы увидите имя пользователя, авторизованного в системе в данный момент.
Кликаем на кнопку «Развернуть» в меню «Пуск»
- С помощью горячих клавиш Windows + I открываем окно «Параметры Windows» и переходим в раздел «Учетные записи».
Открываем раздел «Учетные записи» в «Параметрах Windows»
- Откроется окно с информацией об учетной записи, под которой сейчас загружена ОС.
Смотрим сведения о текущей учетной записи
Узнаём имя текущего пользователя в приложении «Сведения о системе»
Посмотреть имя текущего пользователя можно в классическом приложении Windows 10 «Сведения о системе».
- Нажимаем на значок лупы в панели задач, начинаем вводить название приложения, и, когда оно будет найдено, запускаем его.
Находим приложение «Сведения о системе»
- В появившемся окне нас интересует строка «Имя пользователя».
Имя пользователя в окне «Сведения о системе»
Узнаём имя пользователя в «Диспетчере задач»
- Нажимаем комбинацию клавиш Ctrl + Shift + Esc для запуска «Диспетчера задач».
Открываем вкладку «Пользователи»
- На вкладке «Пользователи» будут указаны имена всех пользователей, которые вошли в систему. Состояние «отключено» рядом с именем учетной записи говорит о том, что в настоящее время активна учетная запись другого пользователя. Если вкладки в окне диспетчера задач скрыты, нажмите кнопку «Подробнее» в левом нижнем углу окна.
Смотрим имена пользователей в «Панели управления»
- Снова воспользуемся системным поиском, чтобы найти «Панель управления» — кликаем на иконку лупы в панели задач и печатаем название приложения.
Ищем «Панель управления»
- В окне «Панель управления» переходим в категорию «Учетные записи пользователей» и еще раз выбираем раздел настроек «Учетные записи пользователей».
Открываем раздел «Учетные записи пользователей»
- Откроются сведения о текущей учетной записи. Чтобы посмотреть другие учетные записи этого компьютера, нажмите на ссылку «Управление другой учетной записью».
Кликаем на «Управление другой учетной записью», чтобы увидеть всех пользователей
Смотрим имена пользователей через командную строку
Для тех, кто не ищет лёгких путей, 🙂 есть возможность посмотреть список всех пользователей в системе через командую строку.
- Откроем контекстное меню кнопки «Пуск» с помощью правой кнопки мыши или сочетания клавиш Windows + X и запустим утилиту «PowerShell» от имени администратора.
Запускаем «PowerShell» от имени администратора
- В открывшемся окне вводим команду net user и нажимаем Enter. На экране появится информация обо всех учетных записях, зарегистрированных в операционной системе.
Выполняем команду «net user»
Теперь вы в курсе, где посмотреть список всех учетных записей в Windows 10, а также имя текущего пользователя системы.
Post Views: 11 894
Я думал, что было бы полезно обобщить и сравнить ответы.
если вы хотите получить доступ к переменные среды:
(более простой/короткий / запоминающийся вариант)
[Environment]::UserName
— @ThomasBratt$env:username
— @Eoinwhoami
— @galaktor
если вы хотите получить доступ к доступ к windows токен:
(более надежный вариант)
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name
— @MarkSeemann
если вы хотите имя вошедшего в систему пользователя
(вместо имени пользователя, выполняющего экземпляр PowerShell)
$(Get-WMIObject -class Win32_ComputerSystem | select username).username
— @TwonOfAn on это другой форум
сравнение
комментарий@Kevin Panko на @Mark Ответ Seemann касается выбора одной из категорий над другой:
[подход к маркеру доступа windows] является наиболее безопасным ответом, потому что $env:имя пользователя может быть изменено пользователем, но это не будет обмануто этим.
короче, параметр переменной среды более лаконичен, а параметр маркера доступа windows более надежен.
мне пришлось использовать маркер доступа к windows @Mark Seemann подход в сценарии PowerShell, который я запускал из приложения C# с олицетворением. Приложение C# запускается с моей учетной записью пользователя и запускает сценарий powershell в качестве учетной записи службы. Из-за ограничения способа запуска сценария PowerShell из C# экземпляр PowerShell использует переменные среды моей учетной записи пользователя, даже если он запускается как пользователь учетной записи службы. В этой настройке параметры переменной среды возвращают имя моей учетной записи и маркер доступа windows опция возвращает имя учетной записи службы (это то, что я хотел), а опция вошедшего пользователя возвращает имя моей учетной записи.
тестирование
кроме того, если вы хотите сравнить параметры самостоятельно, вот сценарий, который вы можете использовать для запуска сценария от имени другого пользователя. Необходимо использовать командлет Get-Credential для получения объекта учетных данных, а затем запустить этот сценарий со сценарием для запуска от имени другого пользователя в качестве аргумента 1 и объекта учетных данных в качестве аргумента 2.
использование:
$cred = Get-Credential UserTo.RunAs Run-AsUser.ps1 "whoami; pause" $cred Run-AsUser.ps1 "[System.Security.Principal.WindowsIdentity]::GetCurrent().Name; pause" $cred
содержимое сценария Run-AsUser. ps1:
param( [Parameter(Mandatory=$true)] [string]$script, [Parameter(Mandatory=$true)] [System.Management.Automation.PsCredential]$cred ) Start-Process -Credential $cred -FilePath 'powershell.exe' -ArgumentList 'noprofile','-Command',"$script"
Содержание
- Как узнать имя пользователя
- Способ 1: «Командная строка»
- Способ 2: Панель управления
- Вопросы и ответы
Многие пользователи практикуют использование нескольких учётных записей на одном компьютере – например, в целях родительского контроля. Если аккаунтов много, может возникнуть путаница, поскольку не сразу понятно, под каким из них загружена система. Решить этот вопрос можно просмотром имени текущего пользователя, и сегодня мы хотим вас познакомить с методами совершения этой операции.
Как узнать имя пользователя
В более старых вариантах Виндовс псевдоним учётной записи отображался при вызове меню «Пуск», но разработчики отказались от этого в версии «окон» начиная с 8. В сборках «десятки» до 1803 эта возможность вернулась – имя можно было посмотреть через дополнительное меню «Пуска», доступное по нажатию кнопки с тремя полосками. Однако в 1803 и выше это убрали, и в новейшей сборке Windows 10 доступны иные варианты просмотра имени пользователя, приведём самые простые.
Способ 1: «Командная строка»
Множество манипуляций с системой можно совершить с помощью «Командной строки», в том числе и необходимую нам сегодня.
- Откройте «Поиск» и начните набирать словосочетание командная строка. В меню отобразиться нужное приложение – кликните по нему.
- После открытия интерфейса ввода команд укажите в нем следующий оператор и нажмите Enter:
net user
- Команда выведет на экран список всех учётных записей, созданных на этой системе.
К сожалению, никакого выделения текущего пользователя не предусмотрено, поэтому этот способ подходит только для компьютеров с 1-2 учётными записями.
Способ 2: Панель управления
Второй метод, с помощью которого можно узнать имя пользователя – инструмент «Панель управления».
- Откройте «Поиск», наберите в строке панель управления и кликните по результату.
- Режим отображения значков переключите в «Крупные» и воспользуйтесь пунктом «Учётные записи пользователей».
- Щёлкните по ссылке «Управление другой учётной записью».
- Откроется окно, в котором можно просмотреть все учётные записи, существующие на этом компьютере – справа от аватаров каждой из них можно увидеть имена.
Такой способ удобнее, чем задействование «Командной строки», поскольку применять его можно на любой учётной записи, и информацию указанная оснастка отображает более наглядно.
Мы рассмотрели способы, которыми можно узнать имя пользователя компьютера на Windows 10.
Еще статьи по данной теме: