Shell的本质是对系统传达一系列的命令或者信号,其表现形式通常都是某个命令加上一大串的字符。这一串字符就是用来表达意义的字符,也就是正则表达式。正则表达式的最基本元素是元字符,它们是用来描述字符的字符,用途是对字符表达内容、解释以及各种操作信息进行描述。
在前面两篇文章中,简要介绍了静态数组和动态数组的基本语法,在本文中将会就数组中在日常运维过程中的使用举一例说明。
1. Windows 服务器性能计数器的数据通过.Net的Diagnostics.PerformanceCounter类提供数据; 2. Diagnostics.PerformanceCounter类可以通过CategoryName、CounterName、InstanceName等参数来确定 需要获取的性能计数器,这些名称可以直接在性能计数器获得; 3. 亦可以通过MachineName来指定远程服务器名称来远程获取其他服务器计数器的数据; 4. 该性能不仅包括常见的CPU、内存、磁盘等计数器信息,也可以是Exchange服务器的队列数或者域控制器的 Ldap Search Time或者Ldap Read Time,换句话说,通过性能计数器能拿到的数据,我们均可以通过该类 的参数完善来达到我们的自定义需求,譬如单纯的收集数据,或者在邮箱服务器的队列达到500的时候给管理员 发送邮件等等; 5. 收集到数据后可以通过循环控制的方式来对数据进行持续的收集或者监控。
Shell其实是一个有特殊功能的程序,主要是提供用户与内核交互操作的一个接口。它的位置介于用户界面和内核之间,工作流程是接收用户输入的命令并且进行解释(转换为计算机可以理解的机械码),然后将命令送入内核去执行。我们一般通过ssh远程登录系统并且打开shell,也有一些是直接在图形界面上直接打开终端的方式打开shell。后者主要用于ubuntu系统中。
动态数组、使用.Net的类来进行定义,它除了像静态数组一样可以进行比较,索引查找外还可以很方便的进行元素变更,在循环添加元素时它也是自由的去添加单个元素而不是重新定义整个数组,因而极大的提高了脚本的运算速度。
Powershell 静态数组的使用
#使用示例: #示例:GetFoldersize.ps1 -FolderPath "D:\Exchange Server" -sort Layer -Class 3 -Size 0.5 #获取"D:\Exchange Server"目录下的3层以内的大于0.5GB的子文件夹,并按照子文件夹所在的层级进行 #排序; #示例:GetFoldersize.ps1 -FolderPath "D:\Exchange Server" -sort SizeGB #获取"D:\Exchange Server"目录下的所有子文件夹并按照大小进行排序 #使用管理员运行脚本可解决GUI操作界面的文件夹权限问题。
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号