0

Exchange メールボックス オブジェクトをパイプすることにより、get-user から office プロパティをプルするこの小さなスクリプトを作成しました。

$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」を指定します (注: 実際のアイテム数によっては、すべてのアイテムを返すのに時間がかかり、大量のメモリを消費する場合があります)。結果を変数に格納することはお勧めしません。代わりに、結果を別のタスクまたはスクリプトにパイプしてバッチ変更を実行します。

これを引き起こしている可能性のあるアイデアはありますか?

私の目標は、すべてのメールボックス名、メールボックス サイズ、totalitems、totaldeleted アイテムを (Active Directory から) オフィスおよび説明フィールドと共にコンパイルするスケジュールされたタスクを介して 1 日 1 回実行されるスクリプトを開発することです。

get-qaduser は、クエストの powershell アドオンの一部であると推測しています。ローカルにインストールして試してみます..

identiy プロパティは、1234as01-4f54-1234-b1df-f1df1df12d2d のような GUID に似た番号を与えるようです

走ってみた

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

名前 (joey blasio) と受信者の種類 (usermailbox) が見つかりました。

それから私は走った

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

表示名 (Joey Blasio ) および識別名 (CN=Joey Blasio、OU=EWE、DC=BLA-1、DC=net)

4

2 に答える 2

0

問題は、通常はアクセスされたことのないメールボックスにアクセスしていることだと思います。所有者が開いて操作したことがわかっているメールボックスでこれを試すことができますか? それともすでにそうなっていますか?

また、現在 Exchange マシンにアクセスできないので、Identity プロパティに何が含まれているか教えていただけますか? Get-QADUserExchangeGet-Userの場合と同様にコマンドレットを使用すると、最終的にはより満足できるものになると確信しています。適切なユーザーを取得できるように、適切なプロパティGet-MailboxStatisticsを何かが消費できるようにメッシュ化する必要があるだけです。Get-QADUser

また、最終目標が何であるかを理解することも少し役立つかもしれません。おそらく、あなたがなりたい場所にたどり着くためのまったく異なるアプローチがあるかもしれません.

于 2008-12-02T22:28:53.340 に答える
0

それはによって行われます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 
于 2008-12-03T00:25:59.827 に答える