問題:Sapien Powershell Studioで次のコードを使用すると、コンピュータ名が正しく返されますが、コンピュータの説明は1行として返されます。言い換えれば、すべてのコンピュータ記述は分離されておらず、1つの長いリストとして現れる。リストボックスのforeachループ
Out-Stringが削除された場合は、1つのコンピュータの説明のみが返されます。
私はテキストボックスに出力する際には、以前は基本的に同じコードを使用していましたが、問題はありませんでした。
$searchbutton_Click={
#TODO: Place custom script here
$computerlist.Items.clear()
$username = "*" + $searchbox.text + "*"
$computers = Get-ADComputer -Filter { Description -like $username } -
Properties description | select -expand name
foreach ($computer in $computers)
{
$compdescription = (Get-ADComputer -Filter { Description -like $username
} -Properties description).description | out-string
$results = New-Object System.Windows.Forms.listviewitem($computer)
$results.subitems.add($compdescription)
$computerlist.Items.Add($results)
}
}
でより多くのは一度だけコンピュータオブジェクトを取得し、これは二倍の速さになる参照: 'ゲット-ADComputer -Filter {$ユーザ名様説明}説明を-Properties | ForEach {$ Results = New-Object System.Windows.Forms.listviewitem($ _。Name); $ results.subitems.add($ _。Description); $ computerlist.Items.Add($ results)} 'それは置き換えることができますあなたの '$ username ='行を越えて、最後の '}'を除くすべての行。 – TheMadTechnician