다른 도메인으로 전환하고 사용자를 얻는 방법
저는 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
'programing' 카테고리의 다른 글
Oracle - 하나의 쿼리에 여러 개의 테이블 드롭 (0) | 2023.09.07 |
---|---|
NETWORK_ERROR: XMLHttpRequest 예외 101 (0) | 2023.09.07 |
MariaDB 대 Mysql 쿼리 문제 (0) | 2023.09.07 |
멀티파트예외:현재 요청이 다중 부품 요청이 아닙니다. (0) | 2023.09.07 |
Angular 2에서 페이지에 페이지를 다시 로드하는 방법은 무엇입니까? (0) | 2023.09.07 |