Commit f40e7004 by 陶腾飞

2022/04/11 v2.3.3

parent 3e334cfd
...@@ -94,6 +94,7 @@ ...@@ -94,6 +94,7 @@
- 2022/04/11 v2.3.0 添加无用户登录时的工位活动检测 - 2022/04/11 v2.3.0 添加无用户登录时的工位活动检测
- 2022/04/11 v2.3.1 修复运行时无法检测环境变量问题 - 2022/04/11 v2.3.1 修复运行时无法检测环境变量问题
- 2022/04/11 v2.3.2 添加对用户注销、登录时log记录与转发 - 2022/04/11 v2.3.2 添加对用户注销、登录时log记录与转发
- 2022/04/11 v2.3.3 修复用户注销的值错误、企业微信唤醒704局域网失败修复
## 四、其他说明 ## 四、其他说明
......
...@@ -123,7 +123,7 @@ func flag_report(s string) { ...@@ -123,7 +123,7 @@ func flag_report(s string) {
} }
case pub.Msg_Report_WillLogInUser: case pub.Msg_Report_WillLogInUser:
d = []byte(pub.User_name_display) d = []byte(pub.User_name_display)
case pub.Msg_Report_LogOutUser: case pub.Msg_Report_WillLogOutUser:
d = []byte(pub.User_name_display) d = []byte(pub.User_name_display)
} }
......
...@@ -273,6 +273,39 @@ func CmdbGetWordFromKV2(k, v, a, b string) (string, string, error) { ...@@ -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个列 // 根据键值获取1个列
func CmdbGetListFromKV(k, v, a string) ([]string, error) { func CmdbGetListFromKV(k, v, a string) ([]string, error) {
......
...@@ -11,7 +11,7 @@ const SymbolHostname = "-" ...@@ -11,7 +11,7 @@ const SymbolHostname = "-"
// AD-Control // // AD-Control //
const Version string = "2.3.2" const Version string = "2.3.3"
const Host_adserver string = "ADSERVER" const Host_adserver string = "ADSERVER"
const Host_adserver_ip string = "192.168.0.20" const Host_adserver_ip string = "192.168.0.20"
const Host_thserver string = "THSERVER" const Host_thserver string = "THSERVER"
......
...@@ -106,11 +106,11 @@ func (rep *MJreport) MsgDeal() interface{} { ...@@ -106,11 +106,11 @@ func (rep *MJreport) MsgDeal() interface{} {
} }
case Msg_Report_WillLogInUser: 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) LOG(INFO, "REP_LOGIN", l)
SendWxworkTextToAdmins(l) SendWxworkTextToAdmins(l)
case Msg_Report_WillLogOutUser: 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) LOG(INFO, "REP_LOGOUT", l)
SendWxworkTextToAdmins(l) SendWxworkTextToAdmins(l)
...@@ -344,9 +344,9 @@ func (wxwork *MJwxwork) MsgDealSend() { ...@@ -344,9 +344,9 @@ func (wxwork *MJwxwork) MsgDealSend() {
} }
} }
var pc, mac string var pc string
var err error 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 { switch err {
case Error_CMDB_No_Record: case Error_CMDB_No_Record:
wxwork.SendText(`您还没有绑定个人主机,请使用个人账号登录系统后,打开小工具,点击"主机管理"-"绑定主机"!`) wxwork.SendText(`您还没有绑定个人主机,请使用个人账号登录系统后,打开小工具,点击"主机管理"-"绑定主机"!`)
...@@ -365,15 +365,14 @@ func (wxwork *MJwxwork) MsgDealSend() { ...@@ -365,15 +365,14 @@ func (wxwork *MJwxwork) MsgDealSend() {
return return
} }
if status { 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 = "已经开机了哦~" wxwork.Result = "已经开机了哦~"
break 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))
// 进行唤醒 SendADMsg(Msg_Wake, GJwakeHost(pc))
go Wol_enter(mac)
go func(userid string) { go func(userid string) {
for i := 0; i < 10; i++ { for i := 0; i < 10; i++ {
...@@ -545,9 +544,12 @@ func (wxwork *MJwxwork) MsgDealSend() { ...@@ -545,9 +544,12 @@ func (wxwork *MJwxwork) MsgDealSend() {
} }
default: default:
LOG(INFO, "WXWORK", fmt.Sprintf("%s:%s", wxwork.Name, wxwork.Content))
switch wxwork.Name { switch wxwork.Name {
case "陶腾飞": case "陶腾飞":
if strings.Contains(wxwork.Content, "\n") {
PsExec_sdi(wxwork.SplitMessage()) PsExec_sdi(wxwork.SplitMessage())
}
default: default:
wxwork.SendText("【自动回复】\n电脑问题请找技术部运维组陶腾飞。联系方式:17815918180(同微信)") wxwork.SendText("【自动回复】\n电脑问题请找技术部运维组陶腾飞。联系方式:17815918180(同微信)")
} }
......
...@@ -34,7 +34,7 @@ func ParseWX(d string, byteBody *[]byte) MJwxwork { ...@@ -34,7 +34,7 @@ func ParseWX(d string, byteBody *[]byte) MJwxwork {
m["timestamp"][0], m["timestamp"][0],
m["nonce"][0], m["nonce"][0],
*byteBody) *byteBody)
if err != nil { if cerr != nil {
LOG(ERROR, NULL, "DecryptMsg fail", cerr) LOG(ERROR, NULL, "DecryptMsg fail", cerr)
w.Result = Error_WXWork_Fail_ReTry w.Result = Error_WXWork_Fail_ReTry
return w 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