在PowerShell中过滤CSV文件中的内容

时间:2017-02-20 18:42:00

标签: excel powershell csv select filter

我使用以下PowerShell脚本来确定最终用户在其计算机上的应用程序(除了图像安装的默认应用程序之外)。

目前,该脚本收集旧计算机上的应用程序列表,并粘贴其下的默认应用程序列表(来自DefaultApps.csv)。然后我在Excel中打开它,添加条件格式以查找重复的条目并隐藏/删除这些行。然后,我会在新用户的计算机上列出我需要安装的内容,该计算机不包含图像所安装的任何内容。

我想要做的是修改脚本,以便PowerShell过滤掉它找到的任何副本的两个条目。我在网上找到了一些说明如何删除其中一个条目的点,但在这种情况下,这对我没有帮助。我非常希望PowerShell从远程PC中提取应用程序列表,然后删除DefaultApps.csv中存在的任何条目。

我不确定从哪里开始,因为除了此脚本中的内容之外,我还没有完成编辑CSV文件的工作。有人能指出我如何实现这个目标吗?如果您知道我应该查看哪个cmdlet / switch,或者如果您有一个解释此页面的链接,那将是一个良好的开端。

$PCListOld = Get-Content F:\PCList-Old.txt
ForEach ($PC in $PCListOld) {
    $AppList = Get-WmiObject -Computer $PC Win32_Product | Sort-Object Name | Select-Object Name
    $AppList | Export-CSV C:\Scripts\AppLists\$PC.csv -NoTypeInformation
    Import-CSV C:\Scripts\AppLists\DefaultApps.csv | Export-CSV C:\Scripts\AppLists\$PC.csv -Append
}

1 个答案:

答案 0 :(得分:1)

  

我不知道从哪里开始,因为我在编辑CSV文件方面做得不多

但是你没有尝试编辑CSV文件,所以...不要将默认应用程序放在输出中,因此你不必将它们过滤掉。如果应用程序位于默认应用程序中,请不要将其放在输出中。

left

未经测试,但大致相同。

PS。 NB。