Exchange PowerShell: поиск офисного свойства Active Directory

Я написал этот небольшой скрипт, чтобы получить свойство 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 

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

WARNING:There is no data to return for the specifed mailbox 'Globe/MobileElect Usertemplate', because it has not been logged on to. WARNING:By default only the first 1000 items are returned. To change the number of items returned, specify the parameter "-ResultSize". To return all items specify "-ResultSize Unilimited" (Note: REturning all items maytake a long time and consume a large amount of memory depending on the actual number of items). It is not recommended to store the results in a variable; instead pipe the results to another task or script to perform batch changes.

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

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

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

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

Я пробовал бежать

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

и он нашел имя (joey blasio) и тип получателя (почтовый ящик пользователя)

потом я побежал

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

Displayname (Joey Blasio ) and DistinguishedName (CN=Joey Blasio,OU=EWE,DC=BLA-1,DC=net)

Может ли лучший способ найти офисное свойство в Active Directory - привязать свойство GUID? Я заметил, что у get-mailboxstatistics есть mailboxguid, а у get-user есть свойство guid.

phill 03.12.2008 00:53
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
3 489
2

Ответы 2

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

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

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

Это делает 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 

Другие вопросы по теме