2014-02-05 1 views
5

사용자가 AD 보안 그룹 "Domain \ Sql Admins"의 구성원이고 보안 그룹 "Domain \ Sql Admins"가 로컬 관리자 Windows 서버의 그룹. 이 관리자 그룹에 직접 추가되는 경우이 스크립트는 사용자를 반환합니다사용자가 원격 서버의 로컬 관리자 그룹에 속하는지 확인하십시오.

$u = "Username"; net localgroup administrators | Where {$_ -match $u} 

:

나는 다음과 같은 PowerShell을 스크립트를 시도했다. 내 사용자를 찾을 때까지 관리 그룹의 모든 그룹을 차례로 순환시켜야합니까? 아니면 다른 방법이 있습니까?

답변

9

Microsoft Hey Scripting Guy 블로그의 Boe Prox가이 기사를 확인하십시오. 그는 사용자가 로컬 관리자인지 확인하는 방법을 설명합니다.

http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/11/check-for-admin-credentials-in-a-powershell-script.aspx

은 TechNet 갤러리에 게시 된 Test-IsAdmin 기능이 문서를 가리 킵니다.

http://gallery.technet.microsoft.com/scriptcenter/1b5df952-9e10-470f-ad7c-dc2bdc2ac946

기능은 $true 또는 $false을 반환하는 다음 코드가 포함되어 있습니다.

([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator") 
+1

정말 고마워! – ReeReeBosley

0

당신은 Test-UserGroupMembership 명령 예를 들어, 사용할 수있는 PowerShell Community Extension를 사용하는 일 경우 : SID 사용

Test-UserGroupMembership Administrators 
0

PowerShell 5.1 (Windows Server 2016)에는 Get-LocalGroupMember cmdlet가 포함되어 있습니다.

$user = "$env:COMPUTERNAME\$env:USERNAME" 
$group = 'Administrators' 
$isInGroup = (Get-LocalGroupMember $group).Name -contains $user 
관련 문제