我正在尝试将计算机上已安装的应用程序列表放到Listbox中,到目前为止,我有这个:
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组放入Listbox中,并且工作正常,但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
由于
答案 0 :(得分:3)
尝试:
[Void]$program_list_current.items.add($program.name)
答案 1 :(得分:3)
您还可以在不循环的情况下添加所有产品名称:
$prog = gwmi win32_product -computer summer -Property Name | select -expand Name
$program_list_current.items.AddRange($prog)