1

マシンにインストールされているアプリケーションのリストをリストボックスに入れようとしていますが、これまでのところ、次のようになっています。

function programsinstalled_current
{
$prog = get-wmiobject win32_product -computer summer -Property Name | select Name
foreach($program in $prog)
{
[Void]$program_list_current.items.add($program)
}
}

リストボックスにこれを返します。

ここに画像の説明を入力してください

私の質問は、各プログラム名の先頭にある不要な「@ {name =」と、各名前の末尾にある「}」をどのように取り除くかです。

マシンのADグループをリストボックスに入れて以下のコードを試しましたが、正常に機能しますが、同じ構文では機能しませんget-wmiobject win32_product

function fill_current_list
{
$processnames_t = (Get-ADComputer -Identity $current_hostname.text -Property MemberOf).MemberOf 
foreach ($processname in $processnames_t)
{
[void]$AD_list_current.Items.Add($processname)
} 

できれば使いたくない-replace

ありがとう

4

2 に答える 2

3

試す:

[Void]$program_list_current.items.add($program.name)
于 2012-05-20T18:13:19.807 に答える
3

ループせずにすべての製品名を追加することもできます。

$prog = gwmi win32_product -computer summer -Property Name | select -expand Name
$program_list_current.items.AddRange($prog)
于 2012-05-21T10:01:06.480 に答える