Xenapp磁盘监控

注释:
此脚本用于检查Xenapp服务器的WriteCache磁盘使用情况,当使用率超过80%时
会自动禁止此服务器的新用户登陆,并且自动退出工作组负载
同时设置在30分钟后自动重启
前提:
由于脚本需要远程执行权限
运行脚本角色必须具有管理员权限

ASNP citrix.xenapp.commands
$re=0
$erroractionpreference = 'SilentlyContinue'
$ComPList = @()
$rebootlist = @()
'创建Xenapp命名数列'
for ($i = 1;$i -le 99;$i++)
{
    if ($i -le 9)
    {
        $ComPList += 'SGSCLD-PX65N00' + $i.ToString()
    }
    else
    {
        $ComPList += 'SGSCLD-PX65N0' + $i.ToString()
    }
}

'读取每台Xenapp的磁盘使用情况'

foreach ($Server in $ComPList)
{
    $Disk = gwmi –computername $Server win32_logicaldisk -filter "DeviceID='D:'"
    if ($Disk -ne $Null)
    {
        $Used = ([int64]$Disk.Size - [int64]$Disk.FreeSpace)
        $Percent = ($Used * 100.0)/$Disk.Size
        $Percent = "{0:N1}" -f $Percent
        if ($Percent -ge 80)
        {
            $re=1
            write-host $server "告警"
            $rebootlist+=$server
        }
    }
}

'当出现有告警时,禁止登陆并且退出工作组,30分钟后重启'

if($re -eq 1)
{
    foreach ($worker in $rebootlist)
    {
        Set-XAServerLogOnmode -ServerName $worker -LogOnMode ProhibitNewLogOnsUntilRestart
        Remove-XAWorkerGroupServer GMCC_Prod_Load $worker
        Remove-XAWorkerGroupServer GMCC_Prod_Print $worker
        Shutdown -r -m \\$worker -t 1800
    }
}

你可能感兴趣的:(powershell,Xenapp,PVS)