Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
AD-Control-Golang
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陶腾飞
AD-Control-Golang
Commits
7729a35a
Commit
7729a35a
authored
Apr 06, 2022
by
陶腾飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新READEME.MD和语法修复
parent
81a6f6a7
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
46 additions
and
50 deletions
+46
-50
README.MD
+27
-22
users/menu.go
+17
-19
users/users.go
+2
-1
users/walk.go
+0
-8
No files found.
README.MD
View file @
7729a35a
...
@@ -8,33 +8,41 @@
...
@@ -8,33 +8,41 @@
### 1. Users.exe - 域用户的小工具
### 1. Users.exe - 域用户的小工具
在域计算机上以用户方式运行在任务栏托盘的位置上
运行方式:
在域计算机上以用户方式运行在任务栏托盘的位置上
启动说明:
启动说明:在开机时,由GPO的开机启动策略运行脚本,该脚本将从主控的smb复制到%tmp%后运行
在开机时,由GPO的开机启动策略从主控的smb中复制到%tmp%后运行
作用域:仅域计算机
具体功能:
具体功能:
> 1. 账号管理
> 1. 账号管理
(申请个人账号)
> 2.
用户管理
> 2.
主机管理(绑定主机)
> 3. 电源管理
> 3. 电源管理
(工位活动检测)
> 4. 实用工具
(软件安装等)
> 4. 实用工具
(软件安装、窗口拦截等)
> 5. 文件共享
> 5. 文件共享
(会议室主机)
### 2. Daemon.exe 域控制器守护进程
### 2. Daemon.exe 域控制器守护进程
主要功能:
> 1. 接收adct(与控制想你想)和企业微信的消息并处理与反馈
> 2. 接受小工具的日志并存储
> 3. 每间隔1小时自动获取[CMDB](http://cmdb.zhiweidata.top/instances/types/28)的Token
运行方式:
运行方式:
```
```
.\daemon.exe
.\daemon.exe
```
```
主要功能:
作用域:仅域控制器
接收域和企业微信的消息并处理与反馈、接受小工具的日志并存储
### 3. Adct.exe 域控制工具
### 3. adct.exe 域控制工具
作用:通过adct来控制域用户、域计算机来完成部分功能
作用:
作用域:部分功能仅仅在域控制器中运行,部分功能同时支持域控制器和域计算机。
通过adct来控制域用户、域计算机来完成部分功能
具体功能:
具体功能:
...
@@ -44,11 +52,7 @@
...
@@ -44,11 +52,7 @@
> 4. 同步cmdb
> 4. 同步cmdb
> 5. 硬件信息收集
> 5. 硬件信息收集
## 三、[cmdb](http://cmdb.zhiweidata.top/instances/types/28)
## 三、更新说明
通过daemon和users配合GPO一起同步更新。登录时用的token通过任务计划每间隔1小时自动获取。
## 四、更新说明
-
2020/05/15 v0.7 加入Error Json,walk.Resouce.Icon()使用绝对路径,修改users.exe的报错机制
-
2020/05/15 v0.7 加入Error Json,walk.Resouce.Icon()使用绝对路径,修改users.exe的报错机制
-
2020/05/18 v0.8 更新 大屏主机的文件共享,取消TXHD的凌晨关机.
-
2020/05/18 v0.8 更新 大屏主机的文件共享,取消TXHD的凌晨关机.
...
@@ -87,7 +91,7 @@
...
@@ -87,7 +91,7 @@
-
2022/04/05 v2.2.3 语法优化
-
2022/04/05 v2.2.3 语法优化
-
2022/04/05 v2.2.4 将支持通过adct全局唤醒
-
2022/04/05 v2.2.4 将支持通过adct全局唤醒
##
五
、其他说明
##
四
、其他说明
### [lxn/walk](https://github.com/lxn/walk)的修改
### [lxn/walk](https://github.com/lxn/walk)的修改
...
@@ -110,6 +114,7 @@
...
@@ -110,6 +114,7 @@
if icon, err := NewIconFromFile(name); err == nil {
if icon, err := NewIconFromFile(name); err == nil {
```
```
### 源码编译说明
### 源码编译说明
1.
go env GOARCH应是amd64
1.
编译时需要设置变量:GO111MODULE=on,GOARCH=amd64
2.
在users目录下
`rsrc -manifest users.exe.manifest -arch amd64 -o users.exe.syso`
,使用
[
rsrc
](
https://github.com/akavel/rsrc
)
根据users.exe.manifest清单文件生成64未的users.exe.syso。users.exe.syso是users.exe启动的充分条件。
2.
在users目录下
`rsrc -manifest users.exe.manifest -arch amd64 -o users.exe.syso`
,使用
[
rsrc
](
https://github.com/akavel/rsrc
)
根据users.exe.manifest清单文件生成64未的users.exe.syso。users.exe.syso是users.exe启动的充分条件。
3.
在users目录下,
`go build`
将生成一个带命令行窗口的GUI程序。
`go build -ldflags="-H windowsgui"`
将生成纯粹的GUI程序
3.
在users目录下,
`go build`
将生成一个带命令行窗口的GUI程序。
`go build -ldflags="-H windowsgui"`
将生成不带命令行的GUI程序
\ No newline at end of file
\ No newline at end of file
users/menu.go
View file @
7729a35a
...
@@ -200,7 +200,7 @@ func tHostManagerTerminal() {
...
@@ -200,7 +200,7 @@ func tHostManagerTerminal() {
// Kinds of Tools ---------------------------------------------------------------
// Kinds of Tools ---------------------------------------------------------------
//
其他工具
//
工具集合
func
menuInitTools
(
ni
*
walk
.
NotifyIcon
)
{
func
menuInitTools
(
ni
*
walk
.
NotifyIcon
)
{
fa
:=
"工具集合"
fa
:=
"工具集合"
...
@@ -259,21 +259,21 @@ func menuInitTools(ni *walk.NotifyIcon) {
...
@@ -259,21 +259,21 @@ func menuInitTools(ni *walk.NotifyIcon) {
sysmenu
.
SetEnabled
(
true
)
sysmenu
.
SetEnabled
(
true
)
}
}
//
其他工具
Excel关键词分割器
//
工具集合
Excel关键词分割器
func
tMultiSplit
()
{
func
tMultiSplit
()
{
pub
.
Execcmd_nowait
(
pub
.
Cmd_K_Start
+
pub
.
App_MultiSplit
)
pub
.
Execcmd_nowait
(
pub
.
Cmd_K_Start
+
pub
.
App_MultiSplit
)
pub
.
LOG
(
INFO
,
"USERS_TOOLS"
,
"执行
其他工具
-Excel关键词分割器"
)
pub
.
LOG
(
INFO
,
"USERS_TOOLS"
,
"执行
工具集合
-Excel关键词分割器"
)
}
}
//
其他工具
优雅批量打开网页
//
工具集合
优雅批量打开网页
func
tBatchOpenWeb
()
{
func
tBatchOpenWeb
()
{
go
Msg
(
"务必在新浏览器窗口中进行批量打开,且在浏览器中设置允许弹窗。"
)
go
Msg
(
"务必在新浏览器窗口中进行批量打开,且在浏览器中设置允许弹窗。"
)
chrome
:=
`C:\Progra~2\Google\Chrome\Application\chrome.exe http://mp.zhiweireach.com`
chrome
:=
`C:\Progra~2\Google\Chrome\Application\chrome.exe http://mp.zhiweireach.com`
pub
.
Execcmd_nowait
(
chrome
)
pub
.
Execcmd_nowait
(
chrome
)
pub
.
LOG
(
INFO
,
"USERS_TOOLS"
,
"执行
其他工具
-优雅批量打开网页"
)
pub
.
LOG
(
INFO
,
"USERS_TOOLS"
,
"执行
工具集合
-优雅批量打开网页"
)
}
}
//
其他工具
PDF转换
//
工具集合
PDF转换
func
tPdfTrans
()
{
func
tPdfTrans
()
{
AcrobatDC
:=
`C:\Application\AcrobatDC\AcrobatDCPortable.exe`
AcrobatDC
:=
`C:\Application\AcrobatDC\AcrobatDCPortable.exe`
if
pub
.
NotExist
(
AcrobatDC
)
{
if
pub
.
NotExist
(
AcrobatDC
)
{
...
@@ -282,19 +282,17 @@ func tPdfTrans() {
...
@@ -282,19 +282,17 @@ func tPdfTrans() {
}
}
go
Msg
(
`Acrobat DC正在打开`
)
go
Msg
(
`Acrobat DC正在打开`
)
pub
.
SendServerExec
(
pub
.
GJexecDIYFlag
(
pub
.
Msg_Exec_OpenAdminEXE
,
AcrobatDC
,
User_sessionID
))
pub
.
SendServerExec
(
pub
.
GJexecDIYFlag
(
pub
.
Msg_Exec_OpenAdminEXE
,
AcrobatDC
,
User_sessionID
))
pub
.
LOG
(
INFO
,
"USERS_TOOLS"
,
"执行 其他工具-PDF转换"
)
pub
.
LOG
(
INFO
,
"USERS_TOOLS"
,
"执行 工具集合-PDF转换"
)
return
}
}
//
其他工具
更新手机代理程序
//
工具集合
更新手机代理程序
func
tUpdateATool
()
{
func
tUpdateATool
()
{
pub
.
Execcmd_wait
(
`xcopy \\adserver\software\phoneproxy\ATools\win-unpacked C:\Application\win-unpacked /D /S /E /C /y`
)
pub
.
Execcmd_wait
(
`xcopy \\adserver\software\phoneproxy\ATools\win-unpacked C:\Application\win-unpacked /D /S /E /C /y`
)
Msg
(
"更新完成"
)
Msg
(
"更新完成"
)
pub
.
LOG
(
INFO
,
"USERS_TOOLS"
,
"执行
其他工具
-更新手机代理程序"
)
pub
.
LOG
(
INFO
,
"USERS_TOOLS"
,
"执行
工具集合
-更新手机代理程序"
)
}
}
//
其他工具
隐藏/显示桌面图标
//
工具集合
隐藏/显示桌面图标
func
tHideShowIcon
()
{
func
tHideShowIcon
()
{
Msg
(
"注:并非所有图标都会列出,没有列出的图标请手动隐藏(右键文件,打开属性,勾选隐藏,点击确定)"
)
Msg
(
"注:并非所有图标都会列出,没有列出的图标请手动隐藏(右键文件,打开属性,勾选隐藏,点击确定)"
)
mw
:=
&
MyMainWindow
{
model
:
HideShowIconModel
()}
mw
:=
&
MyMainWindow
{
model
:
HideShowIconModel
()}
...
@@ -320,7 +318,7 @@ func tHideShowIcon() {
...
@@ -320,7 +318,7 @@ func tHideShowIcon() {
Msg
(
"执行错误"
)
Msg
(
"执行错误"
)
pub
.
LOG
(
pub
.
ERROR
,
NULL
,
err
)
pub
.
LOG
(
pub
.
ERROR
,
NULL
,
err
)
}
}
pub
.
LOG
(
INFO
,
"USERS_TOOLS"
,
"执行
其他工具
-隐藏/显示桌面图标"
)
pub
.
LOG
(
INFO
,
"USERS_TOOLS"
,
"执行
工具集合
-隐藏/显示桌面图标"
)
}
}
func
HideShowIconModel
()
*
EnvModel
{
func
HideShowIconModel
()
*
EnvModel
{
...
@@ -352,7 +350,7 @@ func (mw *MyMainWindow) tHideShowIconDeal() {
...
@@ -352,7 +350,7 @@ func (mw *MyMainWindow) tHideShowIconDeal() {
Msg
(
"执行失败"
)
Msg
(
"执行失败"
)
return
return
}
}
if
strings
.
Index
(
r
,
"Hidden"
)
==
-
1
{
if
strings
.
Contains
(
r
,
"Hidden"
)
{
exec
.
Explain
=
"隐藏"
exec
.
Explain
=
"隐藏"
exec
.
DataBool
=
false
exec
.
DataBool
=
false
...
@@ -363,7 +361,7 @@ func (mw *MyMainWindow) tHideShowIconDeal() {
...
@@ -363,7 +361,7 @@ func (mw *MyMainWindow) tHideShowIconDeal() {
pub
.
SendServerExec
(
exec
)
pub
.
SendServerExec
(
exec
)
}
}
//
其他工具
火绒窗口拦截工具
//
工具集合
火绒窗口拦截工具
func
tWindowsBlock
()
{
func
tWindowsBlock
()
{
PopBlock
:=
`C:\Progra~2\zhiwei\huorong_windows_block\PopBlock.exe`
PopBlock
:=
`C:\Progra~2\zhiwei\huorong_windows_block\PopBlock.exe`
if
pub
.
NotExist
(
PopBlock
)
{
if
pub
.
NotExist
(
PopBlock
)
{
...
@@ -372,10 +370,10 @@ func tWindowsBlock() {
...
@@ -372,10 +370,10 @@ func tWindowsBlock() {
}
}
pub
.
SendServerExec
(
pub
.
GJexecDIYFlag
(
pub
.
Msg_Exec_OpenAdminEXE
,
PopBlock
,
User_sessionID
))
pub
.
SendServerExec
(
pub
.
GJexecDIYFlag
(
pub
.
Msg_Exec_OpenAdminEXE
,
PopBlock
,
User_sessionID
))
pub
.
LOG
(
INFO
,
"USERS_TOOLS"
,
"执行
其他工具
-火绒窗口拦截工具"
)
pub
.
LOG
(
INFO
,
"USERS_TOOLS"
,
"执行
工具集合
-火绒窗口拦截工具"
)
}
}
//
其他工具
软件安装
//
工具集合
软件安装
func
tSoftwareInstall
()
{
func
tSoftwareInstall
()
{
softpath
:=
`Z:\softlike\`
softpath
:=
`Z:\softlike\`
if
pub
.
NotExist
(
softpath
)
{
if
pub
.
NotExist
(
softpath
)
{
...
@@ -393,7 +391,7 @@ func tSoftwareInstall() {
...
@@ -393,7 +391,7 @@ func tSoftwareInstall() {
go
Msg
(
"安装失败:不是指定的文件路径!"
)
go
Msg
(
"安装失败:不是指定的文件路径!"
)
}
}
pub
.
LOG
(
INFO
,
"USERS_TOOLS"
,
"执行
其他工具
-软件安装"
)
pub
.
LOG
(
INFO
,
"USERS_TOOLS"
,
"执行
工具集合
-软件安装"
)
}
}
// 文件共享 (包含大屏主机的文件共享)
// 文件共享 (包含大屏主机的文件共享)
...
@@ -414,7 +412,7 @@ func menuInitFileShares(ni *walk.NotifyIcon) {
...
@@ -414,7 +412,7 @@ func menuInitFileShares(ni *walk.NotifyIcon) {
//将菜单添加到托盘
//将菜单添加到托盘
na
.
Triggered
()
.
Attach
(
func
()
{
na
.
Triggered
()
.
Attach
(
func
()
{
pub
.
OpenWindow
(
`ftp://adserver`
)
pub
.
OpenWindow
(
`ftp://adserver`
)
pub
.
LOG
(
INFO
,
"USERS_SHARE"
,
"执行
其他工具
-会议室的大脸机"
)
pub
.
LOG
(
INFO
,
"USERS_SHARE"
,
"执行
文件共享
-会议室的大脸机"
)
})
})
if
err
:=
mfs
.
Actions
()
.
Add
(
na
);
err
!=
nil
{
if
err
:=
mfs
.
Actions
()
.
Add
(
na
);
err
!=
nil
{
pub
.
LOG
(
pub
.
ERROR
,
NULL
,
err
)
pub
.
LOG
(
pub
.
ERROR
,
NULL
,
err
)
...
...
users/users.go
View file @
7729a35a
...
@@ -86,7 +86,8 @@ func isActive() {
...
@@ -86,7 +86,8 @@ func isActive() {
// 如果处于闲置状态
// 如果处于闲置状态
if
ox
==
x
&&
oy
==
y
{
if
ox
==
x
&&
oy
==
y
{
MsgShutdown
(
"即将关机,如需取消,点击小工具-电源管理-取消关机计时"
)
go
Msg
(
"即将关机,如需取消,点击小工具-电源管理-取消关机计时"
)
pub
.
Execcmd_nowait
(
pub
.
Msg_Exec_TurnOffPC_cmd
)
}
}
}
}
...
...
users/walk.go
View file @
7729a35a
package
main
package
main
import
(
import
(
pub
"git.zhiweidata.top/taotengfei/AD-Control-Golang/public"
"github.com/lxn/walk"
"github.com/lxn/walk"
)
)
...
@@ -33,12 +31,6 @@ func Msg_YesNo(message string) int {
...
@@ -33,12 +31,6 @@ func Msg_YesNo(message string) int {
return
walk
.
MsgBox
(
*
new
(
walk
.
Form
),
"提示"
,
message
,
walk
.
MsgBoxOKCancel
)
return
walk
.
MsgBox
(
*
new
(
walk
.
Form
),
"提示"
,
message
,
walk
.
MsgBoxOKCancel
)
}
}
// 提示并关机
func
MsgShutdown
(
msg
string
)
{
go
Msg
(
msg
)
pub
.
Execcmd_nowait
(
pub
.
Msg_Exec_TurnOffPC_cmd
)
}
// 高级UI提示消息
// 高级UI提示消息
func
MsgAdvUI
(
ni
*
walk
.
NotifyIcon
,
message
string
)
{
func
MsgAdvUI
(
ni
*
walk
.
NotifyIcon
,
message
string
)
{
ni
.
ShowCustom
(
"提示"
,
message
,
nil
)
ni
.
ShowCustom
(
"提示"
,
message
,
nil
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment