PowerShell을 사용하여 로컬 사용자 및 그룹 나열
이 문서에서는 PowerShell을 사용하여 머신의 로컬 사용자 및 그룹을 쿼리하는 방법에 대해 설명합니다.
PowerShell을 사용하여 로컬 사용자 및 그룹 나열
네트워크 문제로 인해 도메인 연결이 끊긴 경우 대부분의 경우 인증 서버에 연결할 수 없고 사용할 수 없기 때문에 도메인 자격 증명이 작동하지 않습니다. 따라서 최상의 표준으로 로컬 자격 증명을 편리하게 사용할 수 있어야 하며 관리자로서 이러한 자격 증명은 로컬 관리자 그룹의 일부입니다.
특히 이러한 명령을 사용하여 여러 시스템을 대량으로 처리할 수 있기 때문에 PowerShell 스크립팅을 사용하여 관리자 자격 증명이 있는지 확인할 수 있습니다. 다음 섹션에서는 PowerShell을 사용하여 로컬 사용자 및 그룹을 쿼리하는 여러 가지 방법에 대해 설명합니다.
ADSI로 사용자의 로컬 그룹 구성원 자격 얻기
Microsoft에 따르면 ADSI(Active Directory Service Interface)는 디렉터리 서비스에 액세스하는 데 사용되는 내장 COM 인터페이스입니다. 예를 들어 ADSI 라이브러리에는 현재 사용자의 그룹 구성원을 쿼리하기 위해 Windows PowerShell에서 실행할 수 있는 [ADSI]
클래스가 있습니다.
예제 코드:
$adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
$adsi.Children | Where {$_.SchemaClassName -eq 'user'} | Foreach-Object {
$groups = $_.Groups() | Foreach-Object {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
$_ | Select-Object @{Name='UserName';Expression={$_.Name}},@{Name='Group';Expression={$groups -join ';'}}
}
출력:
UserName Groups
-------- ------
Administrator Administrators
DefaultAccount System Managed Accounts Group
Guest Guests
user Users
WMI로 사용자의 로컬 그룹 구성원 자격 얻기
WMI는 Windows 기반 컴퓨터를 사용하여 네트워크에서 하드웨어 및 소프트웨어 관리를 간소화하기 위한 지침 모음이며 Microsoft의 최신 운영 체제에 사전 설치되어 있습니다. 공급업체는 Windows 10 이전의 OS에서 WMIC(WMI 명령줄)로 알려진 WMI용 명령줄 인터페이스(CLI)를 제공했습니다.
WMIC는 이전 Windows 버전의 기존 셸 및 유틸리티 명령과 호환됩니다.
예제 코드:
Get-WmiObject -Class Win32_UserAccount -Filter "LocalAccount='True'"
출력:
AccountType : 512
Caption : DESKTOP-7GI1260\Administrator
Domain : DESKTOP-7GI1260
SID : S-1-5-21-3848050931-464278446-3624840-500
FullName :
Name : Administrator
AccountType : 512
Caption : DESKTOP-7GI1260\user
Domain : DESKTOP-7GI1260
SID : S-1-5-21-3848050931-464278446-3624840-1003
FullName :
Name : user
-Filter
매개변수는 로컬에서 생성된 계정만 필터링하기 위해 사용됩니다. 따라서 도메인 설정 시 기본 계정 생성을 통해 형성되지 않습니다.
Get-Local
명령으로 사용자의 로컬 그룹 멤버쉽 얻기
PowerShell 5.1은 이제 Microsoft.PowerShell.LocalAccounts
모듈에서 Get-LocalGroupMember
, Get-LocalGroup
, Get-LocalUser
및 기타 Get-Local*
명령을 사용하여 로컬 사용자를 가져오고 매핑할 수 있습니다. 여러 떼.
이 새 명령을 사용하면 스크립트를 작성할 때 더 간결해집니다.
예제 코드:
Get-LocalGroupMember -name users
출력:
ObjectClass Name PrincipalSource
----------- ---- ---------------
User DESKTOP-7GI1260\kentm MicrosoftAccount
Group NT AUTHORITY\Authenticated Users Unknown
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn