윈도우 원격 데스크톱 연결 여부를 Teams 채널로 전송
작년 이맘때 쯤 셋팅한 Incoming Webhook을 잘 사용하던 중,
기존 셋팅해둔 서버가 고장나서 다시 셋팅하려는데 커넥터가 없어졌다!!!
그래서 다시 시작된 삽질을 기록하려고 함😮💨
Workflows를 사용해서 다시 셋팅하기 시작
채널의 더보기 버튼을 클릭하면 나오는 메뉴들 중 워크플로를 선택한다.
나오는 워크플로 창에서 우리가 생성해야할 워크플로가 보이지 않으므로 추가 워크플로를 눌러서 워크플로 만들기 페이지로 이동한다. (워크플로로 바로 들어가서 만들기 페이지로 이동해도 됨)
수많은 템플릿들 중 알림이라는 템플릿으로 이동한다.
템플릿 더 보기를 눌러서 Post to a channel when a webhook request is received를 찾아서 클릭한다.
웹훅 이름을 입력 후 다음을 누른다.
메세지를 띄울 팀과 채널을 선택 후 흐름 만들기를 누른다.
만들기 완료 후 나오는 url을 복사한다.
지금 날짜를 받아와서 json파일을 작성 후 작성한 json파일을 curl로 전송하는 bat파일을 생성한다.
@echo on
for /f %%x in ('powershell -command "Get-Date -format yyyy-MM-ddTHH:mm:ss"') do set "currentDateTime=%%x"
echo "%currentDateTime%"
:: JSON 파일 생성 및 현재 시간 쓰기
(
echo {
echo "type": "messageCard",
echo "attachments": [
echo {
echo "contentType": "application/vnd.microsoft.card.adaptive",
echo "contentUrl": null,
echo "content": {
echo "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
echo "type": "AdaptiveCard",
echo "version": "1.2",
echo "body": [
echo {
echo "type": "TextBlock",
echo "size": "medium",
echo "weight": "bolder",
echo "text": "Connection",
echo "style": "heading",
echo "wrap": true
echo },
echo {
echo "type": "FactSet",
echo "facts": [
echo {
echo "title": "time",
echo "value": "%currentDateTime%"
echo },
echo {
echo "title": "host",
echo "value": "127.0.0.1"
echo }
echo ]
echo }
echo ]
echo }
echo }
echo ]
echo }
) > temp.json
curl -H "Content-Type: application/json" -d @temp.json "enter_url_url"
del temp.json
🚨 json 파일로 만들어서 보내지 않는 경우 오류날 수 있음
🚨 json 파일도 잘 만들어지고 터미널에서 실행시 잘 되는데 batch파일 실행 시 아래와 같은 권한 에러가 나는 경우
{"error":{"code":"AuthorizationFailed","message":"You do not have permissions to perform action 'run' on scope '/triggers/manual/paths/'. Verify you are making the request with the appropriate HTTP method. See http://aka.ms/logic-trigger for details."}}
💚 해결 방법
주소에 sp=%2Ftriggers%2Fmanual%2Frun 이렇게 적힌 부분을 sp=/triggers/manual/run 이렇게 바꾸면 된다!
참고: permissions to perform action 'run' on scope '/triggers/manual/paths/
이전 포스팅을 참고해주세요:)
Teams 업데이트 되고 제대로 된 설명서 찾기도 힘들어서 하루종일 고생했는데 그래도 해결해서 뿌듯합니다. 휴😹
curl -X POST -H "Content-Type: application/json" -d '{
"type": "messageCard",
"attachments": [
{
"contentType": "application/vnd.microsoft.card.adaptive",
"contentUrl": null,
"content": {
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.2",
"body": [
{
"type": "TextBlock",
"size": "medium",
"weight": "bolder",
"text": "Connection",
"style": "heading",
"wrap": true
},
{
"type": "FactSet",
"facts": [
{
"title": "time",
"value": "2024.03.29"
},
{
"title": "host",
"value": "127.0.0.1"
}
]
}
]
}
}
]
}' "enter_your_url"
윈도우 환경에 셋팅한거라서 mac에서는 터미널로 간단한 테스트만 진행해 봄.