exchange powershell: поиск свойства активного каталога - PullRequest
0 голосов
/ 03 декабря 2008

Я написал этот небольшой скрипт для извлечения свойства office из get-user путем передачи объекта почтового ящика exchange.

$server = "tms08"
$arrUser = get-mailbox -Server $server |Get-MailboxStatistics |select identity
foreach ( $id in $arrUuser)
{
    $office = get-user -Identity $id.Identity |select office
    $out += $id.Identity 
}
$out 

Я не получаю вывод или красные ошибки. только предупреждение:

ВНИМАНИЕ: Нет данных для возврата указанный почтовый ящик 'Globe / MobileElect Usertemplate', потому что он не вошел в систему. ВНИМАНИЕ: по умолчанию только первая 1000 предметы возвращаются. Чтобы изменить количество возвращенных предметов, укажите параметр "-ResultSize". Вернуть все элементы указывают "-ResultSize Unilimited" (Примечание: возврат всех предметов может занять долго и потреблять большое количество памяти в зависимости от фактического Количество предметов). Это не рекомендуется хранить результаты в переменная; вместо того, чтобы передать результаты в другая задача или скрипт для выполнения пакетные изменения.

Есть идеи о том, что может быть причиной этого?

Моя цель - разработать сценарий, который выполняется один раз в день с помощью запланированной задачи, которая собирает все имена почтовых ящиков, размеры почтовых ящиков, итоговые элементы, итоговые удаленные элементы, а также их поля office и description (из активного каталога).

Полагаю, get-qaduser является частью квестового дополнения PowerShell. Я установлю его локально и попробую ..

свойство identiy, похоже, дает число, похожее на guid, которое выглядит как 1234as01-4f54-1234-b1df-f1df1df12d2d

Я пытался запустить

get-user -identity 1234as01-4f54-1234-b1df-f1df1df12d2d  

и он нашел имя (joey blasio) и тип получателя (usermailbox)

тогда я побежал

get-user -Identity 1234as01-4f54-1234-b1df-f1df1df12d2d | select displayname, distinguistedname  

Отображаемое имя (Joey Blasio) и DistinguishedName (CN = Joey Blasio, OU = EWE, DC = Л-1, DC = нетто)

Ответы [ 2 ]

0 голосов
/ 03 декабря 2008

Это сделано DisplayName

$exchangeservers = Get-MailboxServer
$AllUsers = @()
$AllUsersEmail = @()

foreach ($server in $exchangeservers)
{
    $AllUsers += Get-Mailbox -Server $server |Get-MailboxStatistics |select servername,displayname,itemcount,totalitemsize
}

foreach ($user in $AllUsers)
{
    $obj = new-object psObject
    $mailinfo = get-mailbox -identity $user.displayname |select PrimarySMTPAddress,Office, DistinguishedName
    $tmp = [adsi]("LDAP://" +  $mailinfo.DistinguishedName)


    $obj |Add-Member -MemberType noteproperty -Name "Server Name" -Value $user.ServerName
    $obj |Add-Member -MemberType noteproperty -Name "Display Name" -Value $user.DisplayName
    $obj |Add-Member -MemberType noteproperty -Name "Item Count" -Value $user.ItemCount
    $obj |Add-Member -MemberType noteproperty -Name "Total Item Size" -Value $user.TotalItemSize
    $obj |Add-Member -MemberType noteproperty -Name "Email Address" -Value $mailinfo.PrimarySMTPAddress
    $obj |Add-Member -MemberType noteproperty -Name "Office" -Value $mailinfo.Office
    $obj |Add-Member -MemberType noteproperty -Name "Description" -Value $tmp.description

    $AllUsersEmail += $obj
}

$AllUsersEmail |Export-Csv c:\test.csv -NoTypeInformation 
0 голосов
/ 03 декабря 2008

Я считаю, что проблема в том, что вы получаете доступ к почтовому ящику, к которому никогда не обращались нормально. Можете ли вы попробовать это с почтовым ящиком, который, как вы знаете, открылся и работал с владельцем? Или это уже так?

Кроме того, поскольку у меня нет доступа к моей машине Exchange в настоящее время, вы можете дать мне представление о том, что содержит свойство Identity? Я абсолютно уверен, что использование командлета Get-QADUser вместо Get-User в Exchange в конечном итоге принесет вам больше удовольствия. Нам просто нужно связать правильное свойство из Get-MailboxStatistics с тем, что может потреблять Get-QADUser, чтобы оно могло предоставить вам нужного пользователя.

Также было бы немного полезно понять, какова ваша конечная цель - возможно, есть совершенно другой подход, который приведет вас туда, где вы хотите быть.

...