2014-10-23 4 views
0

암호가 관리자의 이름과 함께 7 일 후에 만료되는 사용자 목록을 얻으려고합니다.만료일 및 관리자 이름이 포함 된 계정

Search-ADAccount -SearchBase "O..." -AccountExpiring -TimeSpan 07.00:00:00 | ` 
where {$_.ObjectClass -eq 'user'} | ` 
Get-ADUser -Properties Name, Manager, AccountExpirationDate | ` 
Select Name, Manager, AccountExpirationDate | Out-GridView -notype 

문제는 내가 관리자의 모든 객체를 얻고 난 단지 자신의 표시 이름을 원하는 것입니다 :

이것은 나의 추측이다.

Select-Object Name, @{n="ManagerName";e={(Get-ADUser -Identity $_.Manager -Properties displayName).DisplayName}} 

가 그걸 얻기 위해,하지만 난 내 스크립트에 맞게 얻을 수 없습니다

은 내가 사용할 수 있음을 읽어 보시기 바랍니다.

+0

"내 최고의 추측"이란 무엇을 의미합니까? 실행 해 보셨습니까? 오류가 있습니까? – arco444

+0

나는 첫 번째 부분을 실행하고 작동하지만 두 번째 것을 통합 할 수 없다는 것을 의미합니다. – Christian

답변

0

코드의이 부분에서 속성 Manager 바꾸기 : 계산 된 속성

... | Select Name, Manager, AccountExpirationDate | ...

:

... | Select Name, @{n="ManagerName";e={(Get-ADUser -Identity $_.Manager -Properties displayName).DisplayName}}, AccountExpirationDate | ...
+0

매력처럼 작동합니다. – Christian

0

이것은 당신이 큰이를 실행하는 경우 매우 느린 될 것입니다 도메인. 계산 된 속성은 매우 느립니다. 나는 this on my blog에 관해 썼다. 원하는 내용을 얻으려면 다음과 같이하여 단일 Get-AdUser cmdlet을 사용하십시오.

$7DaysAgo = (Get-Date).AddDays(-7) 
$Today = Get-Date 

Get-ADUser -Filter {Enabled -eq $true } -Properties AccountExpirationDate,Manager | Where-Object { ($AccountExpirationDate -ge $7DaysAgo) -and ($AccountExpirationDate -lt $Today)} | Select-Object Name,Manager,AccountExpirationDate | Out-GridView 
+0

안녕하세요, 이것은 만료되지 않은 암호 만료에 기반한 데이터를 반환합니다 ... – Christian

+0

내 대답을 편집했습니다. AccountExpirationDate는 Get-AdUser를 사용하는 기본 속성이므로 훨씬 쉬워집니다. –