powershell提取win、linux磁盘剩余空间脚本讲解
下载地址:
新增:
hqdl获取linux磁盘剩余空间.ps1
hqdw获取win磁盘剩余空间.ps1
hqdl获取linux磁盘剩余空间.ps1 用法:
$a = ./hqdl获取linux磁盘剩余空间.ps1 -磁盘mount路径 '/boot/efi'
if ($a.剩余空间 -lt 123) { '磁盘空间少于123mb' }
或
$a = ./hqdl获取linux磁盘剩余空间.ps1 -磁盘源 '/dev/sda1'
对于多个返回对象,需要用foreach。
前几天我也在写,提取磁盘剩余空间的脚本。
我以为很简单,但我发现 df |grep /dev 并不好。会把mount路径为/dev/shm的也获取出来,还得把这个刨除。
后来我就写了个脚本,解决这个问题。
脚本传入两个参数,参数名是中文的,如【-磁盘源】。当然也可以是英文的,如【-disk_source】
然后我对这两个参数,使用and来过滤。也就是说必须同时符合磁盘源、和mount路径、才输出。请看代码:
${private:结果对象} = ${private:磁盘对象} | Where-Object { $_.源 -Match $磁盘源 -and $_.mount -Match $磁盘mount路径 }
实际上,我犹豫了。是不是用or更好些?也就是满足匹配磁盘源,或mount路径,就输出。你觉得呢?
使用《卡死你3000》远程用法:
k_run_ip.ps1 -被控机ip地址 '192.168.168.1' -powershell代码块 {
/etc/kasini3000/node_script/hqdl获取linux磁盘剩余空间.ps1 -磁盘源 $args[0] -磁盘mount路径 $args[1]
} -全部传入参数 '/dev/sda1','/mnt/mount1'
当然了。假如每个linux磁盘名一样,或mount路径一样,就可以不用传参,在脚本内硬编码。
hqdw获取win磁盘剩余空间.ps1 用法:
$返回值为mb = hqdw获取win磁盘空闲.ps1 -盘符 'd:'
这个没啥好讲解的,谢谢观看,本帖完。
这俩脚本用起来爽不?欢迎反馈呀~~