我的 Powershell 脚本中有两个对象 -从 csv 文件导入的应用程序+计算机对象
# import applications
$apps = @()
$apps = Import-CSV C:\Working\fcheck_v2\apps.csv
# import computer objects
$compobj = @()
$compobj = Import-CSV C:\Working\fcheck_v2\compobj.csv
apps.csv 的结构如下:
appname location lob
Core C$\errlog.ini RESEARCH
Blmbg C$\errlog.ini RESEARCH
Blmbg2 C$\errlog.ini RESEARCH
MLFR C$\errlog.ini LEGAL
compobj.csv 的结构如下:
hostname lob
192.169.226.2 RESEARCH
192.169.226.5 HR
如何使用 testpath 检查计算机上是否存在特定应用程序?
例如,我想测试 RESEARCH lob 中的所有计算机对象是否在机器上安装了 RESEARCH 应用程序,并将结果打印在如下表中:
hostname lob core blmbg blmbg2 mlfr
192.169.226.2 RESEARCH True True False Frue
192.169.226.5 HR True N/A N/A N/A
如果机器通过Test-Path - 则状态设置为True
如果机器失败Test-Path + 需要安装应用程序(即它在 lob 中) - 然后状态设置为False
如果机器失败Test-Path + app 不需要安装(即它不在 lob 中) - 那么状态设置为N/A
谢谢。