首頁>技術>

powershell提取win、linux磁碟剩餘空間指令碼講解

下載地址:

https://gitee.com/chuanjiao10/kasini3000/tree/master/node_script

新增:

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'

if ($a.剩餘空間 -lt 123) { '磁碟空間少於123mb' }

對於多個返回物件,需要用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路徑一樣,就可以不用傳參,在指令碼內硬編碼。

11
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • JimuReport積木報表1.2.0 版本釋出