Windows PowerShell용 Active Directory 모듈 도메인을 관리하고 Active Directory에서 개체를 관리하며 AD 컴퓨터, 사용자, 그룹 등에 대한 다양한 정보를 얻는 주요 도구 중 하나입니다. 모든 Windows 관리자는 두 AD 그래픽 스냅인(일반적으로 ADUC – Active Directory 사용자 및 컴퓨터) 및 RSAT-AD-PowerShell
의 cmdlet 일상적인 Active Directory 관리 작업을 수행하기 위한 모듈입니다. 이 기사에서는 Windows에 PowerShell Active Directory 모듈을 설치하고 AD를 관리하고 상호 작용하는 데 유용한 기본 기능 및 인기 있는 cmdlet을 찾는 방법을 살펴봅니다.
Windows 서버에 Powershell Active Directory 모듈 설치
Windows PowerShell용 Active Directory는 이미 Windows Server 운영 체제(Windows Server 2008 R2부터)에 내장되어 있지만 기본적으로 활성화되어 있지 않습니다.
Windows Server 2016의 경우 서버 관리자에서 PowerShell 모듈용 AD를 설치할 수 있습니다. (역할 및 기능 추가 -> 기능 -> 원격 서버 관리 도구 -> 역할 관리 도구 -> AD DS 및 AD LDS 도구 -> Windows PowerShell용 Active Directory 모듈 ).
다음 명령을 사용하여 PowerShell 콘솔에서 모듈을 설치할 수도 있습니다.
Install-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature
RSAT-AD-PowerShell을 설치할 수 있습니다. 도메인 컨트롤러뿐만 아니라. 모든 도메인 구성원 서버 또는 워크스테이션에서도 가능합니다. PowerShell Active Directory 모듈은 Active Directory 도메인 서비스를 배포할 때 자동으로 설치됩니다. (AD DS) 역할(서버를 AD 도메인 컨트롤러로 승격할 때).
모듈은 Active Directory 웹 서비스를 통해 AD와 상호 작용합니다. 도메인 컨트롤러에 설치해야 합니다(통신은 TCP 포트 9389를 통해 수행됨). ).
Windows 10에 PowerShell Active Directory 모듈을 설치하는 방법
RSAT-AD-PowerShell을 설치할 수 있습니다. 모듈은 Windows Server뿐만 아니라 워크스테이션에서도 사용할 수 있습니다. 이 모듈은 RSAT의 일부입니다. (원격 서버 관리 도구) 패키지는 Windows 7, Windows 8.1에서 수동으로 다운로드하여 설치할 수 있습니다. RSAT를 설치한 후 제어판(제어판 -> 프로그램 및 기능 -> Windows 기능 켜기 또는 끄기 -> 원격 서버 관리 도구 -> 역할 관리 도구 -> AD DS)에서 PowerShell용 Active Directory 모듈을 설치할 수 있습니다. 및 AD LDS 도구).
Windows 10 빌드 1809 이상에서 RSAT 패키지는 Windows 이미지에 통합되므로(주문형 기능으로) 이 PowerShell 명령을 사용하여 Active Directory 모듈을 설치할 수 있습니다.
Add-WindowsCapability –online –Name “Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0”
Active Directory PowerShell cmdlet
Windows PowerShell용 Active Directory 모듈에는 AD와 상호 작용하는 cmdlet이 많이 있습니다. 각각의 새 RSAT 버전에는 이전 버전보다 더 많은 cmdlet이 포함되어 있습니다. Windows Server 2016에는 Active Directory용으로 147개의 PowerShell cmdlet을 사용할 수 있습니다.
Active Directory 모듈의 cmdlet을 사용하기 전에 이를 PowerShell 세션으로 가져와야 합니다(Windows Server 2012 R2/Windows 8.1 이상에서는 모듈을 자동으로 가져옴).
Import-Module ActiveDirectory
$psSess = New-PSSession -ComputerName DC_or_Comp_with_ADPoSh_installed
Import-Module -PSsession $psSess -Name ActiveDirectory
다음 명령을 사용하여 사용 가능한 Active Directory cmdlet의 전체 목록을 표시할 수 있습니다.
Get-Command –module ActiveDirectory
AD 모듈의 총 cmdlet 수:
Get-Command –module ActiveDirectory |measure-object|select count
대부분의 RSAT-AD-PowerShell cmdlet은 Get-
에서 시작합니다. , Set-
또는 New-
접두사.
- 얻기 – 클래스 cmdlet은 Active Directory에서 다른 정보를 가져오는 데 사용됩니다(Get-ADUser — 사용자 속성, Get-ADComputer – 컴퓨터 설정, Get-ADGroupMember — 그룹 멤버십 등). 그것들을 실행하기 위해 도메인 관리자가 될 필요는 없습니다. 모든 도메인 사용자는 PowerShell 명령을 실행하여 AD 개체 속성 값을 가져올 수 있습니다(LAPS의 예와 같이 기밀 속성 제외).
- 설정- class cmdlet은 Active Directory에서 개체 설정을 지정(변경)하는 데 사용됩니다. 예를 들어 사용자 속성(Set-ADUser ), 컴퓨터 설정(Set-ADComputer ), 그룹에 사용자 추가 등을 수행하려면 계정에 개체 속성을 수정할 수 있는 권한이 있어야 합니다(Active Directory에서 관리자 권한을 위임하는 방법 문서 참조).
- New-로 시작하는 명령 AD 개체 생성 가능(사용자 생성 — New-ADUser , 그룹 만들기 — New-ADGroup );
- 제거- cmdlet은 AD 개체를 삭제하는 데 사용됩니다.
다음은 cmdlet에 대한 도움말을 얻는 방법입니다.
get-help Set-ADUser
다음과 같이 Active Directory cmdlet을 사용하는 예를 표시할 수 있습니다.
(get-help New-ADComputer).examples
PowerShell ISE에서 cmdlet 매개변수를 입력할 때 팝업 힌트를 사용하면 편리합니다.
RSAT-AD-PowerShell 모듈을 사용한 Active Directory 관리
PowerShell cmdlet용 Active Directory를 사용하여 수행할 수 있는 관리자의 몇 가지 일반적인 작업을 살펴보겠습니다.
WOSHub 웹 사이트에서 PowerShell cmdlet에 AD를 사용하는 방법에 대한 몇 가지 유용한 예를 찾을 수 있습니다. 자세한 지침을 보려면 링크를 따르십시오.New-ADUser:AD 사용자 생성
새 AD 사용자를 만들려면 New-ADUser를 사용할 수 있습니다. cmdlet. 다음 명령으로 사용자를 만들 수 있습니다.
New-ADUser -Name "Mila Beck" -GivenName "Mila" -Surname "Beck" -SamAccountName "mbeck" -UserPrincipalName "[email protected]" -Path "OU=Users,OU=Berlin,OU=DE,DC=woshub,DC=com" -AccountPassword(Read-Host -AsSecureString "Input User Password") -Enabled $true
New-ADUser cmdlet에 대한 자세한 내용(사용자 도메인 계정을 대량으로 만드는 방법에 대한 예 포함)은 이 문서를 참조하세요.
Get-ADComputer:컴퓨터 속성 가져오기
특정 OU의 컴퓨터 속성에 대한 정보(컴퓨터 이름 및 마지막 로그온 날짜)를 표시하려면 Get-ADComputer cmdlet을 사용합니다.
Get-ADComputer -SearchBase ‘OU=CA,OU=USA,DC=woshub,DC=com’ -Filter * -Properties * | FT Name, LastLogonDate -Autosize
Add-AdGroupMember:그룹에 AD 사용자 추가
AD 도메인의 기존 보안 그룹에 사용자를 추가하려면 다음 명령을 실행하십시오.
Add-AdGroupMember -Identity LondonSales -Members e.braun, l.wolf
AD 그룹의 사용자 목록을 표시하고 CSV 파일로 내보냅니다.
Get-ADGroupMember LondonSales -recursive| ft samaccountname| Out-File c:\ps\export_ad_users.csv
PowerShell에서 AD 그룹 관리에 대해 자세히 알아보세요.
Set-ADAccountPassword:AD에서 사용자 비밀번호 재설정
PowerShell에서 AD 사용자 암호를 재설정하려면 다음 명령을 실행하십시오.
Set-ADAccountPassword m.lorenz -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “Ne8Pa$$0rd1” -Force -Verbose) –PassThru
AD 계정의 잠금을 해제, 활성화 및 비활성화하는 방법은 무엇입니까?
AD 사용자 계정을 비활성화하려면:
Disable-ADAccount m.lorenz
계정을 활성화하려면:
Enable-ADAccount m.lorenz
도메인 암호 정책에 의해 차단된 계정을 잠금 해제하려면:
Unlock-ADAccount m.lorenz
Search-ADA계정:비활성 및 비활성화된 개체를 찾는 방법
90일 이상 로그온하지 않은 AD 도메인의 모든 컴퓨터를 찾아 비활성화하려면 Search-ADAccount cmdlet을 사용하십시오.
$timespan = New-Timespan –Days 90
Search-ADAccount -AccountInactive -ComputersOnly –TimeSpan $timespan | Disable-ADAccount
New-ADOrganizationalUnit:AD에서 조직 단위 만들기
AD에서 일반적인 조직 구성 단위 구조를 빠르게 만들기 위해 PowerShell 스크립트를 사용할 수 있습니다. 상태를 이름으로 사용하여 여러 OU를 만들고 그 안에 일반적인 개체 컨테이너를 만들고 싶다고 가정합니다. 그래픽 ADUC 스냅인을 통해 이 AD 구조를 수동으로 만드는 데는 상당한 시간이 걸립니다. PowerShell용 AD 모듈을 사용하면 몇 초 만에 완료할 수 있습니다(스크립트 작성 시간 제외):
$fqdn = Get-ADDomain
$fulldomain = $fqdn.DNSRoot
$domain = $fulldomain.split(".")
$Dom = $domain[0]
$Ext = $domain[1]
$Sites = ("Nevada","Texas","California","Florida")
$Services = ("Users","Admins","Computers","Servers","Contacts","Service Accounts")
$FirstOU ="USA"
New-ADOrganizationalUnit -Name $FirstOU -Description $FirstOU -Path "DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
foreach ($S in $Sites)
{
New-ADOrganizationalUnit -Name $S -Description "$S" -Path "OU=$FirstOU,DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
foreach ($Serv in $Services)
{
New-ADOrganizationalUnit -Name $Serv -Description "$S $Serv" -Path "OU=$S,OU=$FirstOU,DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
}
}
스크립트를 실행하면 Active Directory에 다음과 같은 OU 구조가 나타납니다.
AD 컨테이너 간에 개체를 이동하려면 Move-ADObject를 사용할 수 있습니다. cmdlet:
$TargetOU = "OU=Sales,OU=Computers,DC=woshub,DC=com"
Get-ADComputer -Filter 'Name -like "SalesPC*"' | Move-ADObject -TargetPath $TargetOU
Get-ADReplicationFailure:AD 복제 실패 확인
Get-ADReplicationFailure cmdlet을 사용하여 AD 도메인 컨트롤러 간의 복제 상태를 확인할 수 있습니다.
Get-ADReplicationFailure -Target NY-DC01,NY-DC02
도메인의 모든 DC에 대한 정보를 얻으려면 Get-AdDomainController를 사용하세요. cmdlet:
Get-ADDomainController –filter * | select hostname,IPv4Address,IsGlobalCatalog,IsReadOnly,OperatingSystem | format-table –auto
그래서 AD 도메인을 관리하기 위한 Active Directory PowerShell 모듈의 기본 기능을 살펴보았습니다. 이 모듈의 다른 기능을 추가로 탐색하고 대부분의 AD 관리 작업을 자동화하는 데 도움이 되기를 바랍니다.