Excel 在PowerShell中筛选CSV文件中的内容
我使用以下PowerShell脚本来确定最终用户在其计算机上有哪些应用程序(除了映像安装的默认应用程序之外) 当前,该脚本收集旧计算机上的应用程序列表,并将默认应用程序列表粘贴到其下方(来自DefaultApps.csv)。然后我在Excel中打开它,添加条件格式以查找重复条目并隐藏/删除这些行。然后,我留下了一个需要在新用户计算机上安装的列表,其中不包括映像安装的任何内容 我想做的是修改脚本,以便PowerShell将筛选出它找到的任何重复项的两个条目。我在网上找到了一些详细说明如何删除其中一个条目的地方,但在这种情况下这对我没有帮助。我非常希望PowerShell从远程PC中提取应用程序列表,然后删除DefaultApps.csv中存在的任何条目 我不确定从哪里开始,因为除了这个脚本中的内容之外,我还没有做太多关于编辑CSV文件的工作。有人能为我指出正确的方向,告诉我如何做到这一点吗?如果您知道我应该看什么cmdlet/switch,或者您有一个指向解释此问题的页面的链接,那么这将是一个良好的开端Excel 在PowerShell中筛选CSV文件中的内容,excel,powershell,csv,select,filter,Excel,Powershell,Csv,Select,Filter,我使用以下PowerShell脚本来确定最终用户在其计算机上有哪些应用程序(除了映像安装的默认应用程序之外) 当前,该脚本收集旧计算机上的应用程序列表,并将默认应用程序列表粘贴到其下方(来自DefaultApps.csv)。然后我在Excel中打开它,添加条件格式以查找重复条目并隐藏/删除这些行。然后,我留下了一个需要在新用户计算机上安装的列表,其中不包括映像安装的任何内容 我想做的是修改脚本,以便PowerShell将筛选出它找到的任何重复项的两个条目。我在网上找到了一些详细说明如何删除其中一
$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
}
我不确定从哪里开始,因为我没有做过很多关于编辑CSV文件的工作
但你不是想编辑CSV文件,所以。。。不要将默认应用程序放在输出中,这样就不必过滤掉它们。如果应用程序在默认应用程序中,则不要将其放入输出
$DefaultApps = Import-CSV C:\Scripts\AppLists\DefaultApps.csv
$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 | Where-Object {$_.Name -notin $DefaultApps.Name} | Export-CSV C:\Scripts\AppLists\$PC.csv -NoTypeInformation
}
未经测试,但大致如此
PS.NB
Intel®
,默认的应用程序电子表格编码不正确(是否以ASCII编码保存?)。