lb20309 发表于 2018-9-2 10:57:44

【Powershell】【 数组】脚本示例一则

  在前面两篇文章中,简要介绍了静态数组和动态数组的基本语法,在本文中将会就数组中在日常运维过程中的使用举一例说明。
  一、需求
  客户组织内曾经更换过杀毒软件供应商,需要扫描服务器或者客户端是否安装了杀毒软件,或者是否安装了过多的杀毒软件。
  二、解决思路
  我们将所有可能安装的杀毒软件的名称放入一个数组,然后通过wmi接口可以获取计算机上已安装的所有软件,逐个对软件进行判断是否存在于数组中。
  三、脚本
  #******************定义病毒库数组,将可能安装的所有软件名称全部添加到数组中****************
  $AntivirusList = New-Object System.Collections.ArrayList
  #----Note:实际使用时应添加杀软的完整名称,演示时未添加完整
  $AntivirusList.Add("Symentec") | Out-null
  $AntivirusList.Add("Nod32") | Out-null
  $AntivirusList.Add("360") | Out-null
  #*****************************获取计算机当前已经安装的软件清单*****************************
  $SoftwareInstalled = Get-WmiObject -Class Win32_Product | Select-Object -Property Name
  #---$Count用于计量已安装杀毒软件的数量
  $Count = 0
  #----对已经安装的软件进行循环判断,检查是否有杀毒软件数组中的软件已被安装-----
  Foreach ($Software in $SoftwareInstalled)
  {
  if ($AntivirusList -contains ($Software.name)
  { $Count++ }
  }
  #***************根据安装杀毒软件的情况弹窗提示结果********************
  $ws = New-Object -ComObject WScript.Shell
  If ($Count -eq 0) {
  $wsr = $ws.popup("您的电脑未安装杀毒软件!",5,"杀毒软件安装检查",0 + 16)
  } elseif ($Count -gt 1)
  {
  $wsr = $ws.popup("您的电脑安装了过多的杀毒软件,不建议这么做。",5,"杀毒软件安装检查",0 + 48)
  } else
  {
  $wsr = $ws.popup("您的电脑已安装杀毒软件。",5,"杀毒软件安装检查",0 + 48)
  }
  #*************************脚本结束*******************************

页: [1]
查看完整版本: 【Powershell】【 数组】脚本示例一则