我可以在一個窗體,將搜索所有連接的驅動器的PST文件。填充datagridview
我可以得到它使用以下命令工作: -
Get-PSDrive -PSProvider "filesystem"|%{get-childitem $_.root -include *.pst -r}|select name, directoryname, @{name="Size (GB)";expression ={"{0:N2}" -f ($_.length/1GB)}}
唯一的問題是它需要大約45分鐘通過所有驅動器運行並完成搜索。我想通過使用Windows搜索索引來加快速度。
我有這個....
function Searchindex{
$query="SELECT System.ItemName, system.ItemPathDisplay, System.ItemTypeText, System.Size FROM SystemIndex where system.itemtypetext = 'outlook data file'"
$objConnection = New-Object -ComObject adodb.connection
$objrecordset = New-Object -ComObject adodb.recordset
$objconnection.open("Provider=Search.CollatorDSO;Extended Properties='Application=Windows';")
$objrecordset.open($query, $objConnection)
[email protected]()
Try { $objrecordset.MoveFirst() }
Catch [system.exception] { "no records returned" }
do
{
Write-host ($objrecordset.Fields.Item("System.ItemName")).value `
($objrecordset.Fields.Item("System.ItemPathDisplay")).value `
($objrecordset.Fields.Item("System.ITemTypeText")).value `
($objrecordset.Fields.Item("System.Size")).value
if(-not($objrecordset.EOF)) {$objrecordset.MoveNext()}
} Until ($objrecordset.EOF)
$objrecordset.Close()
$objConnection.Close()
$objrecordset = $null
$objConnection = $null
[gc]::collect()
}
這個輸出在幾秒鐘這是完美的細節畫面,但我不能工作,如何在數據網格視圖中顯示它。
我正在使用原始表單來創建表單。
一旦數據被填充在我希望能夠選擇記錄並將它們複製到新的位置
誰能幫助DataGridView的?
TIA
安迪
這工作得很好謝謝。我怎樣才能得到輸出顯示在列中? – 2015-02-08 16:34:59
你是在談論'DataGridView'還是'Out-GridView'?原因'Out-GridView'默認顯示列? – Matt 2015-02-08 16:59:06
Datagridview理想情況下 – 2015-02-08 17:41:11