Представьте себе грандиозный паровой сервер ROADIT — сложнейший механизм из латунных труб, медных шестерёнок и манометров, каждый из которых показывает давление в той или иной подсистеме. Вы — главный инженер этой махины. И вдруг вам нужно узнать, кто вообще имеет доступ к вашей драгоценной машине: какие учётные записи заведены, активны ли они, кто из них — просто «мёртвый груз» из прошлых эпох, а кто — действующий оператор с полным доступом к котлам и турбинам.
Именно для этого в вашей инструментальной мастерской PowerShell есть команда Get-LocalUser. Это не просто cmdlet — это ваш паровой реестр, манометр, показывающий всех, кто когда-либо получал пропуск в котельную. В мире Windows, где локальные пользователи подобны ключам от разных дверей, эта команда позволяет мгновенно получить полную картину: кто есть кто, кто всё ещё у руля, а чей пропуск давно аннулирован.
Без Get-LocalUser вы бы ползали по лабиринтам панели управления, перебирая шестерёнки вручную. С ней — вы одним движением рычага открываете полный список всех учётных записей на вашем локальном паровом агрегате.
Синтаксис
Команда Get-LocalUser проста, как хорошо отлаженный паровой клапан. У неё два основных способа вызова:
Get-LocalUser [[-Name] <String[]>] [<CommonParameters>]
Get-LocalUser [[-SID] <SecurityIdentifier[]>] [<CommonParameters>]Первый вариант — искать пользователей по имени (можно с масками), второй — по SID (Security Identifier).
Вызываете без параметров — и паровой движок выдаёт полный список всех локальных пользователей с их статусами.
Основные опции
Вот основные рычаги и вентили, которые вы можете крутить при работе с Get-LocalUser:
💡 Совет
Не забывайте про общие параметры PowerShell: -Verbose особенно полезен, когда паровая машина ведёт себя неожиданно, и вы хотите видеть каждый такт её работы.
Примеры использования
Полный список всех локальных пользователей
Самый простой способ — дёрнуть рычаг без всяких опций. Паровой движок выдаст таблицу со всеми учётными записями:
Get-LocalUserВывод будет содержать три колонки: Name (имя), Enabled (активна ли учётка), Description (краткое описание).

Поиск пользователя по имени с маской
Допустим, вы помните, что где-то в системе есть пользователь, имя которого начинается с «Admin», но точное название забыли. Маски — ваши лучшие друзья:
Get-LocalUser -Name "Admin*"Эта команда найдёт всех, чьё имя начинается с «Admin» — например, Administrator, AdminContoso02 и любых других.

Получение всех свойств пользователя через конвейер
Иногда таблицы с тремя колонками недостаточно. Вам нужно заглянуть в самые глубины парового котла — все свойства учётной записи. Для этого отправляем результат в Select-Object -Property *:
Get-LocalUser | Select-Object -Property *Или для конкретного пользователя:
Get-LocalUser -Name "Administrator" | Select-Object -Property *Это покажет всё: FullName, SID, PrincipalSource (откуда пришла учётка — локальная, из Active Directory или Microsoft-аккаунта) и другие технические детали.
⚡ Важно
Свойство PrincipalSource доступно только в Windows 10, Windows Server 2016 и новее. На старых системах оно будет пустым.

Советы и примечания
Совет: создайте алиас для быстрого доступа
Если вы часто заглядываете в список пользователей (а хороший сисадмин делает это регулярно), создайте короткий алиас:
Set-Alias -Name glu -Value Get-LocalUserТеперь достаточно набрать glu — и список всех локальных пользователей перед вами. Экономия драгоценного времени, как хороший клапан, который не даёт пару уходить впустую.
Важно: 32-битный PowerShell на 64-битной системе
Get-LocalUser живёт в модуле Microsoft.PowerShell.LocalAccounts. Если вы запустили 32-битную версию PowerShell на 64-битной Windows, этот модуль будет недоступен. Запускайте PowerShell в правильной «архитектуре» — и паровой движок заработает как надо.
Совет: проверяйте только активных пользователей
Чтобы быстро увидеть, кто из операторов действительно имеет доступ к системе:
Get-LocalUser | Where-Object { $_.Enabled -eq $true }Это отфильтрует только активные учётные записи — идеально для аудита безопасности.
Важно: регистр имён не имеет значения
PowerShell не чувствителен к регистру, так что get-localuser -name "administrator" и Get-LocalUser -Name "Administrator" — одно и то же. Но в выводе имена будут показаны в том регистре, в котором они сохранены в системе.
⚙️ Машинное отделение ROADIT благодарит за прочтение.
Больше команд, шпаргалок и обзоров — на roadit.ru и в нашем Телеграф-канале.
📋 Все команды