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
06c70f85
Commit
06c70f85
authored
Jul 07, 2020
by
陶腾飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
v1.1.1 修复备的Bug
parent
b7362f3c
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
48 additions
and
21 deletions
+48
-21
adct/adct.go
+14
-5
daemon/daemon.go
+1
-1
public/env.go
+3
-2
public/msg_deal.go
+12
-7
public/public.go
+14
-5
public/win.go
+3
-0
users/menu.go
+1
-1
No files found.
adct/adct.go
View file @
06c70f85
...
...
@@ -11,10 +11,11 @@ func main(){
logpath
=
`F:\logs\`
}
else
{
logpath
=
pub
.
Dir_userprofile
pub
.
AutoFillInWeDriveDir
()
//
pub.AutoFillInWeDriveDir()
}
pub
.
Loger
=
pub
.
NewLoger
(
logpath
+
`\adct.log`
)
pub
.
Loger
=
pub
.
NewLoger
(
logpath
+
`\adct.log`
)
//pub.PrintLog("start adct")
var
backupText
=
flag
.
String
(
pub
.
Msg_Backup
,
""
,
"backup status to AD"
)
var
reportText
=
flag
.
String
(
pub
.
Msg_Report
,
""
,
"report to AD"
)
...
...
@@ -41,6 +42,16 @@ func main(){
return
}
func
flag_report
(
s
*
string
){
// 预处理 消息
switch
*
s
{
case
pub
.
Msg_Report_OverBak
:
chmod
:=
"cacls "
+
pub
.
Dir_DCSave
+
`\`
+
pub
.
TrimPrefix
(
pub
.
Dir_userprofile
,
`C:\Users\`
)
+
` /T /G `
+
pub
.
User_name
+
":F"
pub
.
PntInfo
(
chmod
)
pub
.
Execcmd_wait
(
chmod
)
}
// 发送消息
pub
.
SendServerReport
(
*
s
)
}
func
flag_bakcup
(
s
*
string
){
...
...
@@ -57,9 +68,7 @@ func flag_hour(){
switch
nh
{
case
0
:
pub
.
Execcmd_nowait
(
`即将关机,如需取消,点击小工具-电源管理-取消自动关机 或运行Z:\tools\【工具】取消关机.bat`
)
pub
.
Execcmd_nowait
(
`shutdown -s -t 300`
)
//pub.SendServerReport(pub.Msg_Report_StartBak)
pub
.
SendServerReport
(
pub
.
Msg_Report_StartBak
)
break
default
:
pub
.
Execcmd_nowait
(
`即将关机,如需取消,点击小工具-电源管理-取消自动关机 或运行Z:\tools\【工具】取消关机.bat`
)
...
...
daemon/daemon.go
View file @
06c70f85
...
...
@@ -49,7 +49,7 @@ func deamonRun(){
return
}
defer
listener
.
Close
()
pub
.
PrintLog
(
"start Daemon"
)
for
{
if
conn
,
err
:=
listener
.
Accept
();
err
==
nil
{
// 新建 读取流
...
...
public/env.go
View file @
06c70f85
...
...
@@ -9,7 +9,7 @@ const DaemonListen string = ":" + DaemonPort
const
ADServerDaemon
string
=
Host_adserver
+
DaemonListen
var
LocalDaemon
string
=
User_computername
+
DaemonListen
const
RandMax
int
=
60
const
Version
string
=
"1.1.
0
"
const
Version
string
=
"1.1.
1
"
// user //
...
...
@@ -20,6 +20,7 @@ var User_userdomain string = GetEnv("USERDOMAIN")
var
User_name
string
=
GetEnv
(
"USERNAME"
)
var
User_name_display
string
=
GetEnvFqdn
(
"CN"
)
var
User_dept
string
=
GetEnv
(
"DEPT"
)
var
User_dept_desplay
string
=
GetEnv
(
"DEPTZH"
)
var
User_sid
string
=
Reg_query_key_one
(
HKCU
,
`Software\Microsoft\Windows\CurrentVersion\FileAssociations`
,
"UserSid"
)
var
User_sessionID
string
=
Reg_query_item_one
(
HKU
,
User_sid
+
`\Volatile Environment`
)
...
...
@@ -72,7 +73,7 @@ const App_Sync_dir string = `C:\Progra~1\zhiwei\AllWay_Sync\Bin\syncappw.exe
// backup //
var
Bak_Version
string
=
"06
1
2"
var
Bak_Version
string
=
"06
2
2"
// reg info //
...
...
public/msg_deal.go
View file @
06c70f85
...
...
@@ -67,8 +67,7 @@ func (rep *MJreport)Msg_Deal() interface{} {
// 通常是第一次备份
if
time
==
""
{
isbak
=
true
}
if
s
,
err
:=
ParseTime
(
time
);
err
!=
nil
{
}
else
if
s
,
err
:=
ParseTime
(
time
);
err
!=
nil
{
isbak
=
false
PntError
(
err
)
}
else
{
...
...
@@ -243,9 +242,14 @@ func (bak * MJbackup)Msg_Deal() interface{}{
bak
.
Explain
=
"Backup Start"
bak
.
Instruction
=
Msg_Backup_Status_Continue
wetype
,
weid
,
err
:=
GetWeDriveVersion
()
homefolder
:=
TrimPrefix
(
Dir_userprofile
,
`C:\Users\`
)
if
err
!=
nil
{
SendServerError
(
err
)
wetype
=
1
weid
=
"1"
}
// 确定备份版本
var
filename
string
switch
wetype
{
case
1
:
...
...
@@ -262,24 +266,25 @@ func (bak * MJbackup)Msg_Deal() interface{}{
NotExist
(
File_Sync_profile
)
||
NotExist
(
File_Sync_settings
)
{
//
2
复制 最新文件
//
1
复制 最新文件
if
_
,
err
:=
CopyFile
(
Dir_Sync_Config
+
filename
,
SMB_ADSoftPlusSync
+
filename
);
err
!=
nil
{
return
GJerror
(
err
)
}
if
_
,
err
:=
CopyFile
(
File_Sync_settings_full
,
SMB_ADSoftPlusSync
+
File_Sync_settings
);
err
!=
nil
{
return
GJerror
(
err
)
}
//
3
生成 个性 文件
if
err
:=
CreateSelfXML
(
Dir_Sync_Config
+
filename
,
wetype
,
weid
);
err
!=
nil
{
//
2
生成 个性 文件
if
err
:=
CreateSelfXML
(
homefolder
,
Dir_Sync_Config
+
filename
,
wetype
,
weid
);
err
!=
nil
{
return
GJerror
(
err
)
}
//
4
更新 新版本
//
3
更新 新版本
Reg_Write_DC
(
Reg_Name_BackupVersion
,
bak
.
Version
)
bak
.
Explain
=
"Backup update config"
}
ExistFolder
(
Dir_DCSave
+
homefolder
)
PntInfo
(
bak
.
Explain
)
SendServer
(
bak
)
return
nil
...
...
@@ -291,7 +296,7 @@ func (bak * MJbackup)Msg_Deal() interface{}{
return
bak
case
Msg_Backup_Status_Run
:
Msg
(
"开始备份用户文件,这是为了防止磁盘损坏而进行的步骤,最小化即可,有疑问@陶腾飞"
)
Execcmd_nowait_noargs
(
App_Sync_dir
)
default
:
PntErrorf
(
"%s %v"
,
bak
.
Instruction
,
Error_Not_Msg
)
...
...
public/public.go
View file @
06c70f85
...
...
@@ -41,21 +41,27 @@ func JsonToByte(v interface{}) []byte{
func
WriteBytesFile
(
file
string
,
data
[]
byte
)
error
{
return
ioutil
.
WriteFile
(
file
,
data
,
os
.
ModeSetuid
)
}
func
CreateSelfXML
(
filename
string
,
wetype
int
,
weid
string
)
error
{
func
CreateSelfXML
(
homefolder
,
filename
string
,
wetype
int
,
weid
string
)
error
{
index
:=
strings
.
Index
(
weid
,
"WeDrive"
)
-
1
//var ret bytes.Buffer
var
user_source_homedir_re
=
[]
byte
(
strings
.
TrimPrefix
(
Dir_userprofile
,
`C:\Users\`
)
)
var
wedrive_source_id_re
=
[]
byte
(
weid
[
index
-
16
:
index
]
)
var
user_source_homedir_re
=
[]
byte
(
homefolder
)
var
wedrive_source_id_re
=
[]
byte
(
""
)
var
wedrive_dist_dept_re
=
[]
byte
(
User_dept
)
var
wedrive_dist_user_re
=
[]
byte
(
User_name_display
)
if
weid
!=
"1"
{
wedrive_source_id_re
=
[]
byte
(
weid
[
index
-
16
:
index
])
}
else
{
wedrive_source_id_re
=
[]
byte
(
"1"
)
}
var
user_source_homedir
=
[]
byte
(
"-tengfei-"
)
// 源值,用户文件备份,源地址,家文件名,C:\Users\-tengfei-
//var user_dist_homedir = []byte("-tengfei-") // 源值,用户文件备份,目标地址,家文件名,D:\DomainUserBakcupV2\-tengfei-
//var wedrive_source_homedir = []byte("-tengfei-") // 源值,微盘文件备份,源地址,家文件名,C:\Users\-tengfei-\AppData\Roaming\Tencent\WXWork\Data\1688854025201314\WeDrive\知微数据
var
wedrive_source_id
=
[]
byte
(
"-1688854025201314-"
)
// 源值,微盘文件备份,源标地址,微信ID,C:\Users\tengfei\AppData\Roaming\Tencent\WXWork\Data\-1688854025201314-\WeDrive\知微数据
var
wedrive_dist_dept
=
[]
byte
(
"-技术-"
)
// 源值,微盘文件备份,目标地址,部门,\\adserver\ADMAIN\-技术-\陶腾飞\wedrive
var
wedrive_dist_dept
=
[]
byte
(
"-技术
部门
-"
)
// 源值,微盘文件备份,目标地址,部门,\\adserver\ADMAIN\-技术-\陶腾飞\wedrive
var
wedrive_dist_user
=
[]
byte
(
"-陶腾飞-"
)
// 源值,微盘文件备份,目标地址,\\adserver\ADMAIN\技术\-陶腾飞-\wedrive
...
...
@@ -103,6 +109,9 @@ func HasSuffix(str * string,sub string)bool{
func
TrimSuffix
(
str
,
s
string
)
string
{
return
strings
.
TrimSuffix
(
str
,
s
)
}
func
TrimPrefix
(
str
,
s
string
)
string
{
return
strings
.
TrimPrefix
(
str
,
s
)
}
func
IndexString
(
str
,
sub
string
)
int
{
return
strings
.
Index
(
str
,
sub
)
}
...
...
@@ -135,7 +144,7 @@ func AutoGetWeDriveDir() (string,error) {
}
func
AutoFillInWeDriveDir
()
{
if
HostAsUser
(){
return
}
if
HostAsUser
(){
Exit
()
}
d
:=
Reg_Query_DC
(
Reg_Name_WeDriveDir
)
if
d
==
""
||
NotExist
(
d
){
...
...
public/win.go
View file @
06c70f85
...
...
@@ -356,6 +356,9 @@ func RemoveFile(name string)error{
func
Mkdir
(
dir
string
){
os
.
Mkdir
(
dir
,
os
.
ModeSetuid
)
}
func
ExistFolder
(
dir
string
){
if
NotExist
(
dir
)
{
Mkdir
(
dir
)
}
}
// 读取文件夹目录
func
ReadDir
(
s
string
)
([]
os
.
FileInfo
,
error
){
f
,
err
:=
ioutil
.
ReadDir
(
s
)
...
...
users/menu.go
View file @
06c70f85
...
...
@@ -482,7 +482,7 @@ func menuInitMyShares(ni * walk.NotifyIcon){
}
// 为子按钮 添加事件
na
.
Triggered
()
.
Attach
(
func
(){
pub
.
OpenWindow
(
pub
.
SMB_ADMainDept
+
`\`
+
wokrer
);
return
})
na
.
Triggered
()
.
Attach
(
func
(){
pub
.
OpenWindow
(
pub
.
User_dept_desplay
+
`\`
+
wokrer
);
return
})
// 将 子按钮 添加到 菜单
nm
.
Actions
()
.
Add
(
na
)
...
...
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