我想让我们的监控软件(Nagios)启动一个powershell脚本来检查我们的clustersharedvolumes并返回一个文本字符串中所有卷的状态。如果任何卷的空间少于%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 :(得分:0)
你没有在任何地方定义“$ csvinfo”,只有“$ csvinfos”。