programing

다른 도메인으로 전환하고 사용자를 얻는 방법

telecom 2023. 9. 7. 21:30
반응형

다른 도메인으로 전환하고 사용자를 얻는 방법

저는 A 도메인 아래 서버에 있습니다.사용할 수 있습니다Get-ADUser잘 작동하고 있습니다.

이제 A 도메인과 B 도메인 사이에 신뢰가 구축되었습니다.도메인 B로 전환해서 모든 사용자를 확보하고 싶습니다.OU=New Users, DC=DomainB, DC=com.

이것들을 시도해 보았는데 오류가 납니다.

$FetchDomainB = Get-ADUser -SearchBase "OU=New Users, DC=DomainB, DC=com"

필터를 요청하고 이메일 주소를 입력하면 "아래 dc=DomainA,dc=net에 고유 이름 제공"이라는 오류가 발생합니다.

다음 코드에 대해서도 동일한 오류가 발생합니다.

PS C:\> $test = Get-ADUser -SearchBase "dc=DomainB,dc=com" -filter {EmailAddress -like "*Smith_Karla*"} -Properties EmailAddress

도메인 B에서 DC를 지정해 보십시오.-Server소유물.예:

Get-ADUser -Server "dc01.DomainB.local" -Filter {EmailAddress -like "*Smith_Karla*"} -Properties EmailAddress

도메인 컨트롤러의 이름을 상속받지 못하면 가장 가까운 도메인 컨트롤러를 얻을 수 있고, 도메인 컨트롤러의 호스트 이름을 전달할 수 있습니다.-Server논쟁.

$dc = Get-ADDomainController -DomainName example.com -Discover -NextClosestSite

Get-ADUser -Server $dc.HostName[0] `
    -Filter { EmailAddress -Like "*Smith_Karla*" } `
    -Properties EmailAddress
get-aduser -Server "servername" -Identity %username% -Properties *

get-aduser -Server "testdomain.test.net" -Identity testuser -Properties *

사용자 이름이 있을 때 이러한 기능이 작동합니다.또한 타이핑하는 것이 사용하는 것보다 적습니다.-filter소유물.

편집: 포맷.

Drew Chapin과 여러분 모두에게 최고의 솔루션 TNX를 제공합니다.

도메인 컨트롤러의 이름을 상속받지 못하면 가장 가까운 도메인 컨트롤러를 얻을 수 있고, 도메인 컨트롤러의 호스트 이름을 -Server 인수에 전달할 수 있습니다.

$dc = Get-ADDomainController -DomainName example.com -Discover -NextClosestSite

Get-ADUser -Server $dc.HostName[0] `
    -Filter { EmailAddress -Like "*Smith_Karla*" } `
    -Properties EmailAddress

내 대본:

$dc = Get-ADDomainController -DomainName example.com -Discover -NextClosestSite
 Get-ADUser -Server $dc.HostName[0] ` -Filter { EmailAddress -Like "*Smith_Karla*" } `  -Properties EmailAddress | Export-CSV "C:\Scripts\Email.csv

아래 스크립트를 사용하여 여러 도메인에서 차례로 시도할 수 있습니다.

여기서는 먼저 도메인에 사용자가 있는지 확인하고, 확인하면 이메일 주소를 받습니다.그렇지 않으면 다음 도메인에서 확인합니다.

$users = Get-Content D:\UserBase\users.txt
 foreach($user in $users)
 {
     if([bool] (Get-ADUser -Filter { SamAccountName -eq $user } -Server DomainA.com))
     {
        Get-ADUser -Filter { SamAccountName -eq $user } -Server DomainA.com -Properties Mail |Select-Object -ExpandProperty Mail  | Out-file D:\UserBase\emails.txt -Append
     } 
     elseif([bool] (Get-ADUser -Filter { SamAccountName -eq $user } -Server DomainB.com))
     {
      Get-ADUser -Filter { SamAccountName -eq $user } -Server DomainB.com -Properties Mail |Select-Object -ExpandProperty Mail  | Out-file D:\UserBase\emails.txt -Append
     } 

또한 아래 스크립트를 사용하여 조직의 도메인 목록을 가져올 수 있습니다.

  $ForestObj = Get-ADForest -Server $env:USERDOMAIN
foreach($Domain in $ForestObj.Domains) {
    Get-ADDomainController -Filter * -Server $Domain | select Domain,HostName,Site
    }

언급URL : https://stackoverflow.com/questions/27533084/how-to-switch-to-another-domain-and-get-aduser

반응형