官网:everauto.net
使用ztasker完成网易云的自动化,新拨号+新虚拟机+新安装网易云客户端+新访客新播放!!!
绿色版:
zTasker_2.1.8.zip
歌曲列表.txt
歌曲名随机到右键.zip
环境:
esxi底层克隆虚拟机 + winbat拉取ztasker + zatasker自动化网易云
1.esxi底层克隆虚拟机
2.winbat拉取ztasker
3.zatasker自动化网易云
第一步,esxi底层创建虚拟机
esxi自动化脚本,实现自动克隆虚拟机及删除虚拟机动作
创建虚拟机脚本,路径根据需求修改!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 | #!/bin/bash
#先删除虚拟机再创建虚拟机
# 源虚拟机信息
SOURCE_DATASTORE="WD_1T_1"
SOURCE_VM_NAME="WIN10_21H2_WYY"
SOURCE_VM_PATH="/vmfs/volumes/${SOURCE_DATASTORE}/${SOURCE_VM_NAME}"
# 目标虚拟机信息
TARGET_DATASTORE="WD_1T_1"
TARGET_VM_NAME="WIN10_21H2_DEMO"
TARGET_VM_PATH="/vmfs/volumes/${TARGET_DATASTORE}/${TARGET_VM_NAME}"
#########################################################
###删除虚拟机
VMID_DEL=`vim-cmd vmsvc/getallvms|grep "$TARGET_VM_NAME"|awk '{print $1}'`
if [ ! -z $VMID_DEL ];then
vim-cmd vmsvc/power.off $VMID_DEL
vim-cmd vmsvc/power.off $VMID_DEL
vim-cmd vmsvc/unregister $VMID_DEL
fi
rm -rf $TARGET_VM_PATH
###创建目标虚拟机目录
mkdir -p ${TARGET_VM_PATH}
# 克隆磁盘
vmkfstools -i ${SOURCE_VM_PATH}/${SOURCE_VM_NAME}.vmdk ${TARGET_VM_PATH}/${TARGET_VM_NAME}.vmdk -d thin
# 克隆配置文件
cp ${SOURCE_VM_PATH}/${SOURCE_VM_NAME}.vmx ${TARGET_VM_PATH}/${TARGET_VM_NAME}.vmx
# 修改配置文件中的磁盘路径
#sed -i "s|${SOURCE_VM_NAME}.vmdk|${TARGET_VM_NAME}.vmdk|g" ${TARGET_VM_PATH}/${TARGET_VM_NAME}.vmx
sed -i "/scsi0:0.fileName/c scsi0:0.fileName = \"${TARGET_VM_NAME}.vmdk\"" ${TARGET_VM_PATH}/${TARGET_VM_NAME}.vmx
# 修改配置文件中的虚拟机名称
sed -i "s|displayName = \"${SOURCE_VM_NAME}\"|displayName = \"${TARGET_VM_NAME}\"|g" ${TARGET_VM_PATH}/${TARGET_VM_NAME}.vmx
# 生成新的 UUID
NEW_UUID=$(openssl rand -hex 16 | sed 's/\(........\)\(....\)\(....\)\(....\)\(............\)/\1-\2-\3-\4-\5/')
NEW_UUID_PART1=$(echo $NEW_UUID | cut -d'-' -f1 | sed 's/\(..\)\(..\)\(..\)\(..\)/\1 \2 \3 \4/')
NEW_UUID_PART2=$(echo $NEW_UUID | cut -d'-' -f2 | sed 's/\(..\)\(..\)/\1 \2/')
NEW_UUID_PART3=$(echo $NEW_UUID | cut -d'-' -f3 | sed 's/\(..\)\(..\)/\1 \2/')
NEW_UUID_PART4=$(echo $NEW_UUID | cut -d'-' -f4 | sed 's/\(..\)\(..\)/\1 \2/')
NEW_UUID_PART5=$(echo $NEW_UUID | cut -d'-' -f5 | sed 's/\(..\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1 \2 \3 \4 \5 \6/')
FORMATTED_UUID="${NEW_UUID_PART1}-${NEW_UUID_PART2}-${NEW_UUID_PART3}-${NEW_UUID_PART4}-${NEW_UUID_PART5}"
# 修改 uuid.bios
sed -i "s|uuid.bios = \".*\"|uuid.bios = \"${FORMATTED_UUID}\"|g" ${TARGET_VM_PATH}/${TARGET_VM_NAME}.vmx
# 修改 uuid.location
sed -i "s|uuid.location = \".*\"|uuid.location = \"${FORMATTED_UUID}\"|g" ${TARGET_VM_PATH}/${TARGET_VM_NAME}.vmx
# 生成新的网卡 MAC 地址
NEW_MAC=$(printf '%02x:%02x:%02x:%02x:%02x:%02x\n' $((RANDOM%256)) $((RANDOM%256)) $((RANDOM%256)) $((RANDOM%256)) $((RANDOM%256)) $((RANDOM%256)))
# 假设只有一个网卡,修改配置文件中的网卡 MAC 地址
sed -i "s|ethernet0.generatedAddress = \".*\"|ethernet0.generatedAddress = \"${NEW_MAC}\"|g" ${TARGET_VM_PATH}/${TARGET_VM_NAME}.vmx
# 注册虚拟机
VMID=$(vim-cmd solo/registervm ${TARGET_VM_PATH}/${TARGET_VM_NAME}.vmx)
echo "Registered VM with ID: ${VMID}"
# 启动虚拟机(可选)
vim-cmd vmsvc/power.on ${VMID}
|
删除虚拟机脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 | #!/bin/bash
#删除虚拟机
# 目标虚拟机信息
TARGET_DATASTORE="WD_1T_1"
TARGET_VM_NAME="WIN10_21H2_DEMO"
TARGET_VM_PATH="/vmfs/volumes/${TARGET_DATASTORE}/${TARGET_VM_NAME}"
#########################################################
###删除虚拟机
VMID_DEL=`vim-cmd vmsvc/getallvms|grep "$TARGET_VM_NAME"|awk '{print $1}'`
if [ ! -z $VMID_DEL ];then
vim-cmd vmsvc/power.off $VMID_DEL
sleep 1
vim-cmd vmsvc/power.off $VMID_DEL
sleep 1
vim-cmd vmsvc/unregister $VMID_DEL
fi
rm -rf $TARGET_VM_PATH
|
dsm7.2控制脚本(可选)
esxi_wangyiyun.zip
ikuai8重新拨号脚本(可选)
依赖python(reboot是参数):python /volume1/demo/python_cmd/route_ctl/route_ctl.py reboot
route_ctl.py.zip
第二步,winbat拉取ztasker
使用bat拉取安装包,用户自动化,如果镜像以带安装包可以跳过!我这里只是方便后期调整zatasker自动化脚本使用!
2.1拉取init脚本
使用url环境,拉取初始化脚本
| @echo off
SET REMOTE_FILE=ftp://192.168.68.234/auto_base.bat
SET LOCAL_FILE=C:\auto_base.bat
::::::::::::::::::::
::win10自带curl拉取ftp文件
curl -o %LOCAL_FILE% %REMOTE_FILE%
::启动bat
start %LOCAL_FILE%
|
2.2拉取base脚本
两种拉取方式,根据自己环境选择:
第一种,url环境:通过匿名的ftp使用url拉取文件后,使用win10自带tar解压,auto_base.bat如下
| @echo off
SET REMOTE_FILE=ftp://192.168.68.234/auto.zip
SET LOCAL_FILE=C:\auto.zip
SET LOCAL_DIR=C:\
::::::::::::::::::::
::win10自带curl拉取ftp文件
curl -o %LOCAL_FILE% %REMOTE_FILE%
::win10自带tar解压目录
tar -xf %LOCAL_FILE% -C %LOCAL_DIR%
::启动ztasker自动化任务
start C:\auto\zTasker_2.1.8\zTasker.exe
|
第二种,smb环境:通过smb协议拉取目录,auto_base.bat脚本如下:
注:修改自己的远端路径,且远端要拷贝的目录不能有中文,否则xcopy命令会有异常!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | ::指定目录
SET REMOTE_DIR=\\192.168.68.234\Download\auto\*.*
SET LOCAL_DIR=C:\auto
::文件
SET ZTASK_PATH=%LOCAL_DIR%\zTasker_2.1.8\zTasker.exe
::创建本地目录
md %LOCAL_DIR%
::拷贝远端到本地,E参数拷贝所以目录及文件,Y参数忽略提示输入Y
xcopy %REMOTE_DIR% %LOCAL_DIR% /E /Y
::启动ZTASK
start %ZTASK_PATH%
|
第三步,zatasker自动化网易云
整体打包为auto.zip,解压C盘即可
auto.zip.001
auto.zip.002
auto.zip.003
auto.zip.004
auto.zip.005
auto.zip.006
auto.zip.007