2014-09-03 93 views
0

我想以表格格式顯示我的查詢結果,所以頭只出現一次在頂部和它下面的數據。下面的代碼爲每個創建的行重複標題。使用FT-Auto時有沒有辦法解決這個問題? TIA格式表不能正常工作

樣本輸出:

Name Number of computers Package advertised Success Remaining computers 

CH   19     0  0     19 

foreach ($ou in $ou_l) 
{ 

    $cmplist=get-adcomputer -Filter "cn -like '*L'" -searchbase $ou.distinguishedname -Properties memberof 
    $testcmplist=$cmplist | where {$_.memberof -like "*Test(P)*"} 
    $NOTcmplist=$cmplist | where {$_.memberof -ne "Test(P)"} 
    $pkgadv=$cmplist | where {$Members -LIKE $_.Name} 
    $ou| select Name, 
    @{n="Number of computers";e={$cmplist.count}}, 
    @{n="Package advertised";e={$testcmplist.count }}, 
     @{n="Success";e={$pkgadv.Count }}, 
     @{n="Remaining computers";e={$NOTcmplist.count }} | ft -auto 
} 
+0

你能提供你的輸出樣本嗎? – nabrond 2014-09-03 12:48:00

+0

當然,我只是更新到它目前顯示的內容。我希望它只是一個頭和它下面的數據? – user1342164 2014-09-03 12:53:27

+0

好的,所以你希望所有的OU在單個表格內報告,現在你得到每個OU的單獨表格。 – nabrond 2014-09-03 12:54:36

回答

1

它應該是爲你的格式,表格的呼叫轉移到foreach循環外這樣

$ou_l | ForEach-Object { 
    $ou = $_ 

    $cmplist=get-adcomputer -Filter "cn -like '*L'" -searchbase $ou.distinguishedname -Properties memberof 
    $testcmplist=$cmplist | where {$_.memberof -like "*Test(P)*"} 
    $NOTcmplist=$cmplist | where {$_.memberof -ne "Test(P)"} 
    $pkgadv=$cmplist | where {$Members -LIKE $_.Name} 

    $ou | Select Name, ` 
     @{n="Number of computers";e={$cmplist.count}}, ` 
     @{n="Package advertised";e={$testcmplist.count }}, ` 
     @{n="Success";e={$pkgadv.Count }}, ` 
     @{n="Remaining computers";e={$NOTcmplist.count }} 
} | Format-Table -AutoSize 

當你有那麼簡單它被寫入,每條記錄將被格式化爲單獨的表格,而不是調整後的記錄列表。

+0

當我嘗試,我得到的是一個「空管道是不允許的錯誤? – user1342164 2014-09-03 13:03:21

+0

我修改了代碼,包括'允許選擇在幾個線運行。 – nabrond 2014-09-03 13:04:37

+0

我不看不到其中的「爲 – user1342164 2014-09-03 13:06:29