字体安装2.0
由于字体安装之前的批处理采用字体文件复制到c:\windows\fonts下再注册注册表的方式,一部分字体安装不上,重新修改了批处理方式。

一. 字体安装批处理
1.vbs脚本运行安装D:\fonts下的字体安装包,安装时fonts.vbs同时会检测C:\windows\fonts\字体名称与D:\fonts里的字体名是否一致,如果存在则忽略掉。缺点:若是表面字体名不一致,会提示重复安装,手动单击选择即可。
参考的事例:
http://blog.jasondahmen.com/2011/11/24/the-true-ultimate-font-install-for-windows-7-and-xp-vbs/
代码如下fonts.vbs
Option Explicit
' Installing multiple Fonts in Windows 7
' http://www.cloudtec.ch 2011
' Edited by Jason Dahmen

Dim objShell, objFSO, wshShell
Dim strFontSourcePath, objFolder, objFont, objNameSpace, objFile

Set objShell = CreateObject("Shell.Application")
Set wshShell = CreateObject("WScript.Shell")
Set objFSO = createobject("Scripting.Filesystemobject")

strFontSourcePath = "D:\fonts\"
If objFSO.FolderExists(strFontSourcePath) Then
If objFSO.FolderExists("C:\Users\") Then
' Start Windows 7/Vista
Set objNameSpace = objShell.Namespace(strFontSourcePath)
Set objFolder = objFSO.getFolder(strFontSourcePath)
For Each objFile In objFolder.files
If LCase(right(objFile,4)) = ".ttf" OR LCase(right(objFile,4)) = ".otf" OR LCase(right(objFile,4)) = ".ttc" Then
Set objFont = objNameSpace.ParseName(objFile.Name)
If objFSO.FileExists("C:\WINDOWS\Fonts\" & objFile.Name) = False Then
objFont.InvokeVerb("Install")
Set objFont = Nothing
Else
End If
End If
Next
Else
' Start Windows XP
Set objNameSpace = objShell.Namespace(strFontSourcePath)
Set objFolder = objFSO.getFolder(strFontSourcePath)
For Each objFile In objFolder.files
If LCase(right(objFile,4)) = ".ttf" OR LCase(right(objFile,4)) = ".otf" OR LCase(right(objFile,4)) = ".ttc" Then
Set objFont = objNameSpace.ParseName(objFile.Name)
If objFSO.FileExists("C:\WINDOWS\Fonts\" & objFile.Name) = False Then
objFSO.CopyFile "D:\fonts*", "c:\windows\fonts\"
Set objFont = Nothing
Else
End If
End If
Next
End If
Else
Wscript.Echo "Font Source Path does not exists"
End IF

注意:安装只包含ttf,otf,ttc三种字体文件,可以自己在代码加字体后缀( If LCase(right(objFile,4)) = ".ttf" OR LCase(right(objFile,4)) = ".otf" OR LCase(right(objFile,4)) = ".ttc" Then),满足95%,特殊类型的字体安装再扩展。

  1. 使用vbs封装成exe文件工具,封装vbs脚本,命名可执行文件的fonts.exe。
    (bat不能直接运行VBS,水平有限直接做成了exe来执行)
    下载地址:https://download.csdn.net/download/qq_16066381/9760279

二.使用Quick_Batch_File_Compiler封装以管理员运行的批处理.批处理用到lsrunas.exe加密域管理员密码来运行fonts.exe

  1. 代码:Fonts-intsall.bat
    @echo off
    if "%1"=="h" goto begin
    start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
    :begin
    \10.10.12.201\soft\install\lsrunase\lsrunase.exe /user:administrator /password:3lp9huRP3uydxg== /domain:zzecwwmir.com /command:d:\fonts\fonts.exe /runpath:d:\fonts\
    rem 利用lsrunase调用域管理员权限来运行本地自解压文件完成软件安装rem 利用lsrunase调用域管理员权限来运行本地自解压文件完成软件安装

参考lsrunase.exe
https://www.cnblogs.com/colinliu/p/5666715.html

2.Quick_Batch_File_Compiler封装命名为 双击本软件_安装字体.exe

三.介于软件bug,做了其他辅助性的批处理来完善使用
字体提示已安装太多情况1.强制结束安装进程,2.清理fonts下已安装的字体

11强制结束_安装字体.bat
@echo off
taskkill /f /im fonts.exe
结束字体安装进程

12删除以前的文件里的字体安装文件.bat
@echo off
del /f /q /a /s D:\fonts*.otf
del /f /q /a /s D:\fonts*.ttf
del /f /q /a /s D:\fonts*.fon
del /f /q /a /s D:\fonts*.ttc
rem 删除字体

Desk.bat 删除之前的快捷方式,创建新的快捷方式,并运行完删除自己
@echo off
copy /y "D:\fonts\安装字体.lnk" c:\users\public\desktop
rem 在公共桌面创建快捷方式
ping 127.1 -n 2 >nul
del D:\fonts\安装字体.lnk
del /f /q /a /s %0
rem 删除批处理本身

四.封装自解压
自解压的封装方法百度一下。

1.解压后的Fonts.exe 属性隐藏,防止误删
2.注意命名的安装软件排在所有文件前面。字体文件很多情况下,会造成找不到

五.宣导,或者编辑安装方法文档。

转载于:https://blog.51cto.com/6829081/2403841

域环境users提权调用lsrunase.exe 批处理完成安装字体相关推荐

  1. DVWA windows提权

    环境: 域控:winser 08 域靶机:win xp,win 7 (dvwa装在win7) 攻击机:win10,kali2020 不知道从哪里提权开始那就从文件上传吧. 突然来了兴趣,对靶机进行ne ...

  2. (59.2)【Windows提权】权限等级、PSTools提权、at命令提权、sc命令提权

    目录 一.权限分配 1.1.Windows: 1.2.Linux 二.PSTools提权 2.1.简介: 2.2.微软官网: 2.3.PsExec提权: 三.at命令提权 3.1.原理: 3.2.适用 ...

  3. 张小白的渗透之路(十一)--windows提权详解

    windows基础命令 systeminfo | findstr OS **#获取系统版本信息** hostname **#获取主机名称** whomai /priv **#显示当前用户的安全特权** ...

  4. 内网渗透总结一:第一步提权

    文章出处:奇安信攻防社区-实战遇见到的好用提权方法合集 (butian.net) 权限提升全集 写在前面 权限提升对我们在深度渗透过程中起着重要作用,接下来我将介绍web提权.本地提权.数据库提权.l ...

  5. 【数据库提权】- SQL Server提权

    渗透测试往往由信息收集开始,而提权是渗透测试中较为重要的环节,若始终以"低权限"身份进行渗透,测试出的问题相对于高权限的质量会低很多,权限提升意味着用户获得不允许他使用的权限.比如 ...

  6. Windows提权方法简单总结

    目录 前言 一.本地提权 系统内核溢出漏洞提权 错误系统配置提权 可信任服务路径漏洞 系统服务权限配置错误 计划任务提权 GPP组策略首选项提权 令牌窃取 数据库提权 二.域内提权 MS14-068 ...

  7. Windows内核实验001 中断提权

    文章目录 实验环境 内核提权 IDT的基本知识 什么是中断 什么是IDT表 在PC Hunter中查看IDT表 中断提权的基本原理 写一个三环的小程序 修改IDT表 提权测试 本篇文章基于周壑老师的讲 ...

  8. 渗透学什么?渗透测试中超全的提权思路来了!

    雨笋小编又来分享渗透测试干货了,感兴趣的伙伴们惠存! 提权Webshell:尽量能够获取webshell,如果获取不到webshell可以在有文件上传的地方上传反弹shell脚本:或者利用漏洞(系统漏 ...

  9. Linux 提权总结

    https://cloud.tencent.com/developer/article/1942516 sudo 和 suid 提权 何为suid 可见在权限位置有一个s权限.那么这个s的作用是什么呢 ...

最新文章

  1. Cowboy 源码分析(一)
  2. 拿着锤子找钉子,数字芯片领导者比特大陆进军人工智能
  3. android sdk更新代理设置
  4. 每天学一点flash(75) ToolTip 提示
  5. Python爬虫的经典多线程方式,生产者与消费者模型
  6. 域名该怎样选_如何正确选择域名?应该考虑哪些因素?
  7. 一些简单的Linux命令
  8. java重载函数_JAVA函数的重载和重写
  9. curviloft插件怎么用_【su】插件及其功能图示
  10. Jenkins 之插件 Publish JUint test result reports 的使用
  11. 国内国外很火爆的代码生成器
  12. Android通讯录管理(获取联系人、通话记录、短信消息)(一)
  13. Unity协程(Coroutine)之yield和迭代原理分析
  14. linux tc 限制带宽,使用TC 对LINUX服务器网卡进行带宽限制的办法
  15. Mysql-mmm 架构部署
  16. 超级玛丽跳 时间的优化
  17. 无服务器搭建Artalk评论系统后端
  18. CDH添加ELASTICSEARCH服务elasticsearch-cdh-parcels
  19. WSA工具箱安装应用商店提示无法工作怎么解决?
  20. 使用命令行打开应用程序

热门文章

  1. Bloc入门之Cubit详解
  2. 思杰改进图形以提升虚拟桌面性能
  3. 目前超级计算机国内外发展状况,浅谈超级计算机发展的过程及研究现状
  4. java语言数学_Java语言实现小学数学练习
  5. 【MSSQL】SQL SERVER导入中文乱码问题解决
  6. 9.20-9.30面试总结
  7. asp.net在线考试系统实习报告
  8. CSS的作用与各种样式
  9. Numbers for Mac(电子表格制作)
  10. python映射类型是什么意思_Python中字典映射类型的学习教程