如何使用PowerShell脚本在Slack中@提及指定成员
解决Slack Webhook消息@提及无效的问题
Slack的Webhook消息里,纯文本@用户名不会触发实际的成员提及,必须用用户ID格式:<@用户ID>才能让Slack识别并通知对应成员。
操作步骤:
- 先获取目标成员的Slack用户ID:在Slack中右键目标成员的头像,选择「复制成员ID」。
- 在PowerShell脚本中添加用户ID变量,然后在消息末尾拼接提及格式。
修改后的完整脚本:
$servername = "SERVER" $username = "USER" $password = "PWD" $Date = Get-Date # 添加要提及的用户ID,替换成实际复制的成员ID $slackUserId = "U12345678" $result = Invoke-SQLCmd -Querytimeout 120 -ServerInstance $serverName -Username $username -Password $password -InputFile "C:\directory\script.sql" $text = "Server: $servername" $value = $result.field $text = "$text`nField Name: $value" $text = "$text`nDate: $Date" # 在消息末尾添加Slack提及格式 $text = "$text`n请关注:<@$slackUserId>" $payload = @{ "channel" = "#slack_channel" "text" = "$text" } $hook="https://hooks.slack.com/services/WEBHOOK" Invoke-WebRequest -UseBasicParsing -Body (ConvertTo-Json -Compress -InputObject $payload) -Method Post -Uri $hook
关键说明:
<@$slackUserId>是Slack识别提及的标准格式,替换其中的U12345678为实际用户ID即可触发通知。- 如果需要提及多个成员,直接拼接多个
<@用户ID>即可,比如<@U123><@U456>。
内容的提问来源于stack exchange,提问作者AdemirP
相关产品推荐
相关产品推荐

