윈도우에서 슬랙 메세지 보내기

 

상황 : 윈도우에 누군가 로그인 할 때마다 슬랙으로 메세지를 받고자 한다.

 

작업스케쥴러에 로그인시 특정프로그램(슬랙메세지프로그램)실행되도록 하면 될듯.

 

작업스케쥴러 설정하는건 구글링하면 많이 나온다. 근데 윈도우에서 슬랙메세지 보내는건 잘 안나온다. 리눅스처럼 curl 명령어로 해봐도 에러가 난다. 그래서 파워쉘모듈중 psslack 이라는 파워쉘-슬랙 모듈을 사용해본다.

 

https://github.com/RamblingCookieMonster/PSSlack

 

GitHub - RamblingCookieMonster/PSSlack: PowerShell module for simple Slack integration

PowerShell module for simple Slack integration. Contribute to RamblingCookieMonster/PSSlack development by creating an account on GitHub.

github.com

 

여기서 import-module psslack 할 때 에러난다.

 

나의 경우는 권한문제로 에러가 발생했고 파워쉘 실행할 때 관리자권한으로 실행해주고

 

execution policy 입력시 결과가 restricted 라면 set execution-policy unrestricted 로 해준 뒤 임폴트-모듈 psslack 하면 잘 된다.

노트장으로 my.ini 열어서 옵션 수정하고 컨트롤 + s 로 저장한 뒤 서비스에서 mysql 서비스 재시작하면 
서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다

라는 에러 발생

 

인코딩 문제로 컨트롤 + s 로 그냥 저장하면 utf8로 저장돼기 때문에 mysql server 가 my.ini 불러올 때 에러나서 실행 안됨

따라서 인코딩을 ansi 로 저장해야합니다.

  1. 개발1 2020.09.22 10:43

    감사합니다.

appcmd 


c:\Windows\System32\inetsrv>appcmd.exe list site

ERROR ( hresult:8007007a, message:항목 출력을 생성하지 못했습니다.

시스템 호출에 전달된 데이터 영역이 너무 작습니다.


ERROR ( hresult:8007007a, message:Failed to generate item output. 

The data area passed to a system call is too small. 



에러나는 이유는 


리스트에 있는 사이트들중 서브도메인갯수가 많아서 문제가 발생한다.
ㄴhttps://forums.iis.net/t/1164443.aspx?error+when+running+appcmd+list+site

찾아보니 4개의 도메인중 한개의 도메인이 서브도메인(바인딩)이 130개정도 있다. 



주요 답변

The issue was reproducible with config data bantam316 provided. It turned out appcmd has buffer limit. The error happens when <site/> has lots of data. It looks like there is no workaround with appcmd for that particular command. I would recommend to use other admin tool such as inetmgr with this situation. The feature team will address this issue.


보는바와같이 불라불라 appcmd 의 buffer limit 어쩌구 저쩌구 <site/> has lots of data 랜다. 해결방법 없고 inetmgr 을 사용하라고 한다.

ㄴ아 참고로 윈 2008R2 이고 윈 2012에서는 해결됐따는 코멘트가 있는듯 ?


inetmgr 이 무슨 또 다른 툴인가해서 찾아봤는데 그냥 iis관리자다. 어쩐지 어디서 많이 봤다했네 하여튼 그냥 직접 GUI로 봐야한다. 서브도메인이 겁내 많아가지고 복붙할라고 한건데 복붙도 안되고 하아..

linux 유닉스 시스템에 inode가 있는데 window 에는 inode 같은 개념은 file id 로 있다.



fsutil file queryfileid 파일명


C:\Users\7040_64bit>fsutil file queryfileid uptime.exe

파일 ID: 0x0000000000000000000900000001d3fe


위와같이 쓰면 된다.

<meta http-equiv="Content-Type" content="text/html; charset=ksc5601" /></style>

윈도우 2008 서버 이전시 iis 설정 이전 방법

------------------------------------

 

appcmd 라는 명령어로 iis7 설정을 백업/복원 할수 있지만 서버 이전에는 쉽지않다.

그래서 web deployment 라는 툴을 사용하여 이전한다.

다운로드

 64-bit version: http://download.microsoft.com/download/8/9/B/89B754A5-56F7-45BD-B074-8974FD2039AF/WebDeploy_amd64_en-US.msi 

32-bit version: http://download.microsoft.com/download/8/9/B/89B754A5-56F7-45BD-B074-8974FD2039AF/WebDeploy_x86_en-US.msi 

 

다운로드하여 설치한다.

1

설치가 완료되면 위와같이 서버 패키지 내보내기/서버 또는 사이트 패키지 가져오기 항목이 생긴다.

서버 패키지 내보내기를 클릭한다.

 

2

서버 패키지 내보내기 화면

 

 

3

여기서 중요

iis 설정뿐만 아니라 해당 웹/ftp 의 디렉토리 까지 저장 되기때문에 체크를 해놓으면 굉장히 오래걸릴 수 가 있다.

 

 

4

위와같이 해당 디렉토리까지 이전된다.

 

 

5

위와같이 디렉토리는 체크를 해제해준다.

 

 

 

6

웹사이트 콘텐츠에 포함된 폴더 및 파일들의 ACL 권한 정보를 포함하여 패키징 할것인지 여부

기본값은 false로 ACL 정보를 포함하지 않는다.

 

7

위처럼 true 로 바꾼다.

 

그뒤로는 전부 다음 누르고 패키지를 저장하면된다.

 

그리고 이전용 서버에도  web deployment 를 설치해주고 패키지 가져오기 하면 이전 완료

windows 2008 에서는 원격접속할때 접속 클라이언트마다 각각 세션을 구성해서 사용했는데


windows 2012 에서는 하나의 서버 자체 세션만으로 공유된다.


이거 해결방법


실행 > gpedit.msc > 컴퓨터 구성 > 관리 탬플릿 > 윈도우 구성요소 > 터미널 서비스 > 원격 데스크탑세션 호스트 > 연결


연결개수제한 열어서 사용으로 하고


TS최대 허용 연결을 알아서 설정


그다음 원격 데스크톱 서비스 사용자를 하나의 어쩌구 클릭해서 사용안함으로 바꾼다

Httperr log_number .log 파일은 \System32\LogFiles\HTTPERR 

첨부파일 다운로드하고 


로그파일 위치로 옮겨놓고


해당 디렉토리에서 cmd 창열고( 쉬프트+마우스 우클릭 후 여기서 명령창 열기) tail -f 로그파일이름

tail.exe


install media player on windows server 2012 



윈도우 서버 2012 에 wmp ( windwos media player ) 윈도우 미디어 플레이어 설치하기



윈도우 2008에서는 데스크톱 경험 설치하면된다.



윈도우 2012도 똑같다.



근데 위치가 다르다.



서버관리자-대시보드에서 기능 클릭하고 ## 여기서부터 다르다##



사용자 인터페이스 및 인프라 안에 데스크톱 경험이 있다.



그거 설치하면 됨

+ Recent posts