现在大多数都是在虚拟化平台上部署机器,有时我们需要查看机器的内存,磁盘信息,还有文件的信息,如果数量很多的话查询起来会很麻烦,用powershell可以快速执行这些命令来达到我们想要得到的结果,一下列举几个小代码,一起来参考一下。
查看机器内存
在powershell执行代码:
PS C:\Windows\system32> gwmi Win32_PhysicalMemory | %{$sum = 0} { $sum += $_.Capacity } {Write-Host ($sum / 1GB) "GB"}
执行结果结果:
查看磁盘信息
在powershell执行代码,查看磁盘分区信息,磁盘剩余空间,磁盘使用百分比,代码如下:
$Freespace = @{ Expression = {[int]($_.Freespace/1GB)} Name = 'Free Space (GB)' } $PercentFree = @{ Expression = {[int]($_.Freespace*100/$_.Size)} Name = 'Free (%)' } Get-WmiObject -Class Win32_LogicalDisk |Select-Object -Property DeviceID, VolumeName, $Freespace, $PercentFree
执行结果:
查看文件夹目录大小以GB统计
执行代码如下:
$startFolder = "E:\" $colItems = (Get-ChildItem $startFolder | Where-Object {$_.PSIsContainer -eq $True} | Sort-Object) foreach ($i in $colItems) { $subFolderItems = (Get-ChildItem $i.FullName -recurse | Measure-Object -property length -sum) $FileSize="{0:N2}" -f ($subFolderItems.sum / 1GB) $Unit='GB' if($FileSize -lt 1) { $FileSize="{0:N2}" -f ($subFolderItems.sum / 1MB) $Unit='MB' } write-host $i.FullName ' -- ' $FileSize $Unit -fore green }
执行结果如下:
延伸一下思路
在hyper-v或者是其他虚拟化平台下面,安装Windows server操作系统如果需要统计,那么我们该怎么做呢?其实用Ansible配合这些脚本就能方便的批量执行命令了,你就不需要一台一台机器远程登录查看了,一条命令执行下去就能查看需要的机器磁盘信息,内存信息,文件件容量信息。比如你需要每天夜里12点统计服务器文件夹的容量变化,你就可以把ps脚本+计划任务配合输出重定向到一个文档里面,到第二天上班用Excel表格稍作整理就好了。
总结
1,要注意一点Ansible需要安装在Linux服务器上的。
2,需要综合性处理问题,将事务拓展一下,让自己工作更省心省力。
3,powershell是个好东西,需要好好研究一下。
4,最后感谢您花时间观看,也欢迎您的评论,谢谢!
本文暂时没有评论,来添加一个吧(●'◡'●)