В этой статье блога мы рассмотрим различные способы доступа к информации о локальных пользователях и группах с использованием локальной учетной записи. Мы предоставим примеры кода для каждого метода, чтобы помочь вам понять процесс реализации. Независимо от того, являетесь ли вы системным администратором или разработчиком, работающим с локальными учетными записями, эта статья послужит исчерпывающим руководством по доступу к локальным данным пользователей и групп.
Методы доступа к информации о локальных пользователях и группах:
- Инструментарий управления Windows (WMI):
WMI предоставляет мощный интерфейс для управления локальными пользователями и группами в системах Windows. Вы можете использовать запросы WMI для получения информации о пользователях и группах. Вот пример в PowerShell:
$users = Get-WmiObject -Class Win32_UserAccount
foreach ($user in $users) {
Write-Host "Username: $($user.Name)"
}
- PowerShell:
PowerShell предлагает командлеты, специально предназначенные для управления пользователями и группами. Вы можете использовать командлетыGet-LocalUserиGet-LocalGroupдля получения информации о пользователе и группе соответственно. Вот пример:
$users = Get-LocalUser
foreach ($user in $users) {
Write-Host "Username: $($user.Name)"
}
- Инструменты командной строки.
Для доступа к информации о локальных пользователях и группах можно использовать различные инструменты командной строки. Например, командаnet userполучает сведения о пользователе, а командаnet localgroup— сведения о группе. Вот пример:
@echo off
for /F "skip=4 tokens=1,2 delims=," %%A in ('net user') do (
echo Username: %%A
)
- Windows API:
Если вы разработчик, вы можете использовать функции Windows API для программного доступа к информации о локальных пользователях и группах. ФункциюNetUserEnumможно использовать для получения сведений о пользователе, а функциюNetLocalGroupEnum— для получения сведений о группе. Вот пример на C++:
#include <windows.h>
#include <lm.h>
#include <iostream>
int main() {
DWORD entriesRead;
LPUSER_INFO_0 userInfo;
NET_API_STATUS result = NetUserEnum(NULL, 0, FILTER_NORMAL_ACCOUNT, (LPBYTE*)&userInfo, MAX_PREFERRED_LENGTH, &entriesRead, NULL, NULL);
if (result == NERR_Success) {
for (DWORD i = 0; i < entriesRead; i++) {
std::wcout << "Username: " << userInfo[i].usri0_name << std::endl;
}
NetApiBufferFree(userInfo);
}
return 0;
}
Доступ к информации о локальных пользователях и группах имеет решающее значение для системных администраторов и разработчиков, работающих с локальными учетными записями. В этой статье мы рассмотрели различные методы, включая WMI, PowerShell, инструменты командной строки и Windows API, для получения этой информации. Используя эти методы и предоставленные примеры кода, вы можете эффективно получать доступ к локальным данным пользователей и групп и управлять ими.