액티브디렉터리는?
액티브 디렉터리(Active Directory, 줄여서 AD)는 마이크로소프트가 윈도우용 환경에서 사용하기 위해 개발한 LDAP 디렉터리 서비스의 기능이다. 주 목적은 윈도우 기반의 컴퓨터들을 위한 인증 서비스를 제공하는 것이다.
즉, 풀어서 쓰면, 다음 두가지입니다.
- 디렉토리 서비스이다.
- 주 목적은 인증 서비스이다.
디렉토리 서비스는?
In computing, directory service or name service maps the names of network resources to their respective network addresses. It is a shared information infrastructure for locating, managing, administering and organizing everyday items and network resources, which can include volumes, folders, files, printers, users, groups, devices, telephone numbers and other objects.
directory service or name service
즉, directory service와 name service는 같은 것입니다. 그런데 우리는 이미 잘 알고 있는 name service 가 있습니다. DNS(Domain Name Service)요. 아이피를 알기쉬운 알파벳이름으로 맵핑해주는 서비스죠.
즉, 풀어서 쓰면, 다음 두가지입니다.
- 전자 전화번호부 같은 것이다.
- 네트웍상에서 컴퓨터뿐만 아니라, 폴더, 유저, 그룹등도 관리할 수 있다.
디렉토리 서비스와 LDAP은 같은 것?
네. 초창기에 디렉토리서비스 프로토콜이 너무 구현하기 어렵게 되어 있어서 미시건대학에서 TCP/IP기반으로 다시 고쳐쓴 것이 LDAP이라고 합니다.
내가 쓸 일이 있을까?
아. 그렇군요. 그런데, 내가 액티브 디렉터리 서비스를 쓸 일이 있을까요?
글로벌한 인터넷이아닌, 회사단위등의 네트웍에 공통적으로 사용해야 하는 것에 이름을 부여하여 관리할 경우가 있습니다.
- 인트라넷 DNS를 운영한다거나,
- 인트라넷 사이트에 로그인할 때의 인증을 컴퓨터 로그인 할 때의 인증으로 통합하고 싶다거나,
- 보안상의 목적으로 어떤 어플리케이션은 도메인에 등록된 디바이스에서만 동작하게 실행하고 싶다거나,
- 회사의 얄미운 사람이 컴퓨터에 로그인 못하게 일부러 로그인 실패를 연발해서 (내 자리 말고 다른 사람 자리에 가서) User Account를 Lock 시켜버리거나 (스마트카드 로그인이 필요해지는 이유가 됩니다.),
- 인트라넷에 어딘가에 몰래 액티브디렉토리를 설치해두고, 다른사람의 컴퓨터를 이 도메인에 등록시키고 유저를 만들어서, 다른 사람컴퓨터에 원격으로 로그인 해서 살펴보거나 (이러시면 안됩니다.)
- Threshold(로그인 실패시 Lock걸리게 하는 제한횟수)가 설정되어 있지 않으면, 패스워드 무한반복으로 패스워드를 알아내거나 (아 이건 액티브 디렉터리와 그다지 관계없습니다. 점점 이상한 방향으로 가네요.)
등등을 사용할 경우가 발생합니다.
저는 주로, 액티브 디렉토리 인증을 Wrap하는 마이크로 서비스를 만들어 인트라넷 인증과 통합시켜, 따로 로그인 인증을 구현하고 싶지 않을 때 사용합니다.
Active Directory 설치
|
|
Forest 설치
|
|
Get-ADDomain
tkim.info의 도메인을 구하기
|
|
현재 컴퓨터의 도메인을 구하기
|
|
현재 로그인 유저의 도메인을 구하기
Get-ADDomain -Current LoggedOnUser
Get-ADForest
tkim.info의 Forest을 구하기
|
|
현재 컴퓨터의 Forest을 구하기
|
|
현재 로그인 유저의 도메인을 구하기
|
|
Get-ADGroup
SAM Account 이름으로 Group구하기
|
|
SID로 구하기
|
|
Filter해 구하기
|
|
특정 검색기반으로 구하기
|
|
Get-ADOrganizationalUnit
특정 조직 단위 구하기
|
|
자식(child) OU 구하기
|
|
Get-ADTrust
모든 Trust 구하기
|
|
|
|
Get-ADUser
모든 ADUser 구하기
|
|
이름으로 일부 ADUser 구하기
|
|
특정 ADUser의 모든 Property 구하기
|
|
LdapFilter파라메터를 사용하는 ADUser를 구하기
|
|
LdapFilter파라메터를 사용하는 ADUser를 구하기
|
|
비활성 ADUser 구하기 NG
|
|
비활성 ADUser 구하기 OK
|
|
이메일주소로 ADUser 구하기
|
|
특정 조직단위에 속해있는 ADUser구하기
|
|
특정 조건의 ADUser를 구해서 특정 Property만 출력하기
|
|
Identity파라메터를 사용하는 ADUser를 구하기
|
|
OU의 ADUser를 구해서 csv에 export하기
|
|
Enable-ADAccount
ADUser를 유효화
|
|
Get-ADUser로부터 유효화
|
|
Disble-ADAccount
ADUser를 무효화
|
|
Get-ADUser로부터 무효화
|
|
Add-ADFineGrainedPasswordPolicySubject
비밀번호 정책 오브젝트(PSO)을 사용자 오브젝트 또는 그룹 오브젝트에 적용
|
|
|
|
Add-ADGroupMember
|
|
Enable-ADOptionalFeature
휴지통 기능을 유효화
|
|
Get-ADDefaultDomainPasswordPolicy
도메인의 비밀번호 정책을 구하기
|
|
Get-ADDefaultDomainPasswordPolicy
현재 로그인 유저의 DomainPasswordPolicy 구하기
|
|
현재 컴퓨터의 DomainPasswordPolicy 구하기
|
|
현재 도메인의 DomainPasswordPolicy 구하기
|
|
Search-ADAccount
모든 Disabled된 ADUser와 ADComputer, 서비스 어카운트 구하기
|
|
모든 Disabled된 ADUser만 구하기
|
|
만기된 모든 Object구하기
|
|
지정된 시간 이내에 비밀번호 만기예정인 Object구하기
|
|
비밀번호 유효기간이 지난 Account구하기
|
|
모든 Lockout된 Account 구하기
|
|
기타
- Add-ADCentralAccessPolicyMember
- Add-ADComputerServiceAccount
- Add-ADDomainControllerPasswordReplicationPolicy
- Add-ADFineGrainedPasswordPolicySubject
- Add-ADGroupMember
- Add-ADPrincipalGroupMembership
- Add-ADResourcePropertyListMember
- Clear-ADAccountExpiration
- Clear-ADClaimTransformLink
- Disable-ADAccount
- Disable-ADOptionalFeature
- Enable-ADAccount
- Enable-ADOptionalFeature
- Get-ADAccountAuthorizationGroup
- Get-ADAccountResultantPasswordReplicationPolicy
- Get-ADAuthenticationPolicy
- Get-ADAuthenticationPolicySilo
- Get-ADCentralAccessPolicy
- Get-ADCentralAccessRule
- Get-ADClaimTransformPolicy
- Get-ADClaimType
- Get-ADComputer
- Get-ADComputerServiceAccount
- Get-ADDCCloningExcludedApplicationList
- Get-ADDefaultDomainPasswordPolicy
- Get-ADDomain
- Get-ADDomainController
- Get-ADDomainControllerPasswordReplicationPolicy
- Get-ADDomainControllerPasswordReplicationPolicyUsage
- Get-ADFineGrainedPasswordPolicy
- Get-ADFineGrainedPasswordPolicySubject
- Get-ADForest
- Get-ADGroup
- Get-ADGroupMember
- Get-ADObject
- Get-ADOptionalFeature
- Get-ADOrganizationalUnit
- Get-ADPrincipalGroupMembership
- Get-ADReplicationAttributeMetadata
- Get-ADReplicationConnection
- Get-ADReplicationFailure
- Get-ADReplicationPartnerMetadata
- Get-ADReplicationQueueOperation
- Get-ADReplicationSite
- Get-ADReplicationSiteLink
- Get-ADReplicationSiteLinkBridge
- Get-ADReplicationSubnet
- Get-ADReplicationUpToDatenessVectorTable
- Get-ADResourceProperty
- Get-ADResourcePropertyList
- Get-ADResourcePropertyValueType
- Get-ADRootDSE
- Get-ADServiceAccount
- Get-ADTrust
- Get-ADUser
- Get-ADUserResultantPasswordPolicy
- Grant-ADAuthenticationPolicySiloAccess
- Install-ADServiceAccount
- Move-ADDirectoryServer
- Move-ADDirectoryServerOperationMasterRole
- Move-ADObject
- New-ADAuthenticationPolicy
- New-ADAuthenticationPolicySilo
- New-ADCentralAccessPolicy
- New-ADCentralAccessRule
- New-ADClaimTransformPolicy
- New-ADClaimType
- New-ADComputer
- New-ADDCCloneConfigFile
- New-ADFineGrainedPasswordPolicy
- New-ADGroup
- New-ADObject
- New-ADOrganizationalUnit
- New-ADReplicationSite
- New-ADReplicationSiteLink
- New-ADReplicationSiteLinkBridge
- New-ADReplicationSubnet
- New-ADResourceProperty
- New-ADResourcePropertyList
- New-ADServiceAccount
- New-ADUser
- Remove-ADAuthenticationPolicy
- Remove-ADAuthenticationPolicySilo
- Remove-ADCentralAccessPolicy
- Remove-ADCentralAccessPolicyMember
- Remove-ADCentralAccessRule
- Remove-ADClaimTransformPolicy
- Remove-ADClaimType
- Remove-ADComputer
- Remove-ADComputerServiceAccount
- Remove-ADDomainControllerPasswordReplicationPolicy
- Remove-ADFineGrainedPasswordPolicy
- Remove-ADFineGrainedPasswordPolicySubject
- Remove-ADGroup
- Remove-ADGroupMember
- Remove-ADObject
- Remove-ADOrganizationalUnit
- Remove-ADPrincipalGroupMembership
- Remove-ADReplicationSite
- Remove-ADReplicationSiteLink
- Remove-ADReplicationSiteLinkBridge
- Remove-ADReplicationSubnet
- Remove-ADResourceProperty
- Remove-ADResourcePropertyList
- Remove-ADResourcePropertyListMember
- Remove-ADServiceAccount
- Remove-ADUser
- Rename-ADObject
- Reset-ADServiceAccountPassword
- Restore-ADObject
- Revoke-ADAuthenticationPolicySiloAccess
- Search-ADAccount
- Set-ADAccountAuthenticationPolicySilo
- Set-ADAccountControl
- Set-ADAccountExpiration
- Set-ADAccountPassword
- Set-ADAuthenticationPolicy
- Set-ADAuthenticationPolicySilo
- Set-ADCentralAccessPolicy
- Set-ADCentralAccessRule
- Set-ADClaimTransformLink
- Set-ADClaimTransformPolicy
- Set-ADClaimType
- Set-ADComputer
- Set-ADDefaultDomainPasswordPolicy
- Set-ADDomain
- Set-ADDomainMode
- Set-ADFineGrainedPasswordPolicy
- Set-ADForest
- Set-ADForestMode
- Set-ADGroup
- Set-ADObject
- Set-ADOrganizationalUnit
- Set-ADReplicationConnection
- Set-ADReplicationSite
- Set-ADReplicationSiteLink
- Set-ADReplicationSiteLinkBridge
- Set-ADReplicationSubnet
- Set-ADResourceProperty
- Set-ADResourcePropertyList
- Set-ADServiceAccount
- Set-ADUser
- Show-ADAuthenticationPolicyExpression
- Sync-ADObject
- Test-ADServiceAccount
- Uninstall-ADServiceAccount
- Unlock-ADAccount