2013-09-25 105 views
0

我想讓我們的監控軟件(Nagios)啓動一個PowerShell腳本來檢查我們的羣集共享卷並返回一個文本字符串中所有卷的狀態。如果任何卷的可用空間少於5%,我想引發嚴重警告。收集有關羣集共享卷的信息

這是迄今爲止代碼:

# Import Cluster Shared Volumes module to Powershell 
Import-Module FailoverClusters 

# Flush object 
$objs = @() 

# Gather info from the ClusterSharedVolume 
$csvs = Get-ClusterSharedVolume 
foreach ($csv in $csvs) 
{ 
    $csvinfos = $csv | select -Property Name -ExpandProperty SharedVolumeInfo 
     $new_obj = $objs | select Name,Path, 
     @{ Name = ($csv.Name) }, 
     @{ Path = ($csvinfo.FriendlyVolumeName) }, 
     @{ Label = "Size(GB)" ; Expression = { "{0:N1}" -f ($csvinfo.Partition.Size/1GB) } }, 
     @{ Label = "FreeSpace(GB)" ; Expression = { "{0:N1}" -f ($csvinfo.Partition.FreeSpace/1GB) } },  
     @{ Label = "UsedSpace(GB)" ; Expression = { "{0:N1}" -f ($csvinfo.Partition.UsedSpace/1GB) } },  
     @{ Label = "PercentFree" ; Expression = { "{0:N2}" -f ($csvinfo.Partition.PercentFree) } } 

$objs += $new_obj 
} 

$objs 

我知道我有一些基本的錯誤,在這裏...我的腳本是返回對象適量的,但都是一樣的。 請諮詢:)

回答

0

你沒有在任何地方定義「$ csvinfo」,只有「$ csvinfos」。