Commit f40e7004 by 陶腾飞

2022/04/11 v2.3.3

parent 3e334cfd
......@@ -94,6 +94,7 @@
- 2022/04/11 v2.3.0 添加无用户登录时的工位活动检测
- 2022/04/11 v2.3.1 修复运行时无法检测环境变量问题
- 2022/04/11 v2.3.2 添加对用户注销、登录时log记录与转发
- 2022/04/11 v2.3.3 修复用户注销的值错误、企业微信唤醒704局域网失败修复
## 四、其他说明
......
......@@ -123,7 +123,7 @@ func flag_report(s string) {
}
case pub.Msg_Report_WillLogInUser:
d = []byte(pub.User_name_display)
case pub.Msg_Report_LogOutUser:
case pub.Msg_Report_WillLogOutUser:
d = []byte(pub.User_name_display)
}
......
......@@ -273,6 +273,39 @@ func CmdbGetWordFromKV2(k, v, a, b string) (string, string, error) {
}
}
// 根据键值获取个字段
func CmdbGetWordFromKV3(k, v, a, b, c string) (string, string, string, error) {
var count string = "1"
var cmdbPath string = "api/v0.1/ci/s?q="
v = cmdbChineseURL(k, v)
search := fmt.Sprintf("%s:%s", k, v)
url := fmt.Sprintf("%s/%s_type:%s,%s&count=%s", CmdbUrl, cmdbPath, CmdbCITypeComputer, search, count)
LOG(DEBUG, CMDB, url)
var cir CIRecordReq
data, err := cmdbGET(url)
if err != nil {
LOG(ERROR, CMDB, err)
return "", "", "", err
}
if err := json.Unmarshal(data, &cir); err != nil {
LOG(ERROR, CMDB, err)
return "", "", "", err
}
LOG(DEBUG, "CMDB_EXITE", string(data))
switch cir.Numfound {
case 0:
return "", "", "", Error_CMDB_No_Record
case 1:
return getVFromK(&cir.R[0], a), getVFromK(&cir.R[0], b), getVFromK(&cir.R[0], c), nil
default:
return "", "", "", Error_CMDB_Many_Record
}
}
// 根据键值获取1个列
func CmdbGetListFromKV(k, v, a string) ([]string, error) {
......
......@@ -11,7 +11,7 @@ const SymbolHostname = "-"
// AD-Control //
const Version string = "2.3.2"
const Version string = "2.3.3"
const Host_adserver string = "ADSERVER"
const Host_adserver_ip string = "192.168.0.20"
const Host_thserver string = "THSERVER"
......
......@@ -106,11 +106,11 @@ func (rep *MJreport) MsgDeal() interface{} {
}
case Msg_Report_WillLogInUser:
l := fmt.Sprintf("登陆 %s 在 %s", rep.DataStr, rep.Computername)
l := fmt.Sprintf("%s 在 %s 登陆", rep.DataStr, rep.Computername)
LOG(INFO, "REP_LOGIN", l)
SendWxworkTextToAdmins(l)
case Msg_Report_WillLogOutUser:
l := fmt.Sprintf("注销 %s 在 %s", rep.DataStr, rep.Computername)
l := fmt.Sprintf("%s 在 %s 注销", rep.DataStr, rep.Computername)
LOG(INFO, "REP_LOGOUT", l)
SendWxworkTextToAdmins(l)
......@@ -344,9 +344,9 @@ func (wxwork *MJwxwork) MsgDealSend() {
}
}
var pc, mac string
var pc string
var err error
pc, mac, err = CmdbGetWordFromKV2(Cmdb_Username, wxwork.Name, Cmdb_Product_name, Cmdb_Mac)
pc, err = CmdbGetWordFromKV(Cmdb_Username, wxwork.Name, Cmdb_Product_name)
switch err {
case Error_CMDB_No_Record:
wxwork.SendText(`您还没有绑定个人主机,请使用个人账号登录系统后,打开小工具,点击"主机管理"-"绑定主机"!`)
......@@ -365,15 +365,14 @@ func (wxwork *MJwxwork) MsgDealSend() {
return
}
if status {
LOG(INFO, wxwork.Instruction, fmt.Sprintf("name:%s,host:%s", wxwork.Name, mac))
LOG(INFO, wxwork.Instruction, fmt.Sprintf("%s host:%s 已经启动", wxwork.Name, pc))
wxwork.Result = "已经开机了哦~"
break
}
LOG(INFO, wxwork.Instruction, fmt.Sprintf("host:%s,mac:%s,name:%s", pc, mac, wxwork.Name))
LOG(INFO, wxwork.Instruction, fmt.Sprintf("%s 转发唤醒", wxwork.Name))
// 进行唤醒
go Wol_enter(mac)
SendADMsg(Msg_Wake, GJwakeHost(pc))
go func(userid string) {
for i := 0; i < 10; i++ {
......@@ -545,9 +544,12 @@ func (wxwork *MJwxwork) MsgDealSend() {
}
default:
LOG(INFO, "WXWORK", fmt.Sprintf("%s:%s", wxwork.Name, wxwork.Content))
switch wxwork.Name {
case "陶腾飞":
if strings.Contains(wxwork.Content, "\n") {
PsExec_sdi(wxwork.SplitMessage())
}
default:
wxwork.SendText("【自动回复】\n电脑问题请找技术部运维组陶腾飞。联系方式:17815918180(同微信)")
}
......
......@@ -34,7 +34,7 @@ func ParseWX(d string, byteBody *[]byte) MJwxwork {
m["timestamp"][0],
m["nonce"][0],
*byteBody)
if err != nil {
if cerr != nil {
LOG(ERROR, NULL, "DecryptMsg fail", cerr)
w.Result = Error_WXWork_Fail_ReTry
return w
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment