【发布时间】:2017-05-13 02:27:07
【问题描述】:
我正在尝试通过 powershell 发送松弛消息,但我被卡住了。这是我的脚本。看起来我不能将 $result 用于 -text。
如果有任何可用磁盘空间低于 15% 或 10%,我要做的是向松弛通道发送警报。
我正在使用 Powershell Gallery 中的 PSSlack。
$ErrorActionPreference = "Continue";
$percentCritcal = 15;
$computers = Get-Content "D:\Disk_Usage\ServerList.txt"
$result = foreach($computer in $computers)
{
$disks = Get-WmiObject -ComputerName $computer -Class Win32_LogicalDisk -Filter "DriveType = 3"
$computer = $computer.ToUpper()
foreach($disk in $disks)
{
$Size = $disk.Size
$Freespace = $disk.FreeSpace
$sizeGB = [Math]::Round($Size / 1073741824, 2)
$freeSpaceGB = [Math]::Round($Freespace / 1073741824, 2)
$percentFree = [Math]::Round(($freespace / $size) * 100, 2);
$ResultHash = [ordered]@{
Computer = $computer
Drive = $disk.DeviceID
SizeGB = $sizeGB
UsedGB = $sizeGB - $freeSpaceGB
FreeGB = $freeSpaceGB
PercFree = $percentFree
}
New-Object -TypeName PSObject -Property $ResultHash
}
}
$Result = $Result | Where-Object {$_.PercFree -lt 10}
if ($Result)
{
$token = 'xxxxxxxxxxx'
$Result = $Result | Format-Table | Out-String
New-SlackMessageAttachment -Color $_PSSlackColorMap.red `
-Title 'Disk Free Space Alert' `
-Text $result `
-Fallback 'Bad boy' |
New-SlackMessage -Channel '#it-test' `
-IconEmoji :bomo: `
-AsUser `
-Username 'BOT' |
Send-SlackMessage -Token $token
}
有什么想法吗?
【问题讨论】:
-
什么是 $result ?你没有发出任何东西。
标签: powershell slack-api