您的位置:首页 > 运维架构 > Shell

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

2015-07-30 21:02 489 查看
在前面两篇文章中,简要介绍了静态数组和动态数组的基本语法,在本文中将会就数组中在日常运维过程中的使用举一例说明。

一、需求
客户组织内曾经更换过杀毒软件供应商,需要扫描服务器或者客户端是否安装了杀毒软件,或者是否安装了过多的杀毒软件。

二、解决思路
我们将所有可能安装的杀毒软件的名称放入一个数组,然后通过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)

}

#*************************脚本结束*******************************

本文出自 “精华荟萃” 博客,请务必保留此出处http://simy88.blog.51cto.com/7370552/1680332
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: