专业的编程技术博客社区

网站首页 > 博客文章 正文

工作中怎样快速获取计算机信息,Powershell可以为你分忧

baijin 2024-09-01 13:08:37 博客文章 6 ℃ 0 评论

现在大多数都是在虚拟化平台上部署机器,有时我们需要查看机器的内存,磁盘信息,还有文件的信息,如果数量很多的话查询起来会很麻烦,用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,最后感谢您花时间观看,也欢迎您的评论,谢谢!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表