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





Я считаю, что проблема в том, что вы обращаетесь к почтовому ящику, к которому никогда не обращались нормально. Можете ли вы попробовать это с почтовым ящиком, который, как вы знаете, открыл и с которым работал? Или это уже так?
Кроме того, поскольку в настоящий момент у меня нет доступа к моей машине 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
Может ли лучший способ найти офисное свойство в Active Directory - привязать свойство GUID? Я заметил, что у get-mailboxstatistics есть mailboxguid, а у get-user есть свойство guid.