2012-05-17 96 views
0

林試圖學習的PowerScript,並想知道我做錯了什麼在這裏>如何將用戶信息添加到PowerShell的表

Foreach($result in $results){ 
$userEntry = $result.GetDirectoryEntry() 

$row = $table.NewRow() 
$row.Name = $userEntry.displayName 
$row.UserID = $userEntry.sAMAccountName 
$row.Department = $userEntry.department 

$table.Rows.Add($row) 
} 

我要的是對用戶數據輸出到的正常細胞的我表中,但什麼我得到的是「System.DirectoryServices.PropertyValueCollection」在每個小區重複。

當我使用相同的格式,但與

Foreach($result in $results){ 
$userEntry = $result.GetDirectoryEntry() 
Write-Output('' + "Name: " + $userEntry.displayName + "`r`n" + " " +"AccountInfo:" +$userEntry.sAMAccountName + "`r`n" + " " + "Dept: " + $userEntry.department) 

} 

輸出這是正確

表格信息有什麼區別?

謝謝大家,我現在希望這個信息添加到工作表,已經是目前爲:

#Excel worksheet 
$objExcel = new-object -comobject excel.application 
$objExcel.Visible = $True 
$objWorkbook = $objExcel.Workbooks.Add() 
$objWorksheet = $objWorkbook.Worksheets.Item(1) 

,但現在我將如何得到我的foreach語句值並將其打印在Excel工作表,或到用該語句創建的工作簿上?

+0

NVM得到它,最後不得不到我的格式交換到更多的東西迭代>的foreach($在$結果) {userItem = $ result.GetDirectoryEntry() $ item.Cells.Item($ i,1)= $ userEntry.displayName.value $ item.Cells.Item($ I,2)= $ userEntry.sAMAccountName.value $ item.Cells.Item($ I,3)= $ userEntry.department.value $ I ++ }多謝你們! FNG格式化 – LinksTune

回答

3

嘗試使用Value屬性

$ user.propertyName.value

+0

完美無瑕地謝謝你, – LinksTune

2

我想說的答案是你的$ user.Foo類型和方式PowerShell的處理集合。比較:

$user.Foo | Get-Member 

, $user.Foo | Get-Member 

因爲$ user.Foo 看起來像一個標量,但實際上集合中,$ row.Foo = $ user.Foo將顯示類型,而不是價值。

你會如何解決它?有兩個選項:

$row.Foo = -join $user.Foo 

$row.Foo = $user.Foo[0] 

HTH 鮑爾泰克

相關問題