1

みんな私はこの独特の問題を抱えており、答えを求めて頭を踏みにじっています。私は基本的に2つの優れた実行スクリプトを持っていますが、それらを組み合わせる必要があります。何らかの理由でこれが機能せず、すべての種類の構文PowerShellエラーが発生します。

正しく動作する最初のスクリプト。2番目のスクリプトについては、以下を参照してください

Get-Content c:\list.txt | foreach {
    Get-Mailboxstatistics -id $_ | foreach{
        $mbx = $_ | select DisplayName, @{Label=’MailboxSize("MB")’;Expression={$_.TotalItemSize/1MB}}, ItemCount
        $date_captured=get-date | select datetime

        Get-Mailbox -id $_ | foreach{
            $mbx | add-member -type noteProperty -name Alias -value $_.Alias
            $mbx | add-member -type noteProperty -name ServerName -value $_.ServerName
            $mbx | add-member -type noteProperty -name ProhibitSendReceiveQuota -value $.ProhibitSendReceiveQuota 
            $mbx | add-member -type noteProperty -name UseDatabaseQuotaDefaults -value $.UseDatabaseQuotaDefaults 
            $mbx | add-member -type noteProperty -name IssueWarningQuota -value $_.IssueWarningQuota
        } $mbx, $date_captured

    }

}

これが実行される2番目のコマンドです。これはそれ自体でうまく機能し、もう一度試みます

これを上記のコマンドと組み合わせると失敗します。

get-mailboxfolderstatistics -id "alias" | select name, foldersize, itemsinfolder

今私が達成しようとしているのは、私の出力を以下のようなものにすることです。

DisplayName MailboxSize( "MB")ItemCount
Alias ServerName
ProhibitSendReceiveQuota UseDatabaseQuotaDefaults IssueWarningQuota

日時:2012年4月10日火曜日16:04:28

名前FoldersizeItemsinfoldertopofinfromationstore03カレンダー123454
受信ボックス1024785241送信済みアイテム1474554削除済みアイテム5414745875

4

2 に答える 2

1

両方のコマンドの出力をログに記録するために使用できOut-Fileます。例:

<first-command> | Out-File c:\log.txt
<second-command> | Out-File c:\log.txt -Append

または、リダイレクト演算子を使用する場合:

<first-command>   > c:\log.txt
<second-command> >> c:\log.txt
于 2012-04-11T01:38:57.453 に答える
1

あなたの質問に従うと、あなたがやりたいことは、2 つのコマンドの結果を組み合わせて、新しいオブジェクトを作成することです。このコードは、目的と思われる値を使用してカスタム オブジェクトをパイプラインに書き込みます。ファイルに保存するには、スクリプトを実行し、それを Out-File などにパイプします。

Get-Content c:\list.txt | foreach {
Get-Mailboxstatistics -id $_ | foreach-object {
    #define a hash table of properties
    $size=($_.TotalItemSize)/1MB
    $props=@{
    MailboxSizeMB=$size;
    Displayname=$_.DisplayName;
    ItemCount=$_.ItemCount;
    DateCaptured=Get-Date;
    } #close hash

    Get-Mailbox -id $_ | foreach-object {
        $props.Add("Alias",$_.Alias)
        $props.Add("ServerName",$_.ServerName)
        $props.Add("ProhibitSendReceiveQuota",$_.ProhibitSendReceiveQuota)
        $props.Add("UseDatabaseQuotaDefaults",$_.UseDatabaseQuotaDefaults)
        $props.Add("IssueWarningQuota",$_.IssueWarningQuota)
    } #foreach mailbox

    #write a custom object
    New-Object -TypeName PSObject -Property $props

} #foreach mailboxstatistic

#foreach コンテンツ

于 2012-04-11T18:04:10.893 に答える